Sie sind hier

(Xen + Windows 2003 + lvm) Wie ein ntfsclone auf rawimage verwenden?

/dev/vg/windows2003 ist ein raw-image für eine windows 2003 domU. D.h. das Device enthält auch eine Partitionstabelle, was das direkte mounten / ntfsclone unmöglich macht. Mit losetup lässt sich dieses problem jedoch elegant umschiffen:

als erstes sollte man einen snapshot erzeugen:

lvcreate --permission r --snapshot /dev/vg/windows2003 --size 2G --name snap

dann muss man sich die partitionstabelle anschauen:

fdisk -l -u /dev/vg/snap
Disk fdisk /dev/vg/snap: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders, total 125829120 sectors
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/vg/snap1 * 63 125805014 62902476 7 HPFS/NTFS

Dann muss man das offset ausrechnen: Startsektor * Sektorgrösse, in diesem fall:
63*512 = 32256
dann kann das loop-device konfiguriert werden:

losetup -o 32256 /dev/loop0 /dev/vg/snap

und schon kann ntfsclone verwendet werden:

ntfsclone /dev/loop0 -s -o /tmp/snap.ntfsclone

Wiederherstellen geht dann so:

ntfsclone snap.ntfsclone -r -o rawimage.test

Achtung: ein ntfsresize auf das loopdevice zerstört die partition!

Das tool kpartx aus dem paket multipath-tools kann auch anstatt des losetup verwendet werden:

kpartx -a /dev/vg/snap