Image file vinyóra írása hogyan?

Fórumok

Sziasztok!
A következő műveletet szeretném végrehajtani, a kérdésem az, hogy mi lenne rá a legegyszerűbb módszer?
Adott egy XEN virtuális gép ami egy 50GB-os fileban foglal helyet. Ezt az egész rendszert szeretném átköltöztetni fizikai gépre. Arra gondoltam, hogy a fizikai gépen bebootolok cdről, lesz benne egy üres vinyó meg egy amin az image van, és valami sokparaméteres dd paranccsal átrakom az image tartalmát az üres vinyóra. Ez hogy lehetséges konkrétan? Előre is kösz a segítséget!

Hozzászólások

A működő virtuális gépet futtató vasba betenni a HDDt és dd parancs elképzelhető, de ezt eddig csak teljesen azonos karakterisztikájú igazi vinyókon láttam Gümőtől, úgyhogy félig virtuális rendszerben még nem láttam ilyent, de ha a tömeg nem hördül fel, akkor egy próbát megérhet.
--
unix -- több, mint kód. filozófia.
Life is feudal

Eddig jó, csak a rendszer betöltése és a partíciók helyének meghatározása sáv-fej-szektor geometriával történik, és ez okozhat gondot.
Például ha a virtuális diszknek 256 lemezoldala és oldalanként 63 szektora van, akkor az 1. sáv 0. oldal 1. szektor a 256*63 = 16128. szektor, míg ha a fizikai lemezeden az oldalak száma 128, akkor ugyanezt az (1,0,1) című szektort a 128*63 = 8064. szektornál keresné, persze hiábavalóan.

Amit tenni tudsz, az az, hogy a fizikai lemezedet felpartícionálod ugyanolyan sorrendben, mint a virtuálisat (tehát pl. ha a hda1 egy ext2 volt, a hda2 egy reiser, a hda4 meg swap, akkor ez a fizikain is ugyanígy legyen), valamint a fizikain létrehozott partíciók ugyanakkorák legyenek, mint a virtuálison (felfelé kerekíteni szabad, lefelé nem), akkor _partíciónként_ átmásolhatod a dd-vel, és ez így helyes lesz.
A bootoláshoz persze a bootloaderedet a fizikai vinyón újra kell raknod, mert ezeknek az első lépcsős kódja a partícióktól független területen (az MBR-ben) van. Ezt célszerű úgy megcsinálni, hogy mikor már csak ez van hátra, akkor a rendszert egy rescue lemezről (vagy live cd-ről) indítod, aztán a vinyón lévő partícióidat kézzel felmountolod valahová, majd chroot-tal 'átugrasz' rájuk, és onnan úgy rakatod újra a bootloadert, ahogy egyébként tennéd.
(Bocs a konkrétumok hiányáért, de innentől már minden attól függ, hogy pl. lilo-t vagy grub-ot használsz-e, illetve milyen disztribúciód van, stb.)

Köszi szépen, igazából onnantól, hogy átment a vinyóra a cucc és elméletileg bootolható, a chroot,grub install dolgok menni fognak.
Kicsit konkrétabban leírom én is, hogy hogy megy ez a virtuális gép. Nem tudom mennyire ismered a XEN-t, de a következőképpen van megoldva:
A fizikai gépen fut egy XEN démon egy XEN-t támogató kernellel. A config file-jában meg lehet adni, hogy mit használjon rendszerpartícióként és swap partícióként. A file amiben a rendszer van, az egy teljesen átlagos dd-vel létrehozott, ha lehet ilyet mondani "szabványos unix file" benne egy telepített rendszerrel. Netről lehet tölteni ilyen image-eket, de ha te hozod létre az is teljesen ua. Alapjáraton 2GB-s volt most 80GB-os a file, egy 80-as vinyóra akarom átrakni. Swap file az teljesen külön van. Igazából ha a virtuális gépen nézek egy fdisk-et vagy cfdisket akkor hibaüzenettel kidob. Bootloader egyáltalán nincs mert a xen démon indítja a megadott fileból a rendszert. Ha ez így működik akkor nem egyszerűsít valamennyit a dolgon?
Összegezve: 1 partíció van amit akarok tenni, 1 fileban, és kisebb lesz a file mint a vinyó

szerk: bár most hogy gondolkozom a dolgon, lehet hogy nem tudom kicsinyíteni a filet, mert növelni ugyan tudtam dd-vel de ha kicsinyíteném akkor elveszne belőle adat. de akkor veszek hozzá 120as vinyót.

szerk2: most az is eszembe jutott, hogy ha simán bemountolom loopként a filet és F5-tel átmásolom az előzőleg készített partícióra aztán csinálok neki bootloadert akkor az működhet (van mysql a gépen az nem tudom mennyire viseli jól a másolást)?

most az is eszembe jutott, hogy ha simán bemountolom loopként a filet és F5-tel átmásolom az előzőleg készített partícióra aztán csinálok neki bootloadert akkor az működhet (van mysql a gépen az nem tudom mennyire viseli jól a másolást)?

Szerintem ez lesz a legfájdalommentesebb megoldás. Mysql-lel nem lesz gond, persze másolás előtt állítsd le a virtuális gépet. A kernelt ne felejtsd el xen-esről vanillára cserélni.