Šta je novo?

The Hypervisor Wars

Bolje ovde da nista ne pricam ima da me razapnu na krst kao PR-a 😛
 
Mislim da ce proci mnogo vode ispod Brankovog mosta dok MS ne istisne VMWare 🙂
 
Tako nesto i ja mislim. VMware je trenutno prihvacen standard pri virtualizaciji.

RHEL je krenuo u tu pricu malo agresivnije pogotovo od 5.4 verzije i podrske KVM-a. Iako je sa tehnicke strane najbrzi (Paravitrualizacija RHEL host RHEL guest ). Mada neku o nekom user friendly stavu nema nista 😉
Tek od verzije 6.0 tu bi trebao da bude integrisan i http://ovirt.org/ i jos neke stvarcice koji bi to cinile malo vise upotrebljivim.

Hyper-V nisam do sada koristio u praksi tako da ne mogu da ga komentarisem.

Mada ja mislim da ce ovde jedino izgubiti HW vendori (HP,Dell, IBM) jer ti vise ne treba 5 servera po 3k e nego jedan server od 6k moze da ih zameni.
 
Poslednja izmena:
Inače, M$ i RedHat (kad se ne svađaju oko softverskih patenata) veoma dobro surađuju na polju međusobne kompatibilnosti vlastitih virtualizacijskih rješenja:
http://tinyurl.com/ybhkv3t

Evo sada je i zvanicno.

SVVP_diagram_350px.jpg


http://www.redhat.com/promo/svvp/?intcmp=70160000000I21yAAC
 
Evo neke mogucnisti KVM koje nudi RH i neke koje ce nuditi veoma uskoro.
http://www.linux-kvm.com/content/redhat-rhev-m-virtualization-management-tool-demo

oko 3 minuta samo ukratko

Evo i malo detaljnijeg pregleda i direktnog poredjenja sa VMware-om i MS-om.

http://www.linux-kvm.com/content/intro-rhev-video-redhat-summit-2009

Malo vise od 30 min.

Evo beleski sa duzeg predavanja

* Navin started out by stating that there are 4 main tools around redhat enterprise virtualization. These are (1) Virtualization manager for servers (2) virtualization manager for desktops (3) standalone kvm and (4) RHEL5.4 with kvm. Number 3 and 4 are the two flavors of the kvm hypervisor.
* Only RHEL5.4 with kvm is available now. The others will be available later this year.
* Redhat will support ISV software certified on RHEL whether it’s running on bare metal or running on the RHEL kvm or standalone kvm since it’s the same codebase. A specific question was raised about Oracle and their issue with supporting their software on hypervisors other than oracle VM. Response was that they are working with vendors and that all hypervisors will face this issue as it’s more of an issue with the Vendor. I agree with this response.
* RHEV standalone kvm has a very small footprint of < 100mb in size which makes it easy to do things like pxe boot it.
* Hosts can scale host to 96 cores and 1Tb ram. Should scale more but this is what has been tested.
* Guests can scale up to 16vcpus and 256GB ram.
* Paravirtual network and block drivers available for linux and windows. Supported Linux guests includes RHEL 3,4,5. Supported Windows drivers available for windows xp, 2003 and 2008.
* Security is another focus and a lot of security features are inherited from kernel. Example is selinux.
* NUMA, power management, memory page sharing (ksm) are some other important features. KSM important for density, very important and will be in product from day 1.
* Features high throughput, low latency.
* He gave an example of the effect of KSM (kernel shared memory). Light workload vms on a 48 core machine, 256 GB ram could run more than 600 vms.
* Features high throughput ie. > 1mil messages per second .
* Application performance. Testing results from internal and customers showed SAP workloads: 85-95, Oracle OLTP: 80-92% bare metal. LAMP stack showed better than bare metal performance. Whitepapers will be published in how this was achieved. Java achieved up to 94% bare metal.
* The management tools will be released in later half of 2009. Currently In beta with some customers. Designed to provide centralized management for your hosts in a datacenter environment. Tools allow you to define systems in the following heierarchy: virtual datacenters, clusters, hosts and virtual machines. Supports high availability by allowing VMs to automatically restart on other host when host having problems. Supports system scheduler at cluster level, live migration and power saver mode. There’s a maintenance manager that will automatically live migrate vms off servers during scheduled maintenance. Also includes monitoring and reporting tools.
* New management tools support image management including templates and thin provisioning.
* One of the best features of new tools is the ability to search large number of VMs for drilling down as opposed to hierarchical tree structure as done with other hypervisor products. Built this way for high scalability.
* Roadmap for RHEL6 was then presented. Will include virtual machine/physical machine (aka vm/pm ) scheduler. Can run applications side by side with virtual machines on same physical server due to fact that vms are just processes in kvm. The scheduler policy framewor can be based on time or load etc.
* RHEL6 Roadmap: Svirt. Allows selinux type policies to be applied to virtualization.
* RHEL6 Roadmap: SLA manager. As virtualization touch mission critical applications, this will provide deterministic performance for cpu, memory and storage resources. This is related to work being done in cgroups and CFS scheduler and will impact SLA monitoring and QoS for VMs.
* RHEL6 Roadmap: Integration with MRG scheduler. Integration with internal and external clouds.
* Packaging. Pricing not announced yet. Redhat will offer a RHEV bundle which will include manager for servers and the kvm hypervisor. Premium and standard subscription will be available. If you want to RHEL5.4 as a host you’ll have to buy that separately as opposed to using RHEL5.4 as a guest.
 
