⇤ ← Revision 1 as of 2012-08-10 15:18:38
5550
Comment: libvirt and xen how to virtualize - working tutorial -
|
5554
fixed table of content- added screenshot of windows7 fully virtuilized
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
[[TableOfContents(4)]] | <<TableOfContents(4)>> |
Line 101: | Line 101: |
attachment:windows7.png | [[attachment:windows7.png]] |
Contents
Installing Xen
CPU BIOS Requirements
Virtualization extensions need to be enabled in the BIOS. If not already enabled in BIOS, enable it.
CPU needs to have virtualization extensions.
To check Intel CPU:
cat /proc/cpuinfo | grep vmx
AMD CPU:
cat /proc/cpuinfo | grep smv
For XEN kernel, check output of the following for 'hvm':
cat /sys/hypervisor/properties/capabilities
Debian 6.0 Install Xen
apt-get install xen-linux-system xen-qemu-dm xen-utils
Boot Xen kernel by default
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
Firewall
Management tools
apt-get install libvirt-bin
*Change the default location to /home/xen/images: Edit:
vi /etc/libvirt/storage/default.xml
And change the location. Reason I'm doing that is my home partition has 80Gb while / (root) partition has only 5gb.
#from: /var/lib/libvirt/images/ #to /home/xen/images
apt-get install virt-manager
* If you want to connect over ssh tunner you need:
aptitude install ssh-askpass
On debian squeeze the default value for this parameter is “no” which means that communication and management toos Such as “Virt Manager” can not access the Hypervisor. 1. You need to uncomment it and change the value to “yes” – (xend-unix-server yes) 2. Restart xend to apply the new configuration: xend restart
Start Networking
- To start the default network do:
virsh net-start default #or virsh net-autostart default
Installing new guest OS
Create iso from cdrom
dd if=/dev/cdrom of=~/cd_image.iso
Windows 7
Maintenance
Extending xen raw_storage_volume
Starting Networking
- To start the default network do:
virsh net-start default #or virsh net-autostart default
- Done.
- *The libvirt-bin package comes with this default network defined here: /etc/libvirt/qemu/networks/default.xml
- *If you remove the network or this file is missing you will need to recreate it manually.The default.xml contains:
<network> <name>default</name> <bridge name="virbr0" /> <forward/> <ip address="192.168.122.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.122.2" end="192.168.122.254" /> </dhcp> </ip> </network>
Disable virbr0
ifconfig
- Make sure the virbr0 is listed
virsh net-list
- make sure default is listed. Below will delete /etc/libvirt/qemu/networks/default.xml . Make a copy before you delete it otherwise the only way to get it back is to purge libvirt-bin libvirt0 and reinstall.
virsh net-destroy default virsh net-undefine default service libvirtd restart ifconfig
Errors
Error creating domain: device model '/usr/lib64/xen/bin/qemu-dm' not found
Unable to complete install '<class 'libvirt.libvirtError'> POST operation failed: xend_post: error from xen daemon: (xend.err "Error creating domain: device model '/usr/lib64/xen/bin /qemu-dm' not found")
Solution:
mkdir /usr/lib64/xen/ ln -s /usr/lib/xen-4.0/bin /usr/lib64/xen/bin
iptables bad rule
Also similar error irtual network 'default' does not exist: Network not found: no network with matching name
libvirtError: internal error '/sbin/iptables --table filter --delete INPUT --in-interface virbr0 --protocol udp --destination-port 69 --jump ACCEPT' exited with non-zero status 1 and signal 0: iptables: Bad rule (does a matching rule exist in that chain?).
Solution
This is trying to bound to interface virbr0. If for some reason you didn't start the network you will get this error. Start the network:
virsh net-start default #or autostart it virsh net-autostart default
- Check if networks got started:
ifconfig
- Done
- Couple other helpful commands:
virsh net-dumpxml default
Helpfull bug notes [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=592177 592177], [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=540018 540018], [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514803 514803],[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=606066 606066], [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=547554 547554]
**Notes (Looks like these steps are not needed):
**trying to test this. read: vi /usr/share/doc/libvirt-bin/README.Debian
- Need to modify the dnsmasq to support libvirt and only connect to localhost. Run this on a command line as root
aptitude install dnsmasq-base bridge-utils iptables cat <<EOF >/etc/dnsmasq.d/00_libvirtd.conf # only bind to loopback by default interface=lo bind-interfaces EOF
- This makes dnsmasq only bind to the loopback interface by default so libvirtd
can handle the virtual bridges.
Sources
http://www.virtuatopia.com/index.php/Installing_and_Running_Windows_7_as_a_Xen_HVM_domainU_Guest
http://www.xen-support.com/?p=415 (Error creating domain: device model '/usr/lib64/xen/bin/qemu-dm' not found)
http://www.tuxarena.com/static/tut_iso_cli.php (cd to .iso)