istgtからSTMF(COMSTAR)への移行調査 - File to File編

Posted on 2011/08/25(Thu) 02:40 in technical

FreeBSD + ZFS + istgtなiSCSI環境を、OpenIndiana + ZFS + COMSTARなiSCSI環境へ移設することを検討する。

現状を以下のような構成とする。:

OS : FreeBSD 8.1
ZFS : ZFSv3, ZPOOLv14
iSCSI : istgt
LU Files : /mnt/iSCSI/{$HOSTNAME}/{$LUNAME}

zfs rollbackを容易にするため、istgtにTarget or LUを追加する際には、:

zfs create /mnt/iSCSI/{$HOSTNAME}

として、階層を生成してLUファイル郡を置き、上記階層を定期snapshotスクリプトに追加している。

上記環境でzfs create -V 20G tank/iscsi-01等を使用している場合、zfs send/recvによる移設方式となるため、

逆にCOMSTAR環境をやめてistgtに戻ろうとした場合にZFS/ZPOOLのバージョン差異に悩まされることになると思うのだが、今回はそういった環境が無いので割愛。

ファイル構成なので、1つの注意点を除き簡単に移設可能であることが確認できている。

(とはいえ、GB単位のLUファイル郡の移動にかかる時間と手間、当該LU上で動作していると推測される仮想マシンのダウンタイムをゼロにしようとする試みを無視すれば、の話)

以下手順(今回はLUの移動にSFTPを使用しているけど、物理ディスクを差し替えてzfs importするのが最速のはず):

sftp older-sister@192.168.11.9
get /mnt/iSCSI/misaka/misaka.system
exit
# *1)
touch misaka.system.meta
# *2)
stmfadm create-lu -p meta=misaka.system.meta misaka.system
stmfadm add-view 600144F06286850000004E552BD450008
itadm create-target

見え方としてはこうなる。:

stmfadm list-lu -v
  LU Name: 600144F06286850000004E552BD450008
      Operational Status: Online
      Provider Name     : sbd
      Alias             : /mnt/iscsi/misaka.system.meta
      View Entry Count  : 1
      Data File         : /mnt/iscsi/misaka.system
      Meta File         : /mnt/iscsi/misaka.system.meta
      Size              : 42949672960
      Block Size        : 512
      Management URL    : not set
      Vendor ID         : OI
      Product ID        : COMSTAR
      Serial Num        : not set
      Write Protect     : Disabled
      Writeback Cache   : Enabled
      Access State      : Active
strings ./misaka.system.meta
  ULDBSNUS
  /mnt/iscsi/misaka.system
  /mnt/iscsi/misaka.system.meta
stmfadm list-target -v
  Target: iqn.1986-03.com.sun:02:0f10813c-0184-c3da-989f-cdfeedad318b
      Operational Status: Online
      Provider Name     : iscsit
      Alias             : -
      Protocol          : iSCSI
      Sessions          : 0

FreeBSDのistgtはLU Fileに別段情報を書きこまないが、OpenIndianaのSTMFはcreate-lu時に64KBの管理情報を書き込んでしまうので、MBR/GPT/Partition情報が消えてしまう。

一応、Manにも書いてなくもないけど、読み取るのは少し面倒。

逆にCOMSTAR環境からistgt環境へ戻る場合は、実データファイルだけ移動して、istgtのLUN Storage設定を書き直すだけ。これはほとんど説明不要。

参考資料(metaの外出しに関して言及している資料が中々無くて...)

http://wikis.sun.com/download/attachments/204308497/osol_comstar_20100522.pdf

ファイルベースの移設に関しては、ここまで。