通过通用多协议 SCSI 目标 (Common Multiprotocol SCSI Target, COMSTAR) 软件框架,可以将任何 Oracle Solaris 主机转换为启动器主机可以通过存储网络访问的 SCSI 目标设备。可以创建和配置要作为 iSCSI 逻辑单元 (LUN) 共享的 ZFS 卷。
首先,安装 COMSTAR 软件包。
# pkg install group/feature/storage-server
接下来,创建要用作 iSCSI 目标的 ZFS 卷,然后创建基于 SCSI 块设备的 LUN。例如:
# zfs create -V 2g tank/volumes/v2 # sbdadm create-lu /dev/zvol/rdsk/tank/volumes/v2 Created the following LU: GUID DATA SIZE SOURCE -------------------------------- ------------------- ---------------- 600144f000144f1dafaa4c0faff20001 2147483648 /dev/zvol/rdsk/tank/volumes/v2 # sbdadm list-lu Found 1 LU(s) GUID DATA SIZE SOURCE -------------------------------- ------------------- ---------------- 600144f000144f1dafaa4c0faff20001 2147483648 /dev/zvol/rdsk/tank/volumes/v2
您可以向所有客户机或选定的客户机公开 LUN 视图。确定 LUN GUID,然后共享 LUN 视图。在以下示例中,LUN 视图由所有客户机共享。
# stmfadm list-lu LU Name: 600144F000144F1DAFAA4C0FAFF20001 # stmfadm add-view 600144F000144F1DAFAA4C0FAFF20001 # stmfadm list-view -l 600144F000144F1DAFAA4C0FAFF20001 View Entry: 0 Host group : All Target group : All LUN : 0
下一步是创建 iSCSI 目标。有关创建 iSCSI 目标的信息,请参见在 Oracle Solaris 11.2 中管理设备 中的第 8 章 使用 COMSTAR 配置存储设备。
对于用作 iSCSI 目标的 ZFS 卷,其管理方式与任何其他 ZFS 数据集一样,不过,在 ZFS 卷被作为 iSCSI LUN 共享时,您无法重命名数据集、回滚卷快照或者导出池。将显示以下类似消息:
# zfs rename tank/volumes/v2 tank/volumes/v1 cannot rename 'tank/volumes/v2': dataset is busy # zpool export tank cannot export 'tank': pool is busy
所有 iSCSI 目标配置信息都存储在数据集内。与 NFS 共享文件系统相似,在其他系统中导入的 iSCSI 目标也会相应进行共享。