VirtualBox - live migrace bez ztráty spojení

VirtualBox - live migrace bez ztráty spojení
« kdy: 11. 05. 2012, 00:14:40 »
Zdravim,

potreboval bych radu zda-li je vubec mozne zive migrovat system mezi Virtualboxy tak, aby mi u virtualizovaneho systemu zustala stejna IP adresa spolu se vsemi spojenimi. Pokud ano, tak prosim o radu, jak nastavit jednotlive interfaces. Vse bezi na Debianu (jak VM, tak guest).

Ziva migrace s NATovanou sitovkou je bez problemu, avsak IP forward (nastaveny ve Vitualboxu) je v ...

Diky moc

« Poslední změna: 11. 05. 2012, 09:57:33 od Petr Krčmář »


Pavel 'TIGER' Růžička

Re:Virtualbox - live migrace bez ztraty spojeni (zmeny IP)
« Odpověď #1 kdy: 11. 05. 2012, 00:29:21 »
Pokud Ti dobře rozumím, tak potřebuješ virtuální stroj přenést z jednoho fyzického na druhý a to se všín všudy. Problém bude asi v tom, že druhý stroj má jinou síťovou kartu, na kterou připojuješ tu virtuální, což by nemuselo vadit, ale nejspíše bude, protože má jinou mac adresu. Takže změnit MAC adresu fyzické karty a mělo by to být naprosto identické. Ale nikdy jsem takové psí kusy nezkoušel.

Re:Virtualbox - live migrace bez ztraty spojeni (zmeny IP)
« Odpověď #2 kdy: 11. 05. 2012, 08:37:30 »
Pochybuju, ze to pujde.

Kazdopadne to asi nepujde jako failover, protoze kdyz mi na jednom pocitaci stroj spadne, na druhem ho musim chte nechte nabootovat, protoze nemam k dispozici stav pameti...

Pro inspiraci, co to vsechno obnasi, muzes kouknout na tohle video: http://old.avc-cvut.cz/avc.php?id=8523

Re:Virtualbox - live migrace bez ztraty spojeni (zmeny IP)
« Odpověď #3 kdy: 11. 05. 2012, 10:54:19 »
Pokud Ti dobře rozumím, tak potřebuješ virtuální stroj přenést z jednoho fyzického na druhý a to se všín všudy. Problém bude asi v tom, že druhý stroj má jinou síťovou kartu, na kterou připojuješ tu virtuální, což by nemuselo vadit, ale nejspíše bude, protože má jinou mac adresu. Takže změnit MAC adresu fyzické karty a mělo by to být naprosto identické. Ale nikdy jsem takové psí kusy nezkoušel.

Diky za odpoved,
myslenka dobra, ale podle me neni potreba menit MACovku. Staci kdyz pod virtualem na prvnim stroji tesne pred konecnou fazi migrace virtualizovany operacni system IP adresu slusne odevzda (neboli rekne vsem ucastnikum a hlavne switchi, ze konci a at si smaze v jeho ARP tabulce zaznam o tom, ze je na tomto portu). Dalsi dotaz na tuto IP adresu bude nasledovat broadcastem na urovni MAC adres (jelikoz ji predchozi stroj vratil), kdy swtich zjisti, ze IP adresa je na nove stroji.

Re:Virtualbox - live migrace bez ztraty spojeni (zmeny IP)
« Odpověď #4 kdy: 11. 05. 2012, 11:29:38 »
Pochybuju, ze to pujde.

Kazdopadne to asi nepujde jako failover, protoze kdyz mi na jednom pocitaci stroj spadne, na druhem ho musim chte nechte nabootovat, protoze nemam k dispozici stav pameti...

Pro inspiraci, co to vsechno obnasi, muzes kouknout na tohle video: http://old.avc-cvut.cz/avc.php?id=8523

Pod KVM a Xen to funguje bez problemu (stroje musi mit sdileny obraz disku napr. pomoci NFS a musi byt ve stejne siti). Takze klidne si muzes stahovat nejaka data a krome poklesu vykonu nebo propustnosti ani nepoznas, ze cilovy stroj prave zmigroval jinam. Funguje to na principu ktery je popsan vyse. Tudiz pred cilovou fazi virtualizovany stroj IP adresu odevzda > switch nema kam posilat data > zepta se kde je IP adresa > dostane MACovku noveho stroje.

Xen i KVM (mozna se milim, ale jeden z nich to ma urcite) maji udelany bridge na fyzickou sitovku, tudiz stroj ma dve IP adresy. Jednu jako virtualizacni stroj, jednu jako virtualizovany system "uvnitr". Samozrejme by tomu sla priradit jina fyzicka sitovka, ale mam na masine jen jednu. Pokud to obdobne na Virtualboxu, tak virtualizovany system nespustim na cilovem stroji s prikazem "teleport", ktery ceka na prijmuti stroje. Konci takto.

Kód: [Vybrat]
root@m1:~# VBoxManage modifyvm virtual --teleporter on --teleporterport 6000
root@m1:~#  VBoxManage startvm virtual --type headless
Waiting for VM "virtual" to power on...
VBoxManage: error: Failed to open/create the internal network 'HostInterfaceNetworking-' (VERR_INVALID_PARAMETER).
VBoxManage: error: Failed to attach the network LUN (VERR_INVALID_PARAMETER)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component Console, interface IConsole, callee

Pritom start se stejnou konfiguraci na zdrojovem stroji je bez problemu.


Re:Virtualbox - live migrace bez ztraty spojeni (zmeny IP)
« Odpověď #5 kdy: 11. 05. 2012, 11:38:52 »
milim
mylim samozrejme :)

Pak me jeste napadla vec, ze na stroji, ktery si z toho virtualizovaneho neco stahuje, bych nejakym zpusobem mohl rict: zacni stahovat z x.x.x.x a kdyz bude nedostupna, tak pokracuj na y.y.y.y. Nejedna se o kontinualni stahovani, ale nekolik tisic jednotlivych dotazu za sebou. Nejdriv se zeptam strycka Googla.

Re:Virtualbox - live migrace bez ztraty spojeni (zmeny IP)
« Odpověď #6 kdy: 11. 05. 2012, 11:54:25 »
Pod KVM a Xen to funguje bez problemu (stroje musi mit sdileny obraz disku napr. pomoci NFS a musi byt ve stejne siti). Takze klidne si muzes stahovat nejaka data a krome poklesu vykonu nebo propustnosti ani nepoznas, ze cilovy stroj prave zmigroval jinam. Funguje to na principu ktery je popsan vyse. Tudiz pred cilovou fazi virtualizovany stroj IP adresu odevzda > switch nema kam posilat data > zepta se kde je IP adresa > dostane MACovku noveho stroje.
Ok. Az budu mit cas, musim to vyzkouset, je to hodne rajcovni :)

Asi to teda bude chtit mit tu virtualni sitovku spis v modu bridge nez nat (jak psal tazatel). Trochu certika vidim v te arp deregistraci - uz vidim, jak to v praxi bude blbnout ;) ale treba ne.

Prijde mi tam jeden mensi zadrhel - pokud paket prijde v mezicase mezi deregistraci a novou registraci, tak se nema jak dorucit. Switch by na to mel asi zareagovat pomoci host unreachable, ne? Timpadem spojeni spadne.

Re:Virtualbox - live migrace bez ztraty spojeni (zmeny IP)
« Odpověď #7 kdy: 11. 05. 2012, 12:23:59 »
Pod KVM a Xen to funguje bez problemu (stroje musi mit sdileny obraz disku napr. pomoci NFS a musi byt ve stejne siti). Takze klidne si muzes stahovat nejaka data a krome poklesu vykonu nebo propustnosti ani nepoznas, ze cilovy stroj prave zmigroval jinam. Funguje to na principu ktery je popsan vyse. Tudiz pred cilovou fazi virtualizovany stroj IP adresu odevzda > switch nema kam posilat data > zepta se kde je IP adresa > dostane MACovku noveho stroje.
Ok. Az budu mit cas, musim to vyzkouset, je to hodne rajcovni :)

