通过设置卷的 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 目标和启动器的更多信息,请参见《系统管理指南:设备和文件系统》中的第 15 章 “配置 Solaris iSCSI 启动器(任务)”。
也可以使用 iscsitadm 命令来创建和管理 Solaris iSCSI 目标。如果对 ZFS 卷设置 shareiscsi 属性,请勿使用 iscsitadm 命令再创建同一目标设备。否则将为同一设备创建重复的目标信息。
可以像管理其他 ZFS 数据集一样来管理作为 iSCSI 目标的 ZFS 卷。不过,对于 iSCSI 目标而言,rename、export 和 import 操作的工作方式略有不同。
重命名 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 目标也会相应进行共享。