gak*_*gak 3 solaris zfs iscsi openindiana
我正在尝试将 ZFS 文件系统呈现为 iSCSI 目标。这最终是为了将它与 OS X Time Machine 一起使用,但这应该与这个问题无关。
# zfs get all | grep scsi
Run Code Online (Sandbox Code Playgroud)
从几篇博客文章来看,它似乎应该有一个“shareiscsi”属性。但为了彻底,我安装了 iscsi 目标包,希望它会出现:
# pkg install pkg:/network/iscsi/target
# svcadm enable -rs network/iscsi/target
# svcs | grep scsi
online Mar_30 svc:/network/iscsi/initiator:default
online 6:02:56 svc:/network/iscsi/target:default
Run Code Online (Sandbox Code Playgroud)
属性中仍然没有shareiscsi。我确实看到了一篇关于必须安装“SUNWiscsitgt”的博客文章,但根据 pkg,它已经过时了:
# pkg info -r SUNWiscsitgt
Name: SUNWiscsitgt
State: Not installed (Obsolete)
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
看来 OpenIndiana 不使用 shareiscsi 属性。此外(也许相关)COMSTAR 不包含在基本安装中。所以我启动了一个新的 OpenIndiana VM 并运行以下命令,并且能够创建、共享和挂载一个稀疏的 LUN,而没有任何戏剧性:
sudo -s
pkg install network/iscsi/target
svcadm enable -s stmf
svcadm enable -s iscsi/target
zfs create -o mountpoint=none rpool/iscsi
zfs create -V 8G -s rpool/iscsi/yourmom
sbdadm create-lu /dev/zvol/rdsk/rpool/iscsi/yourmom
sbdadm list-lu
Run Code Online (Sandbox Code Playgroud)
使用 sbdadm 输出中的 GUID(下面是我的 GUID):
stmfadm add-view 600144f096c28d0000004dbeb9df0001
itadm create-target
itadm list-target
Run Code Online (Sandbox Code Playgroud)
获取您的目标名称(例如:iqn.1986-03.com.sun:02:9f57392e-9859-61fe-ec5c-da681f9214dd)并将其放入您的 iSCSI 启动器(我在我的 mac 上使用免费的globalSAN iSCSI)以及OpenIndiana 机器的 IP 地址(或主机名)。多田。
来源:在 Nexenta Wiki 上设置 COMSTAR 和 iSCSI 目标。