我正在尝试使用 来设置我的 iSCSI 服务器targetcli
。初始设置进展顺利,我的 Windows iSCSI 启动器可以连接到我的第一个目标/门户/LUN。
现在我正在尝试设置另一个 LUN。我希望它是独立的,这样我的 Windows 客户端就不会尝试挂载它,并且我的 Ubntu 客户端只会挂载新的 LUN。
因此,我在 iscsi 下创建了另一个目标,添加了一个 tpg 并在那里设置了一个新的 acl,并将 iblock 后台存储绑定到它。据我所知,设置与原始目标完全相同。我还添加了一个门户到 0.0.0.0:3260,与原始目标相同。
现在,在我的客户端 Ubuntu 中发出 discovery ( iscsiadm -m discovey -t st -p myserver
) 可以正确识别这两个目标。
然而,我的下一步尝试登录 ( iscsiadm -m node --login
) 失败,并显示消息24 - iSCSI login failed due to authorization failure
。
- 我尝试将凭据信息添加为在这里建议没有成功。
- 删除目标 ACL 也没有给我带来任何快乐。
- 还在原始目标中设置两个不同的 ACL。
无论如何,此时我现在无法完成第二步(登录)。如果我理解正确的话,这也会将目标上的所有 LUN 连接到我的 ubuntu 启动器。我显然在这里遗漏了一些细节,希望得到任何指点。
每个 acl 的身份验证用户 ID 设置为与 acl 名称相同的名称,密码设置为 12 到 16 个字符长。在一个实例中,ACL 名称与 Windows iSCSI 发起程序建议的名称相同,在另一种情况下,我只是使用相同的格式编写了一些名称,但公司名称和发起程序计算机名称不同。 tpg 设置为 ACL 身份验证优先。
答案1
事实证明,问题在于我正在使用的 open-iscsi 启动器 - iscsiadm
- (自然地)提供了自己的启动器 id。
dmesg
我通过在登录尝试失败后立即检查输出来获取此 ID 。这些条目说的是这样的:
[1246730.912317] iSCSI Initiator Node: iqn.1993-08.org.debian:zz:xxxxxxxxxxx is not authorized to access iSCSI target portal group: 1.
[1246730.912387] iSCSI Login negotiation failed.
编辑:id 位于/etc/iscsi/initiatorname.iscsi
登录问题中指定的配置的整个过程如下:
iscsiadm -m discovery -t st -p server_name_or_ip
(check initiator id on the client /etc/iscsi/initiatorname.iscsi)
create an ACL at server named same as initiator id. set its auth userid and password to whatever you want
iscsiadm -m node --op=update --name node.session.auth.authmethod --value=CHAP
iscsiadm -m node --op=update --name node.session.auth.username --value=(whatever you have set your userid in ACL auth settings)
iscsiadm -m node --op=update --name node.session.auth.password --value=(whatever you have set your password in ACL auth settings)
iscsiadm -m node --login
最后一个(登录)命令现在将起作用,并将附加为 ACL 映射的 LUN。