Virtualization With KVM On An OpenSUSE 12.1 Server
|
Submitted by falko (Contact Author) (Forums) on Sun, 2012-03-25 19:39. :: KVM | SuSE | Virtualization
Virtualization With KVM On An OpenSUSE 12.1 ServerVersion 1.0 This guide explains how you can install and use KVM for creating and running virtual machines on an OpenSUSE 12.1 server. I will show how to create image-based virtual machines and also virtual machines that use a logical volume (LVM). KVM is short for Kernel-based Virtual Machine and makes use of hardware virtualization, i.e., you need a CPU that supports hardware virtualization, e.g. Intel VT or AMD-V. I do not issue any guarantee that this will work for you!
1 Preliminary NoteI'm using an OpenSUSE 12.1 server with the hostname server1.example.com and the IP address 192.168.0.100 here as my KVM host. We also need a desktop system where we install virt-manager so that we can connect to the graphical console of the virtual machines that we install. I'm using an OpenSUSE 12.1 desktop here.
2 Installing KVMOpenSUSE 12.1 KVM Host: First check if your CPU supports hardware virtualization - if this is the case, the command egrep '(vmx|svm)' --color=always /proc/cpuinfo should display something, e.g. like this: server1:~ # egrep '(vmx|svm)' --color=always /proc/cpuinfo If nothing is displayed, then your processor doesn't support hardware virtualization, and you must stop here. One of the dependencies that gets installed when we install KVM is Python 2.7, but Python 2.7 conflicts with the package patterns-openSUSE-minimal_base-conflicts. Therefore we must uninstall that package first. To do so, start YaST: yast2 In YaST, go to Software > Software Management: Type patterns-openSUSE-minimal_base-conflicts in the Search field and press ENTER. The package should be listed as installed (i) in the main window. Mark the package and press the ENTER key until there's a minus (-) sign in front of the package (the minus stands for uninstall), then hit [Accept]: Leave YaST afterwards. To install KVM and virtinst (a tool to create virtual machines), we run yast2 -i kvm libvirt libvirt-python qemu virt-manager Then create the system startup links for libvirtd... systemctl enable libvirtd.service ... and start the libvirt daemon: systemctl start libvirtd.service To check if KVM has successfully been installed, run virsh -c qemu:///system list It should display something like this: server1:~ # virsh -c qemu:///system list If it displays an error instead, then something went wrong. Next we need to set up a network bridge on our server so that our virtual machines can be accessed from other hosts as if they were physical systems in the network. To do this, we install the package bridge-utils... yast2 -i bridge-utils ... and configure a bridge. To configure the bridge, create the file /etc/sysconfig/network/ifcfg-br0 as follows (make sure you use the IPADDR setting from the /etc/sysconfig/network/ifcfg-eth0 file): vi /etc/sysconfig/network/ifcfg-br0
(If you get the message You do not have a valid vim binary package installed. Please install either "vim", "vim-enhanced" or "gvim"., please run yast2 -i vim to install vi and try again. ) Modify /etc/sysconfig/network/ifcfg-eth0 as follows (set IPADDR to 0.0.0.0 and change STARTMODE to hotplug): vi /etc/sysconfig/network/ifcfg-eth0
Then restart the network: systemctl restart network.service Afterwards, run ifconfig It should now show the network bridge (br0): server1:~ # ifconfig
3 Installing virt-manager On Your OpenSUSE 12.1 DesktopOpenSUSE 12.1 Desktop: We need a means of connecting to the graphical console of our guests - we can use virt-manager for this. I'm assuming that you're using an OpenSUSE 12.1 desktop. Become root... su ... and run... yast2 -i virt-manager libvirt ... to install virt-manager. (If you're using an Ubuntu 11.10 desktop, you can install virt-manager as follows: sudo apt-get install virt-manager )
4 Creating A Debian Squeeze Guest (Image-Based)OpenSUSE 12.1 KVM Host: Now let's go back to our OpenSUSE 12.1 KVM host. Take a look at virt-install --help to learn how to use it. We will create our image-based virtual machines in the directory /var/lib/libvirt/images/ which was created automatically when we installed KVM in chapter two. To create a Debian Squeeze guest (in bridging mode) with the name vm10, 512MB of RAM, two virtual CPUs, and the disk image /var/lib/libvirt/images/vm10.img (with a size of 12GB), insert the Debian Squeeze Netinstall CD into the CD drive and run virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/vm10.img,size=12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm Of course, you can also create an ISO image of the Debian Squeeze Netinstall CD (please create it in the /var/lib/libvirt/images/ directory because later on I will show how to create virtual machines through virt-manager from your OpenSUSE 12.1 desktop, and virt-manager will look for ISO images in the /var/lib/libvirt/images/ directory)... dd if=/dev/cdrom of=/var/lib/libvirt/images/debian-6.0.0-amd64-netinst.iso ... and use the ISO image in the virt-install command: virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/vm10.img,size=12 -c /var/lib/libvirt/images/debian-6.0.0-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm The output is as follows: server1:~ # virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/vm10.img,size=12 -c /var/lib/libvirt/images/debian-6.0.0-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm
|






Recent comments
8 hours 53 min ago
13 hours 58 min ago
18 hours 23 min ago
20 hours 11 min ago
1 day 10 hours ago
1 day 10 hours ago
1 day 15 hours ago
1 day 22 hours ago
1 day 22 hours ago
2 days 10 min ago