wiki:howto/Virtualisation

Virtualisatie met SYN-3

Eenmalige host voorbereidingen

Vereisten

  • Zorg dat u minimaal SYN-3 versie 4.4.2 heeft
  • Zorg dat uw licentie de Virtualisation module heeft.
  • Zorg dat u hardware-virtualisatie ondersteuning heeft. Dit kunt u zo controleren:
    [Syn-3] root@server.nl ~#  egrep '^flags.*(vmx|svm)' /proc/cpuinfo
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm ida
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm ida
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm ida
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm ida
    

Indien u geen output krijgt heeft u geen ondersteuning.

  • Controleer of u minimaal versie 3.3 heeft van de kvm kernel modules. Oudere versies geven problemen:
    [Syn-3] root@server.nl /sys/module/kvm# cat /sys/module/kvm/version 
    kvm-kmod-3.3
    
  • SYN-3 ondersteund momenteel alleen 32-bits guests.
  • U kunt momenteel maximaal 2047Mb memory per guest toewijzen.

Storage pool definitie

Er moet eerst een storagepool gedefineerd worden, waarin de virtuele disk images opgeslagen kunnen worden. Een simpelle directory kan dienst doen als pool. We gebruiken hiervoor de speciaal bedoelde directory /home/system/kvm:

[Syn-3] root@server ~# mkdir /home/system/kvm/

[Syn-3] root@server ~# virsh pool-define-as kvm dir --target /home/system/kvm/
Pool kvm defined

[Syn-3] root@server ~# virsh pool-autostart kvm
Pool kvm marked as autostarted

[Syn-3] root@server ~# virsh pool-start kvm
Pool kvm started

Virtualisatie met bridging netwerk support

Hierbij worden guest systemen aan een netwerk kaart gekoppeld met behulp van een bridge. Dit betekend dat alle netwerk configuratie en firewalling de verantwoordelijkheid van de guest word.

Op het host systeem hoeven we alleen eenmalig bridging te configuren. Vervolgens kunnen alle KVM's hier gebruik van maken.

  • Ga naar de SCC en verwijder alle IP adressen van de adapter die u wilt gebruiken.
  • Pas /etc/network/network.up als volgt aan en stel hier nu de zojuist verwijderde adressen in:
modprobe tun
brctl addbr kvmbr3 2>/dev/null
ifconfig kvmbr3 up
brctl addif kvmbr3 eth3
ifconfig kvmbr3:1 192.168.0.252 netmask 255.255.255.0
  • Let op: Dit is het IP adres waarop u de SYN-3 server wilt kunnen bereiken, dit IP heeft niks met de guest systemen te maken.
  • Vergeet niet om het script executable te maken.
  • Herstart het netwerk met /etc/rc.d/rc.inet1

Meer info

Guest OS installatie

Guest OS keuze

Het is mogelijk om meteen aan te geven welk guest OS u gaat installeren. Als u dit doet worden er meteen wat handige instellingen en optimisaties gedaan. Een lijst van mogelijke keuzes kunt u zo opvragen:

[Syn-3] root@server ~# virt-install --os-variant list
win7                 : Microsoft Windows 7
vista                : Microsoft Windows Vista
winxp64              : Microsoft Windows XP (x86_64)
winxp                : Microsoft Windows XP
win2k                : Microsoft Windows 2000
win2k8               : Microsoft Windows Server 2008
win2k3               : Microsoft Windows Server 2003
openbsd4             : OpenBSD 4.x
freebsd8             : FreeBSD 8.x
freebsd7             : FreeBSD 7.x
freebsd6             : FreeBSD 6.x
solaris9             : Sun Solaris 9
solaris10            : Sun Solaris 10
opensolaris          : Sun OpenSolaris
netware6             : Novell Netware 6
netware5             : Novell Netware 5
netware4             : Novell Netware 4
msdos                : MS-DOS
generic              : Generic
debiansqueeze        : Debian Squeeze
debianlenny          : Debian Lenny
debianetch           : Debian Etch
fedora16             : Fedora 16
fedora15             : Fedora 15
fedora14             : Fedora 14
fedora13             : Fedora 13
fedora12             : Fedora 12
fedora11             : Fedora 11
fedora10             : Fedora 10
fedora9              : Fedora 9
fedora8              : Fedora 8
fedora7              : Fedora 7
fedora6              : Fedora Core 6
fedora5              : Fedora Core 5
mes5.1               : Mandriva Enterprise Server 5.1 and later
mes5                 : Mandriva Enterprise Server 5.0
mandriva2010         : Mandriva Linux 2010 and later
mandriva2009         : Mandriva Linux 2009 and earlier
rhel6                : Red Hat Enterprise Linux 6
rhel5.4              : Red Hat Enterprise Linux 5.4 or later
rhel5                : Red Hat Enterprise Linux 5
rhel4                : Red Hat Enterprise Linux 4
rhel3                : Red Hat Enterprise Linux 3
rhel2.1              : Red Hat Enterprise Linux 2.1
sles11               : Suse Linux Enterprise Server 11
sles10               : Suse Linux Enterprise Server
ubuntuoneiric        : Ubuntu 11.10 (Oneiric Ocelot)
ubuntunatty          : Ubuntu 11.04 (Natty Narwhal)
ubuntumaverick       : Ubuntu 10.10 (Maverick Meerkat)
ubuntulucid          : Ubuntu 10.04 (Lucid Lynx)
ubuntukarmic         : Ubuntu 9.10 (Karmic Koala)
ubuntujaunty         : Ubuntu 9.04 (Jaunty Jackalope)
ubuntuintrepid       : Ubuntu 8.10 (Intrepid Ibex)
ubuntuhardy          : Ubuntu 8.04 LTS (Hardy Heron)
virtio26             : Generic 2.6.25 or later kernel with virtio
generic26            : Generic 2.6.x kernel
generic24            : Generic 2.4.x kernel

