在 smartos 上托管 iscsi

在 smartos 上托管 iscsi

我正在尝试重新回到 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 上启动时都会发生,因此客户端无法自动重新连接。

相关内容