Mali off:
Ovo bi moglo postati zanimljivo i za igrice... Host OS treba da ima KVM, a igra se pise da radi sa virtuelnim hardware-om. Rezultat je da bi igre radile na razlicitim OS-ovima potpuno identicno.
 
Da li neko uopste koristi MS-ov Hyper-V na bare-metal serverima? Mislim, em sto se placa, em sto ima u odnosu na druga resenja ozbiljna ogranicenja raspolozive memorije i broja cpu-ova, gotovo nemoguc rad sa USB diskovima, pa jos ako iz linux kernela bude izbacena podrska za hyper-v paravirtuelizaciju (kao sto se prica)......meni to ne izgleda bas sjajno.
 
Poslednja izmena:
Mali off:
Ovo bi moglo postati zanimljivo i za igrice... Host OS treba da ima KVM, a igra se pise da radi sa virtuelnim hardware-om. Rezultat je da bi igre radile na razlicitim OS-ovima potpuno identicno.

Možda jednog dana 🙂.
Za sad mi se čini da su VMWare i VBox napravili najveći napredak u tome da 3D grafika buda dostupna guestu. Oboje su pri tome koristili trikove, npr. "mapiranja hardvera" sa hosta na guesta ... nešto u tom smislu ako sam dobro shvatio.

KVM emulira hardver za VMove preko qemu emulatora. Npr. mreža je po defaultu Realtek 8139, grafika je neka Cirrus Logic, PIIX3 IDE kontroler .... itd. Za serversku upotrebu to je dovoljno. Kritične stvari bitne za IO performanse su riješene preko paravirtualnih drivera za mrežu i disk kontroler (virtio driveri), da bi se dobile "near native" performanse.

Možda bi to čak jednostavnije bilo odraditi putem paravirtualizacije (Hyper-V, Xen). Tamo postoji hypervizor koji sjedi na hardveru, te tzv. privilegirani guest (administracijska okolina), čiji hardver dijele svi ostali,"normalni", guestovi. Znači da običan guest vidi hardver koji je zaista na mašini.

Što se tiče M$ paravitualnih drivera za Hyper-V u Linux kernelu, mislim da je to sad konačno OK. M$ je dosta šlampavo pristupio izradi drivera (kršenje GPL licence), a koliko sam pratio problematiku, imali su popravni i sad je to to, imaju driver u Linux kernelu.
 
Poslednja izmena:
To da li ce neko lako istisnuti nekog drugog...ih proces traje, ali niko nije nezamenjliv 🙂
Medjutim vmware za sada nudi najkompletnije resenje za "normalnu" virtualizaciju (normalna zanci da ne racunamo egzotike )

Mad ESX je u principu i baziran na redhat 3.nesto.
Sta sad oce red hat 🙂?

MS Hyper-v ne koristi ni sam MS 🙂
 
Pa hoce deo kolaca 🙂

A to planira da uradi sa vecim brojem sertifikovanih servera, boljim performansama (80-95% Bare metal), nesto nizom cenom licenci, i tehnickim "detaljima" kao sto su NUMA, power management, memory page sharing (ksm).
 
Poslednja izmena:
To da li ce neko lako istisnuti nekog drugog...ih proces traje, ali niko nije nezamenjliv 🙂
Medjutim vmware za sada nudi najkompletnije resenje za "normalnu" virtualizaciju (normalna zanci da ne racunamo egzotike )
Šta je egzotika?
Jedina prednost VMware-a je da je bio prvi.
Ta prednost se topi pojavom hardverski podržane virtualizacije na x86.
KVM je veoma efikasan hypervizor odmah u startu (koristi kompletno nasljeđe linux kernela: scheduler, upravljanje memorijom i procesima, podrška za hardver hosta ... ništa nije potrebno modificirati) te se veoma brzo razvija u smislu dodavanja novih funkcionalnosti. Jedini nedostatak je da ne radi bez harverski podržane virtualizacije.

S obzirom da je hypervizor u biti sâm vanilla linux kernel, cijelu stvar je daleko najjednostavnije održavati/razvijati od svega što postoji trenutno na tržištu. Qumranet se brine za kvm modul + integraciju s qemu emulatorom kao userspace komponentom (suradnja s Qemu projektom), dok svi ostali normalno razvijaju svoje komponente kernela.

