Permalink: 2016-03-06 01:20:00+09:00 by ruy@ainoniwa.net in technical tags: COMSTAR iscsi openindiana ZFS social:

OpenIndiana + ZFS + COMSTARなiSCSIから、Proxmox VE + NFSな環境に移行する場合の話。

zvolのmetaデータを外出しにしているので、zvolをddしてrawデータを抽出するだけで済むはず。

OpenIndianaのiSCSI(STMF)の場合、LU作成時にメタデータが付与されるので、そのままでは移行しにくくなることが予想されます。

メタデータを外部ファイルに出力することでzvolをそのままRAWディスクとして扱うことが出来るので、今回はそれが前提の処理をします。

結構前に OpenIndianaでiSCSIする時、メタデータは外部ファイルにした方が良いんじゃないか、って話 をしたことがありました。

メタデータを外部ファイルにしていない場合のサイズ感とかは調べ切れてないので、この場では扱えませんの。すみませんの。

今回は keine.system とか言う名前のzvolが対象のLU(サイズは40GB)です。

Proxmox VE側のディスクは SCSI / 40GB / RAW を選択して、既に仮想マシンが作成されているものとします。(SCSI部分は旧仮想マシンの設定に沿うように作ります)

以下移行手順:

# zfs list | grep keine
dango-01/iSCSI/keine                          74.4G   507G    36K  /dango-01/iSCSI/keine
dango-01/iSCSI/keine/keine.system             74.4G   545G  32.0G  -
# ls -la /dev/zvol/rdsk/dango-01/iSCSI/keine/keine.system
lrwxrwxrwx 1 root root 0 2016-02-27 21:29 /dev/zvol/rdsk/dango-01/iSCSI/keine/keine.system -> ../../../../../..//devices/pseudo/zfs@0:14,raw
# sbdadm list-lu | grep keine
600144f028de8f000000507c269d0001  42949672960          /dev/zvol/rdsk/dango-01/iSCSI/keine/keine.system
# stmfadm delete-lu -k 600144f028de8f000000507c269d0001
# dd if=/dev/zvol/rdsk/dango-01/iSCSI/keine/keine.system of=/dango-01/nfs/qemu-images/images/1046/vm-1046-disk-1.raw bs=4M

delete-luをしておかないと、ddする時に Device busy とか言われます。

これ自体は zvol を zfs rollback する時にも言われることなので、実際よくあることなのですが、割と鬱陶しいです。STMF使うのやめようと思う程度には。

これで大丈夫のはずなので、Proxmox VEで仮想マシンを起動。

ハードウェアの変更に伴って起動しないなどの問題はあるかもしれないけど、それはそれ。これはこれ。(Archを適当に移動したらUUIDが一致しねーよ、って言われたから mkinitcpio -p linux したことはある)

自宅では OpenIndiana + iSCSI で動く仮想マシンと、VMware ESXiで動いている仮想マシンが無くなった。

これでようやくESXiを除却できる。はー、長かった。

次はOIのNFSをGlusterFSにしていくとか、色々あるのだけどまだまだ苦悩は続きそう。