この記事は1年以上前の古い記事です。現状に即していない記述の場合があります。あらかじめご了承ください。
qemu-nbdを使うとサクッとコールドクローニングできるのね

nogajun
qemu-nbdを使うとnbd(ネットワークブロックデバイス)経由でqemu/kvmのqcow2やVirtualboxのvdiなどの仮想ディスクイメージを物理デバイスのように扱えるそう。
ということで試していたけどパーティションが見えない。なぜ?と悩んでいたけど、ふと、nbdのオプションを見ると、あらびっくり。
# modinfo nbd
filename: /lib/modules/2.6.32-5-686/kernel/drivers/block/nbd.ko
license: GPL
description: Network Block Device
depends:
vermagic: 2.6.32-5-686 SMP mod_unload modversions 686
parm: nbds_max:number of network block devices to initialize (default: 16) (int)
parm: max_part:number of partitions per device (default: 0) (int)
parm: debugflags:flags for controlling debug output (int)
ええ!デフォルトはパーティションがゼロなんですか! そりゃ出ないわ!
そういうことでmodprobe nbd max_part=8
として無事使えましたとさ。
qemu-nbdの使い方
qemu-nbdを使うと仮想ディスクイメージにパーティションを操作するpartedのコピーやntfscloneが使えます。
# modprobe nbd max_part=8
# qemu-nbd -c /dev/nbd0 VIRTUALDISK.vdi
として/dev/nbd0
に仮想ディスクイメージを接続します。
ここからが本領。
# ntfsclone -O /dev/nbd0p1 /dev/sda1
物理ディスクのパーティション1(/dev/sda1
)から、仮想ディスクイメージのパーティション1(/dev/nbd0p1
)にNTFSパーティションをコピーするntfsclone
を実行すると、物理ディスクのパーティションを仮想ディスクイメージにコピーできるんですね。これは便利! もちろん/dev/nbd0p1
をマウントすることもおk。
使い終わればqemu-nbd -d
して終了。
# qemu-nbd -d /dev/nbd0
お試しあれ。