25.14. 配置 iSCSI 卸载和接口绑定


本章论述了如何在使用软件 iSCSI 时设置 iSCSI 接口,以便将会话绑定到 NIC 端口。它还描述了如何设置接口以用于支持卸载的网络设备。
可以配置网络子系统来确定 iSCSI 接口应该用于绑定的路径/NIC。例如,如果在不同子网中设置了端口和 NIC,则不需要为绑定手动配置 iSCSI 接口。
在尝试为绑定配置 iSCSI 接口前,请先运行以下命令:
$ ping -I ethX target_IP
如果 ping 失败,您将无法将会话绑定到 NIC。如果是这种情况,请先检查网络设置。

25.14.1. 查看可用的 iface 配置

以下 iSCSI 启动器实现支持 iSCSI 卸载和接口绑定:
软件 iSCSI
此堆栈为每个会话分配一个 iSCSI 主机实例(即 scsi_host),每个会话都有一个连接。因此,/sys/class_scsi_host/proc/scsi 将为您登录的每个连接/会话报告一个 scsi_host
卸载 iSCSI
此堆栈为每个 PCI 设备分配一个 scsi_host。因此,主机总线适配器中的每个端口都显示为不同的 PCI 设备,每个 HBA 端口都有不同的 scsi_host
要管理两种类型的启动器,iscsiadm 使用 iface 结构。使用这种结构时,必须在用于绑定会话的每个 HBA 端口、软件 iSCSI 或网络设备(ethX)的 /var/lib/iscsi/ifaces 中输入 iface 配置。
要查看可用的 iface 配置,请运行 iscsiadm -m iface。这将以以下格式显示 iface 信息:
iface_name transport_name,hardware_address,ip_address,net_ifacename,initiator_name
对于每个值/设置的解释,请参考下表。
表 25.2. iface 设置
设置描述
iface_nameiface 配置名称。
transport_name驱动程序的名称
hardware_addressMAC 地址
ip_address此端口使用的 IP 地址
net_iface_name用于软件 iSCSI 会话的 vlan 或别名绑定的名称。对于 iSCSI 卸载,net_iface_name 将是 <empty>,因为这个值在重启后不会保留。
initiator_name此设置用于覆盖启动器的默认名称,该名称在 /etc/iscsi/initiatorname.iscsi中定义

例 25.6. iscsiadm -m iface 命令的输出示例

以下是 iscsiadm -m iface 命令的输出示例:
iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
对于软件 iSCSI,每个 iface 配置都必须具有唯一的名称(少于 65 个字符)。支持卸载的网络设备的 iface_name 显示为 transport_name 格式。hardware_name.

例 25.7. 带有 Chelsio 网卡的 iscsiadm -m iface 输出

例如,使用 Chelsio 网卡的系统上的 iscsiadm -m iface 输出示例可能显示为:
default tcp,<empty>,<empty>,<empty>,<empty>
iser iser,<empty>,<empty>,<empty>,<empty>
cxgb3i.00:07:43:05:97:07 cxgb3i,00:07:43:05:97:07,<empty>,<empty>,<empty>
也可以以更友好的方式显示特定 iface 配置的设置。为此,请使用选项 -I iface_name。这将以以下格式显示设置:
iface.setting = value

例 25.8. 使用带有 Chelsio 融合网络适配器的 iface 设置

使用前面的示例,同一 Chelsio 聚合网络适配器的 iface 设置(即 iscsiadm -m iface -I cxgb3i.00:07:43:05:97:07)将显示为:
# BEGIN RECORD 2.0-871
iface.iscsi_ifacename = cxgb3i.00:07:43:05:97:07
iface.net_ifacename = <empty>
iface.ipaddress = <empty>
iface.hwaddress = 00:07:43:05:97:07
iface.transport_name = cxgb3i
iface.initiatorname = <empty>
# END RECORD

25.14.2. 为软件 iSCSI 配置 iface

如前文所述,每个网络对象都需要一个 iface 配置,用于绑定会话。
之前
要为软件 iSCSI 创建 iface 配置,请运行以下命令:
# iscsiadm -m iface -I iface_name --op=new
这将创建一个带有指定 iface _name 的新 iface 配置。如果现有的 iface 配置已经具有相同的 iface_name,那么它将被一个新的空 iface_name 覆盖。
要配置 iface 配置的特定设置,请使用以下命令:
# iscsiadm -m iface -I iface_name --op=update -n iface.setting -v hw_address

例 25.9. 设置 MAC 地址 iface0

例如,要将 iface0 的 MAC 地址(hardware_address)设置为 00:0F:1F:92:6B:BF,请运行:
# iscsiadm -m iface -I iface0 --op=update -n iface.hwaddress -v 00:0F:1F:92:6B:BF
警告
不要使用 defaultiser 作为 iface 名称。这两个字符串都是 iscsiadm 使用的特殊值,用于向后兼容。任何手动创建的名为 defaultiseriface 配置都会禁用向后兼容。

25.14.3. 为 iSCSI 卸载配置 iface

默认情况下,iscsiadm 为每个端口创建一个 iface 配置。要查看可用的 iface 配置,请使用软件 iSCSI 中的相同命令: iscsiadm -m iface
在对 iSCSI 卸载使用网卡的 iface 之前,首先将卸载接口的 iface.ipaddress 值设置为接口应使用的启动器 IP 地址:
  • 对于使用 be2iscsi 驱动程序的设备,IP 地址在 BIOS 设置屏幕中配置。
  • 对于所有其他设备,若要配置 iface 的 IP 地址,请使用:
    # iscsiadm -m iface -I iface_name -o update -n iface.ipaddress -v initiator_ip_address

例 25.10. 设置 Chelsio 卡的 iface IP 地址

例如,在使用 iface 名称 cxgb3i.00:07:43:05:97:07 时,要将 iface IP 地址设置为 20.15.0.66,请使用:
# iscsiadm -m iface -I cxgb3i.00:07:43:05:97:07 -o update -n iface.ipaddress -v 20.15.0.66

25.14.4. 绑定/解绑到端口的 iface

每当使用 iscsiadm 扫描互连时,它将首先检查 /var/lib/iscsi/ifaces 中每个 iface 配置的 iface.transport 设置。然后,iscsiadm 工具将发现的端口绑定到其 iface.transporttcp 的任何 iface。
实现此行为是出于兼容的原因。要覆盖此功能,请使用 -I iface_name 指定哪个端口绑定到 iface,如下所示:
# iscsiadm -m discovery -t st -p target_IP:port -I iface_name -P 1
[5]

默认情况下,iscsiadm 工具不会自动将任何端口绑定到使用卸载的 iface 配置。这是因为此类 iface 配置不会将 iface.transport 设置为 tcp。因此,iface 配置需要手动绑定到发现的门户。
也可以防止端口绑定到任何现有的 iface。要做到这一点,使用 default 作为 iface_name,如下所示:
# iscsiadm -m discovery -t st -p IP:port -I default -P 1
要删除目标和 iface 之间的绑定,请使用:
# iscsiadm -m node -targetname proper_target_name -I iface0 --op=delete[6]
要删除特定 iface 的所有绑定,请使用:
# iscsiadm -m node -I iface_name --op=delete
要删除特定端口(例如,Equalogic 目标)的绑定,请使用:
# iscsiadm -m node -p IP:port -I iface_name --op=delete
注意
如果没有在 /var/lib/iscsi/ iface 中定义的 iface 配置,并且没有使用 -I 选项,iscsiadm 将允许网络子系统决定特定门户应使用哪个设备。


[6] Refer to 第 25.15 节 “扫描 iSCSI Interconnects” for information on proper_target_name.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.