![在 smartos 上托管 iscsi](https://linux22.com/image/1303969/%E5%9C%A8%20smartos%20%E4%B8%8A%E6%89%98%E7%AE%A1%20iscsi.png)
我正在尝试重新回到 unix 游戏,以进行一些我们正在进行的存储项目。我们很乐意为此使用 joyents smartos(基于 illumos)。
使用它真的很快乐(设置 vms 等)但我无法让 iscsi 工作。
我很想简单地共享一个 zfs 设备作为 iscsi 连接点,但无法让它工作。我也无法让 smb 或 nfs 工作,但这些属性至少存在,我相信它们会起作用。
我能找到的文档似乎有点混乱,有一些旧的 solaris、新的 solaris、illumos 的东西等等。不过这是可以理解的,因为它是一个新版本。
有人能指点一下吗?
我已经尝试过了
zfs set shareiscsi=on zones/name
结果显示“未知属性”。而且它也没有列在 zfs 属性中。
我也试过
sbdadm create-lu /dev/zvol/rdsk/zones/
但这导致
sbdadm: unknown error
itadm 也不可用,并且“svcs”中未列出包含 iscsi 的服务。
任何帮助是极大的赞赏。
更新:看来 iscsi 是由 COMSTAR 提供的,并且与旧版 solaris 提供的方式不同,因此设置 shareiscsi 不受支持。
更新:我发现需要为其启动 stmf 服务(与 COMSTAR 相关)。遗憾的是它处于维护模式 (svcs|grep stmf) 登录 /var/svc/log/system-stmf:default.log 说:
svc-stmf: Unable to load the configuration. See /var/adm/messages for details
/var/adm/messages 显示:
svc:/system/stmf:default: Method "/lib/svc/method/svc-stmf start" failed with exit status 1.
system/stmf:default failed: transitioned to maintenance (see 'svcs -xv' for details)
可能缺少驱动程序,但是缺少哪一个?以及如何安装它?
答案1
创建 ISCSI 目标
如果需要,启用存储服务器和 iscsi 目标服务器
svcadm enable stmf
svcadm enable -r svc:/network/iscsi/target:default
如果需要,创建一个卷(例如稀疏的 10T)
zfs create -V 10T -s zones/iscsi
创建逻辑单元
sbdadm create-lu /dev/zvol/rdsk/zones/iscsi
在其上添加一个视图(GUID由前面的命令或list-lu输出)
stmfadm add-view GUID
创建要连接的目标组(选择一个 GROUPNAME 和一个 TARGETNAME 并使用当前服务器的 IP)示例 TARGETNAME 可以是:iqn.2010-08.org.illumos:02:iscsi-100T其中iscsi-100T部分可以是任何你喜欢的。我认为创建目标组不是必要的,尽管这可能是明智的。
itadm create-tpg GROUPNAME IP
在此组中创建目标
itadm create-target -t GROUPNAME -n TARGETNAME
顺便说一句:如果您不设置 TARGETNAME,则会生成一个唯一标识符。但这种情况每次在 smartos 上启动时都会发生,因此客户端无法自动重新连接。