1.拷貝整個系統盤dd if=/dev/sda of=~/disk1.img,若磁盤過大,可以拷貝系統盤分區,比如dd if=/dev/sda1 of=~/vm.img
2.查看上面的複製進度:#kill -USR1 dd進程號
3.將鏡像文件掛載:losetup -f vm.img
root@debian:/opt#losetup -a
/dev/loop0: [0801]:417805 (/opt/vm.img)
4.用fdisk找到偏移量和block size
5.root@debian:/opt#fdisk -c -u -l /dev/loop0
Disk /dev/loop0: 5368 MB, 5368709120 bytes
149 heads, 8 sectors/track, 8796 cylinders, total 10485760 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
Disk identifier: 0x000a477d
Device Boot Start End Blocks Id System
/dev/loop0p1 * 2048 10483711 5240832 83 Linux
上面最後一行顯示分區是從扇區(sector)2048開始,每個扇區是512個字節,所以是從2048*512=1048576個字節開始。
6.卸載loop後重新從1048576字節開始掛載:
root@debian:/opt# losetup -d /dev/loop0
root@debian:/opt# losetup -f -o 1048576 vm.img
root@debian:/opt# losetup -a
/dev/loop0: [0801]:417805 (/opt/server.img), offset 1048576
7.拷貝出最終鏡像,卸載舊鏡像:
root@debian:/opt# dd if=/dev/loop0 of=myvm.img
root@debian:/opt# losetup -d /dev/loop0
8.上傳鏡像到glance上;