Nieuwe virtuele machine aanmaken

In dit voorbeeld gaan we een Windows 2003 server als guest installeren in kvm:

[Syn-3] root@server ~# virt-install --connect qemu:///system --autostart --virt-type kvm --name windows1 --ram 2047 --disk path=/home/system/kvm/windows1.img,format=qcow2,size=40 --graphics vnc,listen=0.0.0.0,password=ditiseentest  --cdrom /home/system/isos/2003R2.iso --os-variant win2k --network bridge=kvmbr3 --noautoconsole --vcpus 2 --cpu host

Starting install...
Allocating 'windows1.img'                                                                                                                                                                                                                               |  40 GB     00:00     
Creating domain...                                                                                                                                                                                                                                      |    0 B     00:04     
Domain installation still in progress. Waiting for installation to complete.

  • --name is de naam van de machine. (windows1)
  • --disk path= geeft aan waar u de virtuele disk wilt maken en hoe groot (40Gig)
  • password= stelt het vnc password in om naar de console van de machine te kunnen connecten
  • --os-variant geeft aan welk OS type u gaat installeren
  • --cdrom geeft het path aan naar de installatie iso-file
  • --vcpus geeft het aantal toe te wijzen CPUs aan.
  • --ram geeft de hoeveelheid geheugen aan. (max 2047Mb)

virt-inst blijft nu wachten totdat u klaar bent met installeren. (na de eerste reboot)

U dient nu zelf een connectie te maken om het guest OS daadwerkelijk te installeren. (zie hieronder)

Connectie met de machine maken

Zodra een machine gestart is kunt u via een vncclient een connectie maken met de console. De eerste machine draait op poort 5900.

Vergeet poort 5900 open te zetten op uw SYN-3 machine, zodat u er vanaf de LAN bij kan.

Gebruik het opgegeven password om te authenticeren.

Snapshot maken

In virsh kunt u een snapshot maken van de huidige situatie. Mocht er iets mis gaan bij het installeren van drivers of iets degelijks, dan kunt u altijd terug naar deze snapshot.

[Syn-3] root@server /home/system/kvm# virsh 
Welcome to virsh, the virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit

virsh # help snapshot-create-as 
  NAME
    snapshot-create-as - Create a snapshot from a set of args

  SYNOPSIS
    snapshot-create-as <domain> [<name>] [<description>] [--print-xml] [--no-metadata] [--halt] [--disk-only] [--reuse-external] [--quiesce] [[--diskspec] <string>]...

  DESCRIPTION
    Create a snapshot (disk and RAM) from arguments

  OPTIONS
    [--domain] <string>  domain name, id or uuid
    [--name] <string>  name of snapshot
    [--description] <string>  description of snapshot
    --print-xml      print XML document rather than create
    --no-metadata    take snapshot but create no metadata
    --halt           halt domain after snapshot is created
    --disk-only      capture disk state but not vm state
    --reuse-external  reuse any existing external files
    --quiesce        quiesce guest's file systems
    [--diskspec] <string>  disk attributes: disk[,snapshot=type][,driver=type][,file=name]


virsh # snapshot-create-as windows1 
Domain snapshot 1336485395 created

Dit kan enige tijd duren!

IO performance verbeteren

Door speciale IO-drivers te installeren kan de performance van de guest aanzienelijk verbeterd worden.

Voor Windows vind u deze drivers hier: http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

Voor linux guests is het vaak voldoende om open-vm-tools via uw package manager te installeren. (zie http://open-vm-tools.sourceforge.net/)

Een ISO file aankopelen als CDROM drive doet u in virsh als volgt:

virsh # attach-disk windows1 /home/system/isos/virtio-win-0.1-22.iso hdc --type cdrom --mode readonly
Disk attached successfully


Last modified 5 years ago Last modified on 07/17/12 13:55:15