{"id":2956,"date":"2020-06-12T12:07:56","date_gmt":"2020-06-12T09:07:56","guid":{"rendered":"https:\/\/blog.3kgroup.ee:443\/?p=2956"},"modified":"2020-06-16T09:25:13","modified_gmt":"2020-06-16T06:25:13","slug":"installing-virtual-smartzone-with-linux-kvm","status":"publish","type":"post","link":"https:\/\/blog.3kgroup.ee:443\/?p=2956&lang=en","title":{"rendered":"Installing Virtual SmartZone with Linux KVM."},"content":{"rendered":"\n<p>Virtual SmartZone can be installed on both VMWare and Linux KVM virtualization environments. The Linux layer gives the server more performance and here we describe how the command line installation process was performed on one piece of hardware from the start. First make sure that you enable CPU virtualization capability from the hardware BIOS. Other hardware requirements are min 13GB RAM, 2-4CPU, 100GB SSD.<\/p>\n\n\n\n<p>Ruckus recommends CentOS 7 or later for vSZ, in this example I used CentOS 7.8, minimal installation.<\/p>\n\n\n\n<p>If after the installation you happen to be annoyed with US keyboard layout, here's how to enable for example Estonian keyboard:<\/p>\n\n\n\n<p><code># yum install kbd<\/code><\/p>\n\n\n\n<p><code># loadkeys ee   (or   '#localectl set-keymap ee' for permanent change)<\/code><\/p>\n\n\n\n<p>KVM needs to use the bridge interface for network, configure it first. In this example, the ethernet port is named enp0s25 and the bridge port is named br0. First, we copy one content to another and change the necessary parameters in both.<\/p>\n\n\n\n<p><code># cp \/etc\/sysconfig\/network-scripts\/ifcfg-enp0s25 \/etc\/sysconfig\/network-scripts\/ifcfg-br0<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code># vi \/etc\/sysconfig\/network-scripts\/ifcfg-br0<\/code><\/pre>\n\n\n\n<p>TYPE=\"Bridge\"<br>DEVICE=br0<br>PROXY_METHOD=none<br>BROWSER_ONLY=no<br>BOOTPROTO=static<br>IPADDR=172.28.0.206<br>NETMASK=255.255.255.0<br>GATEWAY=172.28.1.254<br>DNS1=172.28.1.254<br>DEFROUTE=yes<br>IPV4_FAILURE_FATAL=no<br>NAME=br0<\/p>\n\n\n\n<p><span style=\"font-size: inherit;\">UUID=bebd6aa4-6b60-4027-8b4d-daf1ee1086de<\/span><\/p>\n\n\n\n<p>ONBOOT=yes<br>ETHTOOL_OPTS=\"autoneg on\"<br>DHCP=no<\/p>\n\n\n\n<p><code># vi \/etc\/sysconfig\/network-scripts\/ifcfg-enp0s25<\/code><\/p>\n\n\n\n<p>Only one change needed:<\/p>\n\n\n\n<p>BRIDGE=br0<\/p>\n\n\n\n<p>DHCP or static ip configuration is according to your needs.<\/p>\n\n\n\n<p>Now the restart for network is in order to apply the changes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># systemctl restart NetworkManager\n\nchecking:\n# brctl show\n# ip address  (or for example # ip address show br0 )<\/code><\/pre>\n\n\n\n<p>Next you have to install the virtualization software (several packets needed):<\/p>\n\n\n\n<p><code># yum -y install bridge-utils libvirt qemu-img qemu-kvm virt-install<\/code><\/p>\n\n\n\n<p>Start and enable libvirtd:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code># systemctl start libvirtd\n# systemctl enable libvirtd <\/code> \n<\/pre>\n\n\n\n<p>Now we need to download the vSZ image, here is an example of scp in the opposite direction, ie from a Windows to Linux:<\/p>\n\n\n\n<p><code># scp \"Downloads\\vscg-5.2.0.0.699.qcow2 \" root@172.28.0.206:\/var\/lib\/libvirt\/images\/<\/code><\/p>\n\n\n\n<p>You are ready to set up the first virtual server!<\/p>\n\n\n\n<p><code># virt-install --virt-type=kvm --<strong>name vSZ<\/strong> --import      --ram 13631488 --vcpus=4 --os-variant=generic     --network=bridge=br0,model=virtio     --disk path=\/var\/lib\/libvirt\/images\/vscg-5.2.0.0.699.qcow2,size=100,bus=virtio,format=qcow2<\/code><\/p>\n\n\n\n<p>Check if your virtual server is visible after install:<\/p>\n\n\n\n<p><code># virsh list<\/code><\/p>\n\n\n\n<p>and start it:<\/p>\n\n\n\n<p><code># virsh start vSZ<\/code><\/p>\n\n\n\n<p>Now you need to get into the new server's console:<\/p>\n\n\n\n<p><code># virsh console vSZ<\/code><\/p>\n\n\n\n<p>This provides a virtual console window that can be exited by pressing CTRL + Shift and] if necessary.<\/p>\n\n\n\n<p>Next you need to log in to vSZ (admin \/ admin) and start the setup:<\/p>\n\n\n\n<p># setup<\/p>\n\n\n\n<p>The following setup dialogue has some questions and options to configure, first Essential \/ High-Scale and then the network parameters:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"622\" height=\"346\" src=\"https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vsz_setup2.png\" alt=\"\" class=\"wp-image-2946\" srcset=\"https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vsz_setup2.png 622w, https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vsz_setup2-300x167.png 300w\" sizes=\"auto, (max-width: 622px) 100vw, 622px\" \/><\/figure>\n\n\n\n<p>Answer the remaining questions as well, then the server will do some installation:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"623\" height=\"344\" src=\"https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vsz_setup3.png\" alt=\"\" class=\"wp-image-2949\" srcset=\"https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vsz_setup3.png 623w, https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vsz_setup3-300x166.png 300w, https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vsz_setup3-600x331.png 600w\" sizes=\"auto, (max-width: 623px) 100vw, 623px\" \/><\/figure>\n\n\n\n<p>If an error occurs at this stage due to for example insufficient memory allocation (minimum requirement 13GB) then in KVM it may not be understood that the process has stopped - the screen still shows:<\/p>\n\n\n\n<p> Domain installation still in progress. Waiting for installation to complete. <\/p>\n\n\n\n<p> In this case you should manually shutdown the virtual server:<\/p>\n\n\n\n<p><code># virsh shutdown vSZ<\/code><\/p>\n\n\n\n<p>For troubleshooting see the install log:<\/p>\n\n\n\n<p><code># less  \/root\/.cache\/virt-manager\/virt-install.log<\/code><\/p>\n\n\n\n<p>If you need to delete the virtual server:<\/p>\n\n\n\n<p><code> # virsh undefine\u00a0 vSZ<\/code><\/p>\n\n\n\n<p>Useful to start the server automatically after restart:<\/p>\n\n\n\n<p><code> # virsh autostart vSZ <\/code><\/p>\n\n\n\n<p>Ruckus also teaches how to make a new virtual server under KVM via a graphical menu, starting on page 253:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vSZ-5.2-GettingStartedGuide-RevD-20200120.pdf\">vSZ-5.2 Getting Started Guide-20200120<\/a><a href=\"https:\/\/blog.3kgroup.ee:443\/wp-content\/uploads\/2020\/06\/vSZ-5.2-GettingStartedGuide-RevD-20200120.pdf\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p>The GUI is viewed by vnc, the vnc connection number must be obtained in advance:<\/p>\n\n\n\n<p><code># <\/code>virsh vncdisplay vSZ<\/p>\n\n\n\n<p>The guide also shows that you need to install a few more packages first:<\/p>\n\n\n\n<p><code># yum -y install qemu-kvm qemu-img virt-manager virt-viewer virt-install libvirt libvirt-phthon libvirt-client<\/code><\/p>\n\n\n\n<p>Finally, once the command line setup has done its job, further configuration can be done through the web interface Setup Wizard:  http:\/\/xxx.xxx.xxx.xxx:8443 <\/p>\n\n\n\n<p>The installation guide pdf file shows more detailed pictures of Setup Wizard beginning page 219.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Virtual SmartZone can be installed on both VMWare and Linux KVM virtualization environments. The Linux layer gives the server more performance and here we describe how the command line installation [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":2959,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[442],"tags":[629,275],"class_list":["post-2956","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-3k-support-services","tag-linux","tag-smartzone-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=\/wp\/v2\/posts\/2956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2956"}],"version-history":[{"count":7,"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=\/wp\/v2\/posts\/2956\/revisions"}],"predecessor-version":[{"id":3000,"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=\/wp\/v2\/posts\/2956\/revisions\/3000"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=\/wp\/v2\/media\/2959"}],"wp:attachment":[{"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.3kgroup.ee:443\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}