我有三台 CentOS 6.4 机器,正在尝试配置它们以使用 iSCSI。基本上两个不同的启动器与单个主机服务器上的两个不同目标进行通信。
在一台机器(即“服务器”)上,我定义了两个目标,/etc/tgt/targets.conf
每个目标指向不同的逻辑磁盘。配置节几乎相同,只是名称和initiator-address
字段不同。
/etc/tgt/targets.conf
这些是没有被注释掉的行。
default-driver iscsi
<target iqn.2013-08.com.example.group:backup>
backing-store /dev/primary/backup
initiator-address <ip address>
incominguser username password
</target>
<target iqn.2013-08.com.example.group:migrations>
backing-store /dev/primary/migrations
initiator-address <ip address>
incominguser username password
</target>
当我运行时,tgt-admin -s
我按预期显示了两个目标。但是,其中一个目标仅显示 1 个 LUN(0 个控制器),而另一个目标显示 2 个 LUN(一个控制器和一个磁盘)。我不知道这是否重要。
遗憾的是,第一个目标(带磁盘 LUN)能够被其启动器访问,并且机器可以挂载空间,一切都很顺利。第二个目标(带磁盘 LUN)无法被启动器访问。当我运行时,iscsiadm -m discovery -t sendtargets -p <ipaddr>
我得到了结果iscsiadm: No portals found
。
更糟糕的是,即使我在第二个目标时期望从另一个地址连接,或者删除部分initiator-address
配置,其他系统似乎也看不到第二个目标。
答案1
错误:
iscsiadm:未找到门户。
问题:这是一个 acl 问题。
解决方案:在 iSCSI-Target 中运行以下命令:
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL #In Target
然后运行以下命令:
iscsiadm -m discoverydb -t st --p 192.168.1.5 #It will work... Enjoy.
命令:“tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL”将 iscsi 目标(id = 1)设置为接受所有启动器。您还可以指定一个 IP 地址或 IP 地址范围来接受启动器。不幸的是,我似乎找不到一种方法来使其成为默认行为,并且每次 iscsi 服务停止时设置似乎都会重置。