Virtuális gép mozgatása Qemu/KVM hostok között

írta: hcl, 8 hónapja

Merthogy itthon KVM alapú host gépem van, és csak motoszkál az ember fejében, hogy miért is van ott a Virt-manager jobb gombos menüjében, hogy "migrate"... Szóval, nem véletlenül. Ugyan nem olyan rugalmasan, mint egy brutál Vmware cluster vagy egy Power cluster, de nem hazudik, migrál, futó virtuális gépet.

És különösebben meg se kell érte mozdulni. Tehát se extra konfig, se semmi; ha van kapcsolat két KVM hosttal, akkor már működik (akár a Virt-manager is futhat az egyik hostról, de én nem így próbáltam - ilyenkor lehet a másik host egy SSH tunnel másik végén is). Egy feltétele van, hogy közös storage legyen a gépek alatt. Ha valahol futó gépek mozgatására van igény, akkor azért egy hálózati adattároló is szokott akadni, annak meg nem a KVM-től függ a kezelése, hanem a hoston futó OS-től.

A követelmény érthető is; egyszerűen az a lényeg, hogy a virtuálgép háttértárához egyszerre hozzáférjen a két host, ugyanazok a mount pointok, és storage pool-ok legyenek a két oldalon; a diszk file-nak is léteznie kell. És furcsa módon csak futó gépet lehet mozgatni :D

Nekem nem volt hálózati adattáram, ezért trükköztem, egyszerűen ugyanarra a mount pointra volt felhúzva a két gépen az a partíció, ahol a virtuális gép diszkje volt, illetve 1:1 másolat volt a két diszk. Ez kb. ugyanazt az esetet szimulálta, mintha ugyanaz a diszk file lett volna, egy közös táron. Persze a Virt-Manager sem teljesen hülye, ha nincs bepipálva az "Allow unsafe" opció, nem hajlandó megcsinálni a mozgatást, ha nem közös a storage. (De ha az be van, akkor úgy is átrántja, ha egyáltalán nem jó a diszk a másik oldalon, és megáll a virtuális gép :D )

Parancssorból létezik olyan opciója is a virsh-migrate -nek , amivel a diszk is másolódik, ezt idő hiányában nem néztem meg (ld. források), a Virt-managerben pedig nincs jelezve, hogy tudná.

Az egyik gép az A8-3850 procis hostom volt, a teszt másik fele pedig a T400-as tartalék laptopba tett plusz winyón futó Debian volt, ugyanolyan, mint az A8-ason. A mozgatott gépen is egy dummy, alaptelepítésű Debian futott, tényleg csak annyi volt a cél, hogy lássam, átmegy-e, közben megakad-e.

Amúgy meg, miért ne menne át. Nyilván nem egy komolyabb erőforrásigényű gép mozgott, de különben pár másodperc alatt már a másik oldalon volt, miközben a futása igazából nem állt meg, mint egy bármilyen, igazi szerverekből álló Vmware clusteren. (Ami nem volt screenshotolva és csinált is valamit a gép, azon döcögött azért, de hát na, az egyik fél egy Core2-es laptop volt :D )


Az A8-on fut...


...így kellett beállítani...


...és már a t400-on.

Végszó - nem nehéz ez, és ha valakinek otthonra, vagy kisebb céghez vannak olyan virtualizációs igényei, amik nagyobb rendelkezésre állást igényelnek egy komolyabb környezet költségei nélkül, akár egy Qemu/KVM-el is meg lehet oldani.

Források/felhasznált útmutatók :

https://matrixzj.github.io/documentations/kvm_migration_without_shared_storage.html

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-kvm_live_migration-migrating_with_virt_manager