Mad ESX je u principu i baziran na redhat 3.nesto.
Sta sad oce red hat 🙂?
RH 3.nešto nije imao KVM, možda su koristili linux kernel čisto radi podrške za hardver na hostu.
KVM je ušao u linux kernel 2.6.20 (sad je aktualan kernel 2.6.31), a RH ga je backportao na 2.6.18 kojeg koristi RHEL 5.4.

MS Hyper-v ne koristi ni sam MS 🙂
Nisam probao, ali čujem da fino radi.
 
Poslednja izmena:
RH 3.nešto nije imao KVM, možda su koristili linux kernel čisto radi podrške za hardver na hostu.
KVM je ušao u linux kernel 2.6.20 (sad je aktualan kernel 2.6.31), a RH ga je backportao na 2.6.18 kojeg koristi RHEL 5.4.

RHEL 3 trci na 2.4.21 verziji kernela koji koristi WMvare samo zbog drajvera i ostale komunikacije sa HW. E oni su na tome razvili svoje proprietary virtualno resenje + management za isti. KVM i VMware nemaju dodirnih tacaka, da ne bude zabune 🙂
 
Možda jednog dana 🙂.
Za sad mi se čini da su VMWare i VBox napravili najveći napredak u tome da 3D grafika buda dostupna guestu. Oboje su pri tome koristili trikove, npr. "mapiranja hardvera" sa hosta na guesta ... nešto u tom smislu ako sam dobro shvatio.

KVM emulira hardver za VMove preko qemu emulatora. Npr. mreža je po defaultu Realtek 8139, grafika je neka Cirrus Logic, PIIX3 IDE kontroler .... itd. Za serversku upotrebu to je dovoljno. Kritične stvari bitne za IO performanse su riješene preko paravirtualnih drivera za mrežu i disk kontroler (virtio driveri), da bi se dobile "near native" performanse.

Na XWindows-u OpenGL 3D akceleracija je realizovana kroz GLX protokol koji je extenzija X protokola. Aplikacija ima XLib koji preko TCP/IP komnunicira sa XServerom koji u sebi ima pravu OpenGL implementaciju. Potrebno je napraviti da virtuelna graficka karta "prica" GLX.
 
RHEL 3 trci na 2.4.21 verziji kernela koji koristi WMvare samo zbog drajvera i ostale komunikacije sa HW. E oni su na tome razvili svoje proprietary virtualno resenje + management za isti. KVM i VMware nemaju dodirnih tacaka, da ne bude zabune 🙂


Drugo nisu ni mogli da naprave zbog GPL licence 🙂.
 
Nego, dokle je kvm dogurao sa malo naprednijim stvarima tipa cloning/snapshot/export/import virtuelnih masina? Da li je razvijen neki 'fensi' GUi, tipa VC ili xencenter?
 
Moram priznati da snapshotovanje nisam probao.
Kloniranje radi (čak prilično brzo) s virt-clone naredbom iz konzole. Procedura kloniranja kreira guesta i XML definiciju guesta - postavi novi UUID, ime guesta, source (fajl/particija), driver za disk/mrežu (ide/virtio/...) te mac adresu. Sam klonirani guest je isti kao i izvorni, znači treba se logirati i promijeniti mu ime i mrežne postavke.

Live migracija radi - uvjet je da se VMovi drže u image fajlovima na sheranom file systemu i da ih se migrira u isti mrežni segment. Ja sam se primarno igrao s logical volume baziranim guestovima te sam migraciju sa stroja na drugi fizički stroj radio sa dd preko ssh.

Ako koristiš LVM za storage guesta, tada imaš mogućnost snapshotiranja preko samog LVM mehanizma, neovisno u virtualizatoru. Što se tiče snapshotiranja kroz KVM/qemu, siguran sam da qemu ima neki mehanizam, ali nisam istraživao.
Postoje "virsh save" i "virsh restore" naredbe ... istražit ću danas šta se točno događa u pozadini.

Jedini GUI kojeg znam za sad je virt-manager (pričam sad o CentOSu i Fedori, ne o managemet alatima koje RH planira predstaviti za RHEL 5.4/6.0).
Daleko više opcija ima preko CLI utilitya: virsh, virt-install, virt-clone, virt-top ....
Ja koristim virt-install za instalaciju, virsh za sve operacije što se tiče upravljanja samim guestovima i virtualnim mrežama, virt-clone za kloniranje te virt-manager GUI samo kad moram pristupitit guestu preko VNCa. Host mašine su 90% vremena u init 3 runlevelu pa nema ni potrebe GUI-jem. Da sumiram, za sad ne postoji fancy GUI poput VBOXa/VMWare/nešto treće 🙂.

Za monitoriranje se može koristiti virt-top, iako ja preferiram htop ili top. Naime kvm guest je proces kao i svaki drugi te se može ubiti sa kill, promijentiti CPU affinity s taskset ili priority sa nice. SMP podrška za guesta je realizirana na način da svaki vCPU dobije svoj thread.
 
Nazad
Vrh Dno