Asi to teda bude chtit mit tu virtualni sitovku spis v modu bridge nez nat (jak psal tazatel). Trochu certika vidim v te arp deregistraci - uz vidim, jak to v praxi bude blbnout ;) ale treba ne.

Prijde mi tam jeden mensi zadrhel - pokud paket prijde v mezicase mezi deregistraci a novou registraci, tak se nema jak dorucit. Switch by na to mel asi zareagovat pomoci host unreachable, ne? Timpadem spojeni spadne.

Samozrejme neznam presnou implementaci, ale bud si toto hlida primo virtualizacni stroj tak, ze nedovoli stav, kdy by nemel danou IP ani jeden ze stroju. A nebo existuje typ paketu, ktery rika, ze na zadane MAC adrese je dana IP adresa (ARP replay - odpoved na broadcast, ze na tyhle MACovce je tato IP adresa). Kdyz si to clovek predstavi, tak jiste v jednom okamziku existuje stav, kdy jsou oba stroje naprosto totozne a tudiz by melo byt jedno, ktery ze stroju odpovi. Pripadne to muze virtualizovany stroj resit nejakym forwardingem provozu na novou masinu. Ale pokud uvazuji o TCP, tak ten je dostacne obrnenej na nejaky ztraty na trase, takze pokud se cela migrace obejde bez odpovedi (host unreachable), tak by spojeni nemelo zaniknout. Pokud neprekroci urcity timeout.

Pro zajimavost test trafficu na KVM behem migrace: http://postimage.org/image/rwl4fahwd/
Pro zajimavost test trafficu na Xen behem migrace: http://postimage.org/image/bo5cp5fqd/

Re:VirtualBox - live migrace bez ztráty spojení
« Odpověď #8 kdy: 11. 05. 2012, 18:23:45 »
Panove, nez tu zacnete vymejslet nejaky zmateny sitovy teorie, tak switch a i zbytek site se o zmene topologie dozvi pomoci gratuitous ARP - paket odeslanej na adresu ff:ff:ff:ff:ff:ff (boradcast) a obsahujici oznameni mac adresy. Ohledne IP se nic nedela, protoze zmena je podle OSI modelu pouze jen a vyhradne na L2 vrstve, takze ani IP ani gumovy medvidci nebo cokoliv jinyho do toho nijak nezasahuje.

Re:VirtualBox - live migrace bez ztráty spojení
« Odpověď #9 kdy: 12. 05. 2012, 07:05:29 »
Ohledne IP se nic nedela, protoze zmena je podle OSI modelu pouze jen a vyhradne na L2 vrstve, takze ani IP ani gumovy medvidci nebo cokoliv jinyho do toho nijak nezasahuje.
Však tady nikdo o ničem jiném nemluví, ne?

Otázka je jenom, jak nastavit VirtualBox, aby to uměl zařídit, nebo jestli se to musí nějak podpořit ručně. Plus jestli tam nutně musí být (krátké) okno, ve kterém může nějaké spojení spadnout, nebo to jde zařídit 100%ně bezeztrátově.

Třeba by ses o tom mohl rozepsat trochu víc, jestli s tím máš zkušenosti.

Re:VirtualBox - live migrace bez ztráty spojení
« Odpověď #10 kdy: 12. 05. 2012, 23:03:33 »
Tak nakonec je problem ve VirtualBoxu  :-\

Po chybe v jadre virtualizacniho stroje jsem se dozvedel zde, https://forums.virtualbox.org/viewtopic.php?f=7&t=47435, ze je nejaky problem ve verzi 4.1.

Ve verzi 4.0 je migrace (teleport) bez problemu. Staci pridat bridge br0.

Vsem diky za radu. Vlakno (pokud se mi povede) uzavru.