配置 Proxmox VE 9.x 以支持 FCP 和 iSCSI 以及ONTAP存储
配置 Proxmox VE 9.x 以实现多路径,并为与ONTAP存储的 FCP 和 iSCSI 协议操作设置特定的参数和设置。
FCP 和 iSCSI 与 Proxmox VE 9.x 存在以下已知限制:
-
Linux 主机实用程序不支持 Proxmox VE 9.x 操作系统。
-
不支持 SAN 启动配置。
步骤 1:确认主机的多路径配置
您可以使用 Proxmox VE 9.x 的多路径功能来管理ONTAP LUN。
要确保为主机正确配置了多路径、请验证是否已定义此 `/etc/multipath.conf`文件、以及是否已为ONTAP LUN配置了NetApp建议的设置。
-
验证文件是否 `/etc/multipath.conf`退出。如果此文件不存在、请创建一个空的零字节文件:
touch /etc/multipath.conf -
首次创建文件时
multipath.conf、您可能需要启用并启动多路径服务以加载建议的设置:systemctl enable multipathdsystemctl start multipathd -
每次启动主机时、空的 `/etc/multipath.conf`零字节文件都会自动加载NetApp建议的主机多路径参数作为默认设置。您无需更改 `/etc/multipath.conf`主机的文件、因为操作系统使用可正确识别和管理ONTAP LUN的多路径参数进行编译。
下表显示了ONTAP LUN的Linux操作系统本机编译多路径参数设置。
显示参数设置
参数 正在设置 … detect_prio
是的。
dev_los_TMO
" 无限 "
故障恢复
即时
fast_io_fail_sMO
5.
features
"2 pG_INIT_retries 50"
flush_on_last_del
“总是”
硬件处理程序
“1”
no_path_retry
队列
path_checker
"TUR"
path_grouping_policy
"Group_by-prio"
path_selector
" 服务时间 0"
Polling interval
5.
PRIO
ONTAP
产品
LUN
Retain Attached Hw_handler
是的。
rr_weight
" 统一 "
user_friendly_names
否
供应商
NetApp
-
(可选)覆盖默认值 `find_multipaths`用于确保 multipathd 正确发现和管理ONTAP LUN 的参数:
-
放
find_multipaths`在默认值部分设置为“否” `/etc/multipath.conf:defaults { find_multipaths "no" } -
重新加载多路径服务:
systemctl reload multipathd
默认情况下,Proxmox OS 原生多路径配置集 `find_multipaths`设置为“严格”,并带有空零字节 `/etc/multipath.conf`每次启动主机时都会运行配置文件。这可以防止主机发现新出现的ONTAP LUN 作为多路径设备,这意味着它们不会自动出现在多路径控制之下。每次重启后,现有的ONTAP LUN 仍保持被发现状态并处于多路径控制之下。 -
-
验证ONTAP LUN的参数设置和路径状态:
multipath -ll默认多路径参数支持ASA、AFF和FAS配置。在这些配置中、一个ONTAP LUN不应需要超过四个路径。如果路径数超过四个、则可能会在存储故障期间导致路径出现问题。
以下示例输出显示了ASA、AFF或FAS配置中ONTAP LUN的正确参数设置和路径状态。
ASA配置ASA配置可优化指向给定LUN的所有路径、使其保持活动状态。这样可以同时通过所有路径提供I/O操作、从而提高性能。
显示示例
multipath -ll 3600a098038315071592b59713261566d dm-38 NETAPP,LUN C-Mode size=100G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw `-+- policy='service-time 0' prio=50 status=active |- 8:0:0:7 sdbv 68:144 active ready running |- 9:0:0:7 sdbx 68:176 active ready running |- 6:0:0:7 sdbr 68:80 active ready running `- 7:0:0:7 sdbt 68:112 active ready running
AFF或FAS配置AFF或FAS配置应具有两组优先级较高和较低的路径。优先级较高的主动/优化路径由聚合所在的控制器提供。优先级较低的路径处于活动状态、但未进行优化、因为它们由其他控制器提供服务。只有在优化路径不可用时、才会使用非优化路径。
以下示例显示了具有两条活动/优化路径和两条活动/非优化路径的ONTAP LUN 的输出:
显示示例
multipath -ll 3600a0980383149764b5d567257516273 dm-0 NETAPP,LUN C-Mode size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 16:0:3:0 sdcg 69:64 active ready running | `- 10:0:0:0 sdb 8:16 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 10:0:1:0 sdc 8:32 active ready running `- 16:0:2:0 sdcf 69:48 active ready running
步骤 2:确认主机的 iSCSI 配置
请确保为主机正确配置 iSCSI。
在 iSCSI 主机上执行以下步骤。
-
验证是否已安装 iSCSI 启动程序包 (open-iscsi):
$apt list |grep open-iscsi您应该会看到类似于以下示例的输出:
open-iscsi/noble-updates,noble-updates,now 2.1.9-3ubuntu5.4 amd64
-
验证位于
/etc/iscsi/initiatorname.iscsi文件中的 iSCSI 启动程序节点名称:InitiatorName=iqn.YYYY-MM.com.<vendor>:<host_name> -
配置位于
/etc/iscsi/iscsid.conf文件中的 iSCSI 会话超时参数:node.session.timeo.replacement_timeout = 5iSCSI
replacement_timeout参数控制 iSCSI 层在其上的任何命令失败之前应等待超时路径或会话自行重新建立多长时间。您应在 iSCSI 配置文件中将replacement_timeout的值设置为 5。 -
启用 iSCSI 服务:
$systemctl enable iscsid -
启动 iSCSI 服务:
$systemctl start iscsid -
验证 iSCSI 服务是否正在运行:
$systemctl status iscsid显示示例
●iscsid.service - iSCSI initiator daemon (iscsid) Loaded: loaded (/usr/lib/systemd/system/iscsid.service; enabled; preset: disabled) Active: active (running) since Mon 2026-01-12 12:53:18 IST; 2 days ago TriggeredBy: ● iscsid.socket Docs: man:iscsid(8) Main PID: 1127419 (iscsid) Tasks: 2 (limit: 76557) Memory: 4.3M (peak: 8.8M) CPU: 1.657s CGroup: /system.slice/iscsid.service ├─1127418 /usr/sbin/iscsid └─1127419 /usr/sbin/iscsid -
发现 iSCSI 目标:
$iscsiadm --mode discovery --op update --type sendtargets --portal <target_IP>显示示例
iscsiadm --mode discovery --op update --type sendtargets --portal 192.168.100.197 192.168.100.197:3260,1046 iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8 192.168.200.199:3260,1049 iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8 192.168.100.199:3260,1048 iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8 192.168.200.197:3260,1047 iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8
-
登录到目标:
$iscsiadm --mode node -l all -
将 iSCSI 设置为在主机启动时自动登录:
$iscsiadm --mode node -T <target_name> -p <ip:port> -o update -n node.startup -v automatic您应该会看到类似于以下示例的输出:
iscsiadm --mode node -T iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8 -p 192.168.100.197:3260 -o update -n node.startup -v automatic
-
验证 iSCSI 会话:
$iscsiadm --mode session显示示例
iscsiadm --mode session tcp: [1] 192.168.200.197:3260,1047 iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8 (non-flash) tcp: [2] 192.168.100.197:3260,1046 iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8 (non-flash) tcp: [3] 192.168.100.199:3260,1048 iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8 (non-flash) tcp: [4] 192.168.200.199:3260,1049 iqn.1992-08.com.netapp:sn.7cd154a7d35411f0a25ed039eaa95f59:vs.8 (non-flash)
步骤 3:(可选)从多路径中排除设备
如果需要、您可以将不需要的设备的WWID添加到文件的"黑名单"部分、从而将该设备从多路径中排除 multipath.conf。
-
确定WWID:
/lib/udev/scsi_id -gud /dev/sda"sa"是要添加到黑名单中的本地SCSI磁盘。
例如,WWID为
360030057024d0730239134810c0cb833。 -
将WWID添加到"黑名单"部分:
blacklist { wwid 360030057024d0730239134810c0cb833 devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]" devnode "^cciss.*" }
步骤 4:自定义ONTAP LUN 的多路径参数
如果您的主机连接到其他供应商的LUN、并且任何多路径参数设置被覆盖、则您需要稍后在文件中添加专门适用于ONTAP LUN的zas来更正这些设置 multipath.conf。否则、ONTAP LUN可能无法按预期运行。
请检查 `/etc/multipath.conf`文件,特别是默认值部分中的设置,以了解可能覆盖的设置多路径参数的默认设置。
|
|
您不应覆盖ONTAP LUN的建议参数设置。要获得最佳主机配置性能、需要使用这些设置。有关详细信息、请联系NetApp支持部门、您的操作系统供应商或这两者。 |
以下示例显示了如何更正被覆盖的默认值。在此示例中、 multipath.conf`文件为和定义了与 `no_path_retry`ONTAP LUN不兼容的值 `path_checker、您无法删除这些参数、因为ONTAP存储阵列仍连接到主机。而是通过向专门应用于ONTAP LUN的文件添加设备段来 multipath.conf`更正和 `no_path_retry`的值 `path_checker。
显示示例
defaults {
path_checker readsector0
no_path_retry fail
}
devices {
device {
vendor "NETAPP"
product "LUN"
no_path_retry queue
path_checker tur
}
}
步骤 5:查看已知问题
没有已知问题。