- 個人用途でiSCSI接続認証を設定する目的
- solarisのZFSボリュームをiSCSIターゲットとして公開し、VMwareやHyper-Vから利用する場合に、うっかりボリュームを別形式でフォーマットしてしまう誤操作を防止する。
- VMware ESXi 4は、ボリュームをマウントする際、VMFSとして認識できないとき(NTFSなど)にはユーザー確認を出すことなく、無条件でVMFS形式でフォーマットしてしまう。
- ターゲット側で、接続してくるイニシエーターを限定すれば、ある程度この誤操作を防止することができる。
- 認証の方式
- solaris 10のiSCSIターゲットには、接続するiSCSIイニシエーターを限定する仕組みとして、ACL機能とCHAP認証機能が備わっている。
- どちらの方式も、ターゲット側は公開するボリューム毎に設定できるが、イニシエーター側はホスト単位で設定することになる。
- VMwareとHyper-Vの混同を避ける目的には、ホスト(ハイパーバイザー)単位で別のものを指定できるため、有効に働く。
- 同じVMware ESXiホスト上で、VMFSボリュームとRDM(Raw Device Mapping)ボリュームを誤ってマウントしない目的には、使えない。名前(iqn)もCHAP秘密鍵も、同じホストである限り、VMFSとRDMで共通の値になってしまうからである。
- 個人の誤操作を防止する用途では、CHAPまでは不要で、ACLだけ設定すれば十分と思われる。
★ACLの設定準備/イニシエーター側 (VMware、Hyper-V)
- iqn名を定める。イニシエーター側ドライバーが勝手に定めるデフォルト値は、再インストールやアップデートをした際に変わってしまう恐れがあるため、利用者が定めた文字列で明示的に設定しておくほうが良いと思われる。
★ACLの設定方法/ターゲット側 (Solaris)
- 正規のイニシエーターiqn名は文字列が長すぎて扱いにくいため、ローカルイニシエーター名を設定する
# iscsitadm create initiator --iqn iqn.1998-01.com.vmware:hydro-12345678 hydro-vm
# iscsitadm create initiator --iqn iqn.1998-01.com.vmware:black-12345678 black-vm
# iscsitadm list initiator -v
Initiator: black-vm
iSCSI Name: iqn.1998-01.com.vmware:black-12345678
CHAP Name: Not set
CHAP Secret: Not set
Initiator: hydro-vm
iSCSI Name: iqn.1998-01.com.vmware:hydro-12345678
CHAP Name: Not set
CHAP Secret: Not set
# iscsitadm modify target --acl hydro-vm tank/vmvol
# iscsitadm modify target --acl black-vm tank/vmvol
# iscsitadm list target -v tank/vmvol
Target: tank/vmvol
iSCSI Name: iqn.1986-03.com.sun:01:a1b2c3d4-e5f6-g7h8-i9j0-1234567890ab
Alias: tank/vmvol
Connections: 0
ACL list:
Initiator: black-vm
Initiator: hydro-vm
TPGT list:
LUN information:
LUN: 0
GUID: xxxxxxxxxxxxxxxxxxxxxxxx
VID: SUN
PID: SOLARIS
Type: disk
Size: 500G
Backing store: /dev/zvol/rdsk/tank/vmvol
Status: online
- 注意点
- 認証設定は、イニシエーター/ターゲットの接続が確立する前に実施すること。確立後に設定すると、接続が切れる(イニシエーター側サーバがシャットダウンする等)までは認証は機能しない。
最終更新:2009年10月24日 23:51