記事『VMware から KVM へのコンバート(CentOS5)』にある kpartx に関するつまづきと対処


VMware から KVM へのコンバート(CentOS5)
以下のようなコンバートを行う際に参考にした。

VMware ESXi 5.x -- guest CentOS 5.7 --> KVM

その際に自分がつまづいたパターンとその対処の方法を書く。

前提

  • KVM HostOS : CentOS6.5
  • 以下はすべてKVM HostOS上でのできごと

kpartx がない

command
yum install kpartx

kpartx -a /dev/loop0が失敗する

kpartx -a /dev/loop0 が空実行しているように見える

これは自分が raw ファイルでなく qcow2 なファイルを対象に操作していたからだと理解し、
フォーマット指定を変更することで対応した。

qemu-img
NG : qemu-img convert ${VM_IMG}.vmdk -O qcow2 ${KVM_IMG_DIR}/${KVM_NAME}.img
OK : qemu-img convert ${VM_IMG}.vmdk -O raw   ${KVM_IMG_DIR}/${KVM_NAME}.img

kpartx -a /dev/loop0 でエラーメッセージが出る

kpartxエラーメッセージ
# kpartx  -a /dev/loop0
kpartx: relocation error: kpartx: symbol dm_task_get_info_with_deferred_remove, version Base not
defined in file libdevmapper.so.1.02 with link time reference

という感じ。

command
yum update device-mapper-libs

とすることで解決した。