Virtualizácia - proces ked v jednom operačnom systéme spustíme pomocou virtalizačného systému iný OS.
Dôvody:Virtualizácia má rôzne stupne v závislosti na tom, ako veľmi je hosťovaný systém nezávislý na hostiteľskom.
Pojmy:+----------+----------+ +----------+ | Private | Private | | Private | | server | server | ... | server | | | | | | +----------+----------+------------+----------+ | Operating system | +---------------------------------------------+ | Hardware | +---------------------------------------------+
Pracuje na podobnom princípe ako chroot, len je to silnejšie.
Zakázané vytvárať blokové a znakové zariadenia, nahrávať moduly do jadra, mount/umount, modifikovať sieťovú konfiguráciu (interface, adresy, routovacie tabulky). Procesy v jednom jaily nevidia procesy v inom.
Vychádza z virtuozzo, ktoré je proprietárne, avšak OpenVZ je pod GPL. Funguje podobne ako jail.
Navyše:+----------+----------+----------+ | Apps | Apps | Apps | +----------+----------+----------+ ... | Guest OS | Guest OS | Guest OS | +----------+----------+----------+------------+ | Hardware VM A | Hardware VM B | +---------------------+-----------------------+ | Hardware | +---------------------------------------------+
Tento spôsob virtualizácie emuluje celý hardware počítača. Každá inštrukcia sa prekladá pre emulovaný HW.
+ môžeme pustit OS určeny pre inú platformu, než je hardware fyzického strojaExistuje akcelerátor KQEMU (module pre kernel), ktorý urýchluje emuláciu (na 90% hostiteľského systému).
+----------+----------+ | Apps | Apps | +----------+----------+ +------+ | Modified | Modified | ... | | | Guest OS | Guest OS | | Mgmt | +----------+----------+ | | | | | | | +----------+----------+---------------+------+ | Hypervisor (VMM) | +--------------------------------------------+ | Hardware | +--------------------------------------------+
Vyžaduje modifikovaný hosťovaný systém aby mohol spolupracovať so hypervisorom.
Umožňuje spustiť linuxový systém v inom linuxovom systéme. Nachádza sa niekde medzi jailom a plnou virtualizáciou.
kopa software, komerčný, VMware Tools gpl
Narozdiel od UML má vlastný privilegovaný kernel (XEN0), ktorý sa zavádza z boot loadera. XEN0 potom zavedie hlavnú doménu - domain0. Z hlavnej domény sa potom zavádzajú užívateľom definované domény, nazývané domainU. DomainU pristupujú k HW cez XEN0, ten používa ovládače Domain0, ktoré pristupujú k samotnému HW.
Prenos hosťovaného systému medzi dvomi hostiteľmi (fyzickými strojmi). Pamäť virtuálneho stroja sa iteratívne kopíruje na druhý stroj. Po určitom čase sa na 60 - 300ms zastaví kvôli synchronizácii. Po uplynutí tejto doby sa systém spustí na druhom stroji a migrácia končí.
+ dosahuje vysoký výkon (90% hostiteľského systému)+----------+----------+ | Apps | Apps | +----------+----------+ +------+ | | | ... | | | Guest OS | Guest OS | | Mgmt | | | | | | +----------+----------+---------------+------+ | Hypervisor (VMM) | +--------------------------------------------+ | Hardware | +--------------------------------------------+
Používa virtuálny stroj (hypervisor) na komunikáciu medzi hosťovaným OS a HW.
+ Umožňuje virtualizovať nemodifikovaný OS
Novšie procesory intel a AMD podporujú virtualizáciu.
Procesory intel používajú technológiu intel virtualization technology (vanderpool), procesory AMD používa označenie "pacifica".
Či váš procesor podporuje virtualizáciu, zistíte pomocou /proc/cpuinfo
. Intel používa príznak vmx
a AMD svm
.
root@machine:~># cat /proc/cpuinfo | egrep '(vmx|svm)'
root@machine:~># 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 syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
Podpora virtualizácie v kerneli (od verzie 2.6.20). Dostupné pod (L)GPL.
Skladá sa zTaktiež podporuje migráciu, ako aj funkcie suspend a restore. Celkom rýchlo sa vyvíja kedže je vyvíjané komunitou okolo jadra.
$> qemu-img create -f qcow test.qcow 4G
Formating 'test.qcow', fmt=qcow, size=4194304 kB
$> qemu-img convert test.qcow -O raw test.img
Najskôr treba získať jadro s podporou XENu pre hosťovaný systém.
Vytvoríme virtuálny systém
server1:~# xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \
> --ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \
> --dir=/vserver --memory=32Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.18-xen \> --debootstrap --dist=etch --mirror=http://ftp2.de.debian.org/debian/ --passwd
xm create /etc/xen/xen1.example.com.cfg
xm console xen1.example.com
alebo cez ssh.