2007/10/01

XenとLVM・その2・イメージファイルからの移行

前回は、DomUインストール時からLVMを利用する方法について述べた。今回は、既にあるイメージファイル(例えば、/var/lib/xen/images/dc1.img)を論理ボリューム(logical volume, LV)へ移行する方法について述べる。

既にイメージファイル方式で動作しているDomUを、LVM方式に改めるには、
  1. LVの作成
  2. イメージファイルの内容をLVにコピー
  3. Xenの設定ファイルの修正
の順に作業する。以下、それぞれについて解説する。

まず、LVの作成。前回と同じだ。十分に空き容量のあるボリュームグループ(volume group, VG)上にlvcreateコマンドでLVを作成する(下線部がユーザ入力部分。以下同じ)。
# lvcreate --size=4G --name=LogVolDc1 VolGroupXX
Logical volume "LogVolDc1" created
#
ここで、--size=に指定するのは、LVのサイズ。当然だが、イメージファイル以上の大きさが必要。LV名は、--name=で指定する。

次にイメージファイルからLVへのコピーだが、ddコマンドを使用する。引数で入力if=にイメージファイル、出力of=にLVを指定する。
また、bs=に適切なブロックファイルサイズを指定すると、ブロックI/Oの効率がよくなるので、コピーが早くなる。デフォルトは、128バイト。環境にもよるが、4096の倍数を指定するとよい様だ。
# dd if=/var/lib/xen/images/dc1.img of=/dev/mapper/VolGroupXX-LogVolDc1 bs=4096
1048576+0 records in
1048576+0 records out
4294967296 bytes (4.3 GB) copied, 222.693 seconds, 19.3 MB/s
#


最後に、DomUの設定ファイル(この場合は/etc/xen/dc1.img)の変更。変更するのは、当該設定ファイルのdisk =の行。変更前は、
disk = [ 'tap:aio:/var/lib/xen/images/dc1.img,xvda,w' ]
の様になっているはずだ。このtap:aio:がVirtual Backend Device (VBD)の指定で、もしかすると、file:となっている場合もあるかもしれない。これを、phy:に変更する。VBD指定に続くファイル名は、LV名を指定する。当該行を
disk = [ 'phy:mapper/VolGroupXX-LogVolDc1,xvda,w' ]
の様に変更すればよい。LVへのパスは、絶対パスで指定してもよいが、/devからの相対パスで指定することもできる。

XenとLVM・その1・インストール時
XenとLVM・その2・イメージファイルからの移行
XenとLVM・その3・スナップショットLVの利用
XenとLVM・その4・ベンチマーク

0 件のコメント: