はじめに
FreeBSD + ZFS + istgtなiSCSI環境を、OpenIndiana + ZFS + COMSTARなiSCSI環境へ移設することを検討する。
現状を以下のような構成とする。
- OS : FreeBSD 8.1-RELEASE
- ZFS : ZFS v3, ZPOOL v14
- iSCSI : istgt
- LU Files :
/mnt/iSCSI/${HOSTNAME}/${LUNAME}
zfs rollbackを容易にするため、istgtにTarget or LUを追加する際には、
1
|
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上で動作していると推測される仮想マシンのダウンタイムをゼロにしようとする試みを無視すれば、の話)
手順
1
2
3
4
5
6
7
8
9
|
# 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
|
見え方としてはこうなる。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# 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
|
Note
今回はLUの移動にSFTPを使用しているけど、物理ディスクを差し替えてzfs importするのが最速のはず
FreeBSDのistgtはLU Fileに別段情報を書きこまないが、OpenIndianaのSTMFはcreate-lu時に64KBの管理情報を書き込んでしまうので、MBR/GPT/Partition情報が消えてしまう。
一応、Manにも書いてなくもないけど、読み取るのは少し面倒。
逆にCOMSTAR環境からistgt環境へ戻る場合は、実データファイルだけ移動して、istgtのLUN Storage設定を書き直すだけ。これはほとんど説明不要。
参考資料(metaの外出しに関して言及している資料が中々無くて…)
ファイルベースの移設に関しては、ここまで。