Virtualbox guest-et időzített elindítása

Fórumok

Crontatbba rakott:

VBoxManage controlvm "GÉPNÉV" resume

paranccsal biztonságosan el lehet indítani a virtuális gépeket időzítve? Vagy van erre egy szofisztikáltabb módszer is?

Hozzászólások

El lehet inditani, de azert nezd meg, hogy sikeres volt-e a muvelet. Pl: ping, ssh.

Gabor

Alábbi crontab sor szépen indítja a rendszert a host-tal együtt, gyanítom ugyanúgy jó lehet az esetedhez igazítva is.

@reboot user1 /usr/bin/VBoxHeadless -startvm GUEST0

Szerintem inkább írd le az eredeti feladatot, mert így nehéz kitalálni, hogy egyáltalán van-e megoldás.
Gondolom, van valami okod rá, hogy időzítve indítsd.
Viszont ha nem GUI alól indítod, akkor nincs hová kirakni a saját ablakát, tehát csak a headless jöhet szóba.
Ilyenkor csak RDP-n éred el a konzolt.
Szervernél ez használható is.
Viszont ha desktopot akarsz virtuális gépen futtatni, akkor lebeszélnélek az ilyen trükkökről.

Ez az eredeti probléma, ami miatt erre van szükségem. Éjjelre le kell állítani a virtuális gépeket, hogy elkészülhessen egy OVA mentés (eredetileg migrációs fájl) amit utána fel lehet szinkronizálni a backup szerverekre. De utána el kell indítani valahogy újra a virtuális gépeket.

Megpróbálom összeszedni magam és utánanézni ennek a backup témának, mert úgy érzem, rossz irányba mész vele.

...

Kicsit keresgéltem, de nem sok eredménnyel.
Ahogy én látom: valójában a controlvm pause nem sokat segít rajtad, azzal megállítva a gépet nem biztos, hogy üzemképes lesz az elmentett állapot. (magyarán előfordulhat, hogy visszatöltés után nem hajlandó elindulni a guest)
Ha viszont controlvm savestate-et használsz, az kikapcsolja a gépet, utána már csak startvm-mel tudod újraindítani.
Ez utóbbit viszont crontabból csak konzol nélkül tudod indítani (headless-ként), desktop gépekhez nem igazán alkalmas, azt hiszem. Sajnos linuxos host most nincs kéznél, így nem tudom mindezt ellenőrizni.

A leállítással nincs semmi probléma. Windowsból is meg lehet oldani scheduled taskként, linuxból még egyszerűbb cronból szabályosan leállítani a rendszert. Leállítás guest rendszeren belül tökéletesen megoldható.
Az indításhoz már Virtualbox vezérlő VBoxHeadless vagy VBoxManage kell. El is indulnak rendesen csak az a probléma, hogy ablak nem nyílik meg hozzá. Ez pedig probléma mert a guest Windowsok desktopként is használatban vannak.

Hát ne crontabból indítsd hanem egy scriptből, kb. így:

while [ ! -f /tmp/stopvm ]
do
vboxmanage startvm vm0
--ide jön a vbox mentés--
done

Ezt egyszer kell elindítani, a windows-t a saját schedulerével megállítani és ez addig meg körbe-körbe amíg nem csinálsz egy /tmp/stopvm fájlt. Így hátha nyit ablakot.

Lusta vagyok végignézni a másik topic-ot: ez valami éles rendszer?
A windows-okat hogy használod? Helyben, a hostról vagy RDP-n keresztül?

Egyáltalán: hogy indítod a windows guesteket?
Bejelentkezéskor automatikusan? Vagy egyébként manuálisan indulnak? Vagy hogy?
Szerintem, ha nyugodtan akarsz aludni, és egyébként manuálisan indítod a virtuális windows-okat, akkor a backup indulásakor savestate, backup és amikor másnap újra dolgozni kezdesz, akkor manuális indítás.

Ahogyan egy valódi pc-t sem szerencsés power gombbal leállítani, úgy egy virtuálisat sem, bár az acpipower egy fokkal elfogadhatóbb ha támogatja a guest rendszer. Sokkal szerencsésebb azonban magából a guest rendszerből leállítani azt a rendszert. Erre linux és windows egyaránt képes, akár időzített folyamatként is.

Az acpi... amit ő javasol, teljesen jó, ha épp nincs letiltva. Ha működik, akkor végrehajt egy korrekt shutdown-t.
A baj ott kezdődik, hogy bizonyos rendszereken csak akkor megy, ha be vagy jelentkezve a GUI-ba, máshol meg jóvá kell hagyni a leállást, különben áll az idők végezetéig.

Sajnos windows-on nem tudom elkülöníteni a GUI-t és a konzolt, de linuxon kipróbálhatod: miután leállítottad a guestet, kijelentkezel a GUI-ból, átmész a karakteres konzolra (pl. Ctrl-Alt-F1 általában működik), ott bejelentkezel a saját usereddel, amivel a guesteket futtatod és megpróbálod a VBoxManage startvm segítségével elindítani, akkor elvileg hibát kellene kapnod. Ha ennek ellenére elindul, akkor a virtualbox valami olyat tud, amiről még életemben nem hallottam. :)

Remekül megy úgy "ablak", mint interaktív munkamenet nélkül. Az, hogy futtatsz-e egy guest-et, vagy hogy van-e hozzá konzolod (illetve hogyan), két teljesen különböző dolog. Nézz utána, mit takar a "headless" fogalma! Amit a VBoxManage-dzsel kapcsolatban írsz, nem igaz. Teljes értékű konfigurációs és management-eszköz, és nulla köze van ahhoz, hogy éppen milyen más opcionális komponensed (mondjuk valamelyik GUI) fut mindaddig, amíg a kernelmodulok be vannak töltve és szolgáltatások maguk élnek.

------------------------
Program terminated
{0} ok boto
boto ?

Mindezzel csak annyi a gond, hogy ő desktop rendszert futtat guestként és azt/azokat próbálná cronból a mentés idejére leállítani, majd újraindítani. Mondjuk az sem tiszta, hogy ez az egész hogy lett összebarkácsolva. Vajon a hostra be van lépve állandóan a guesteket indító user??? Szóval sehogy sem kerek a történet. RDP-t meg nem használnak.