我以前问过类似的问题。这次我想为两个 iSCSI Target 使用子网,因此我开始了一个新问题。
我有一台旧的 Promise VTrak M500i SAN 服务器。它带有 2 个 iSCSI 端口。我想通过 CentOS 5.7 64 位服务器的两个独立目标连接到 SAN 服务器上的两个 LUN。
我的网络设置如下:
CentOS 服务器:
Management network - 192.168.1.1
Storage network 1 - 192.168.5.2
Storage network 2 - 192.168.6.2
Promise SAN服务器:
Management network - 192.168.1.2
iSCSI Port 1 - 192.168.5.1
iSCSI Port 2 - 192.168.6.1
我在这个 SAN 上有两个逻辑驱动器,它们的映射如下:
Index Initiator Name LUN Mapping
0 iqn.2011-11:backup (LD0,0)
1 iqn.2011-11:template (LD1,1)
基本上,我想要
the traffic to iqn.2011-11:backup LUN 0 through 192.168.5.1 network
the traffic to iqn.2011-11:template LUN 1 through 192.168.6.1 network
我不使用 MPIO,只是想分离流量以避免拥堵。我该如何实现这一点?我对 SAN 还不熟悉,请尽可能详细地解释一下。谢谢。
以下是我目前正在做的事情。
将 LUN 映射到我预定义的启动器后,CentOS 服务器可以发现两个目标。
[root@centos ~]# iscsiadm -m discovery -t sendtargets -p 192.168.5.1
192.168.5.1:3260,1 iscsi-1
192.168.6.1:3260,2 iscsi-1
[root@centos ~]# iscsiadm -m discovery -t sendtargets -p 192.168.6.1
192.168.6.1:3260,2 iscsi-1
192.168.5.1:3260,1 iscsi-1
[root@centos ~]# /etc/init.d/iscsi start
iscsid is stopped
Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets:
Logging in to [iface: default, target: iscsi-1, portal: 192.168.6.1,3260]
Logging in to [iface: default, target: iscsi-1, portal: 192.168.5.1,3260]
Login to [iface: default, target: iscsi-1, portal: 192.168.6.1,3260] successful.
Login to [iface: default, target: iscsi-1, portal: 192.168.5.1,3260] successful.
[ OK ]
[root@centos ~]# iscsiadm -m session
tcp: [1] 192.168.6.1:3260,2 iscsi-1
tcp: [2] 192.168.5.1:3260,1 iscsi-1
当我检查 SAN 服务器上两个逻辑驱动器的 LUN 映射时,两个 LUN 都通过 Port0-192.168.5.2 与 CentOS 中定义的启动器连接。
指定发起者列表:
Initiator Name Alias IP Address LUN
iqn.2011-11.centos centos.mydomain.com Port0-192.168.5.2 0
Initiator Name Alias IP Address LUN
iqn.2011-11.centos centos.mydomain.com Port1-192.168.5.2 1
我认为以下是我想要的:
Initiator Name Alias IP Address LUN
iqn.2011-11.backup centos.mydomain.com Port0-192.168.5.2 0
Initiator Name Alias IP Address LUN
iqn.2011-11.template centos.mydomain.com Port0-192.168.6.2 1
答案1
M500i 上的第二个 iSCSI 连接是为了冗余,而不是为了负载平衡,如果主连接处于活动状态,则不起作用。如果拔下主连接(iSCSI 端口 1),它们都应该连接到备份连接。
答案2
如果可以通过不同的子网访问目标,则无论命令显示什么,Linux 内核都会通过可以访问特定子网的接口路由数据包。只需在向每个目标发送 IO 时监视接口,您就会看到每个接口都在工作。
如果要手动将接口分配给 iscsi 会话,则需要使用-I interface
带有命令的交换机iscsiadm
,这将导致发现/登录/会话详细信息映射到特定接口。考虑到您的具体目标(我不同意这些目标),这实际上没有必要