Sziasztok!
A HUP.hu még nem válaszolt, a legutóbb sem méltattak válaszolni, kíváncsi vagyok most megteszik e, de ez most mellékes :)
Sikerült megoldanom! Ha esetleg valaki hasonló cipőbe kerülne, leírom ide a megoldás menetét.
(Bár a téma címében leírt LVM partíciót közvetlenül nem sikerült csatolnom, de attól a problémát sikerült megoldani...)
1. lépés:
El kel jutnunk egy XVA fájlig (még pedig olyanhoz amiben csak egyetlen egy virtuális disk található).
Legegyszerűbb eset mikor az adott virtuális gépnek csak egyetlen egy disk-je van és tudunk róla a Citrix XEN Center-en snapshot-ot készíteni, majd eszt kiexportálni.
A helyeztet bonyolíthatja ha egynél több virtuális disk tartozik az adott virtuális géphez (mint pl nálam) vagy ha valamiért nem lehet snapshot-ot létrehozni és / vagy kimenteni.
A snapshot készítését és kimentését is meg lehet konzolból oldani Citrix XEN (és persze Debian XEN) alatt, valamint lehet közvetlenül is (nem futó virtuális gép esetén!) a gépről vagy virtuális disk-ről is XVA mentést csinálni.
Ha a virtuális géphez több virtuális disk tartozik (jelen esetben 2db disk, egy 8gb-s kettéparticionálva 6gb ext4 rendszer 2gb swap, a második disk 200gb rajta egy darab ext4 es partíció az adatoknak) azokat szét kell szedni.
Egy XVA ba csak egy disk kerülhet de tetszőleges partíció lehet egy disk-en. Ha közvetlenül a disk-eket egyesével exportáltuk ki akkor elvileg nincs ilyen probléma (nem próbáltam) ha a megszokott snapshot-os módszert választatjuk akkor előbb le kell választani az egyik virtuális disk-et snapshot-ot készíteni, kimenteni, majd leválasztani és a másik virtuális disk-et betölteni, megint snapshot és export, lényeg hogy mikor snapshot-ot készítesz akkor az adott virtuális géphez csak egy virtuális disk legyen hozzárendelve. Ez kicsit több kattintással jár de nem kell hozzá konzolozni így ha valaki idegenkedik a parancssortól az sem fog elrettenni.
Az én esetemben az XVA fájlba mindkét disk bekerült így importáltam egy másik XEN szerverbe ahol volt elég tárhely és ott csináltam róla 2 XVA fájlt külön külön a két partíciónak. (kipróbáltam sajnos a kiexportált XVA a másik szervert is állandóan újraindította...)
2. Lépés:
Ha meg van az XVA fájl (esetleg fájlok) akkor ki kell csomagolni őket:
tar -xvf {image}.xva
Ez a lépés létrehoz egy Ref:X es mappát (az X helyén valamilyen szám lesz), benne egy csomó kis fájl, + fájlonként egy ellenőrző összeg, tehát sok értelmeset nem találunk ha az adatainkat keressük... :D
3. Lépés:
Össze kell raknunk a kis fájlokat egy disk képfájllá.
Töltsük le, fordítsuk le, és telepítsük az alábbi programot (az oldalon minden le van írva):
https://github.com/eriklax/xva-img
Majd az oldalon lévő leírás szerint futtassuk:
xva-img -p disk-export Ref\:X/ DiskName.raw
Az X helyére persze azt a számot írd ami nálad van.
A végén a raw fájl fogja tartalmazni a disk "képét".
4. Lépés:
Ellenőrízük a partíciós táblát
fdisk -l DiskName.raw
Disk ./DiskName.raw: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000cdab4
Device Boot Start End Sectors Size Id Type
./DiskName.raw1 * 2048 11718655 11716608 5,6G 83 Linux
./DiskName.raw2 11718656 16775167 5056512 2,4G 82 Linux swap / Solaris
Most már a partíciókat is kiírja.
5. Lépés: (kihagyható)
fsck -val ellenőrizzük a partíciót, ehhez ki kel számolni az eltolást.
Az fdisk kimenetéből látható a block méret (jelen esetben 512) és a partíció kezdete (2048) a kettő szorzata lesz az eltolás (1048576)
losetup --offset 1048576 /dev/loop2 DiskName.raw
Most már fsck-val ellenőrizhetjük.
fsck /dev/loop2
6. Lépés
Mount-oljuk fel a partíciót.
Ha az 5. lépést, az fsck -t is megcsináltuk akkor mount /dev/loop2 /mnt
Ha az 5. lépést kihagytuk most kell megadni az offsetet, úgy mint az 5. lépésnél, számoljuk ki majd mount-oljuk.
mount -o ro,loop,offset=1048576 ./DiskName.raw /mnt
(az ro, val csak olvasható lesz, de természetesen írható olvasható módon is fel tudjuk csatolni)
Így már hozzá is fértünk az adatokhoz, és persze dd vel vagy tar gz-vel visszaállíthatjuk telepítés nélkül akár a teljes rendszert egy másik újonnan létrehozott virtuális gépen anélkül hogy újratelepítenénk, csupán figyeljünk hogy elférjen a partíciós tábla az újonnan létrehozott virtuális disk-eken is.
Köszönöm a segítséget, számomra igen tanulságos volt, remélem más nem jár hasonló cipőben ha meg igen bízom benne hogy hasznosnak találja ezt a megoldást.
És most megyek alszom egyet :D
Novarobot