ボリュームに shareiscsi プロパティーを設定すれば、簡単に ZFS ボリュームを iSCSI ターゲットとして作成できます。次に例を示します。
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
iSCSI ターゲットが作成されたら、iSCSI イニシエータを設定します。Solaris iSCSI ターゲットおよびイニシエータの詳細については、『Solaris のシステム管理 (デバイスとファイルシステム)』の第 14 章「Oracle Solaris iSCSI ターゲットおよびイニシエータの構成 (手順)」を参照してください。
また、Solaris iSCSI ターゲットは、iscsitadm コマンドを使って作成および管理することもできます。ZFS ボリュームに shareiscsi プロパティーを設定した場合は、iscsitadm コマンドを使用して同じターゲットデバイスをまた作成しないでください。そうしないと、同じデバイスに対して重複したターゲット情報が作成されてしまいます。
iSCSI ターゲットとしての ZFS ボリュームは、ほかの ZFS データセットとまったく同じように管理されます。ただし、iSCSI ターゲットでは、名前の変更、エクスポート、およびインポートの操作が少し異なります。
ZFS ボリュームの名前を変更しても、iSCSI ターゲットの名前は変わりません。次に例を示します。
# zfs rename tank/volumes/v2 tank/volumes/v1 # iscsitadm list target Target: tank/volumes/v1 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
共有 ZFS ボリュームが含まれるプールをエクスポートすると、ターゲットが削除されます。共有 ZFS ボリュームが含まれるプールをインポートすると、ターゲットが共有されます。次に例を示します。
# zpool export tank # iscsitadm list target # zpool import tank # iscsitadm list target Target: tank/volumes/v1 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
iSCSI ターゲットの構成情報はすべてデータセット内に格納されます。NFS 共有ファイルシステムと同様に、別のシステム上にインポートされる iSCSI ターゲットは正しく共有されます。