使用ONTAP存储为 FCP 和 iSCSI 配置 Ubuntu 20.04
配置 Ubuntu 20.04 以实现多路径,并使用ONTAP存储的 FCP 和 iSCSI 协议操作的特定参数和设置。
|
|
Linux Host Utilities 软件包不支持 Ubuntu 操作系统。 您不需要手动配置基于内核的虚拟机 (KVM) 设置,因为 ONTAP LUN 会自动映射到虚拟机管理程序。 |
第1步:(可选)启用SAN启动
您可以将主机配置为使用SAN启动来简化部署并提高可扩展性。
使用"互操作性表工具"验证您的Linux操作系统、主机总线适配器(HBA)、HBA固件、HBA启动BIOS和ONTAP版本是否支持SAN启动。
-
在服务器 BIOS 中为 SAN 启动 LUN 映射到的端口启用 SAN 启动。
有关如何启用 HBA BIOS 的信息,请参见供应商专用文档。
-
重新启动主机并验证操作系统是否已启动且正在运行、以验证配置是否成功。
步骤 2:确认主机的多路径配置
您可以使用 Ubuntu 20.04 的多路径来管理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
是的。
硬件处理程序
0
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
-
验证ONTAP LUN的参数设置和路径状态:
multipath -ll默认多路径参数支持ASA、 AFF和FAS配置。在这些配置中,单个ONTAP LUN 不应需要超过四条路径。存储故障时,路径超过四条可能会导致问题。
以下示例输出显示了ASA、AFF或FAS配置中ONTAP LUN的正确参数设置和路径状态。
ASA配置ASA配置可优化指向给定LUN的所有路径、使其保持活动状态。这样可以同时通过所有路径提供I/O操作、从而提高性能。
显示示例
# multipath -ll 3600a098038314559533f524d6c652f62 dm-24 NETAPP,LUN C-Mode size=10G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw `-+- policy='service-time 0' prio=50 status=active |- 11:0:1:13 sdm 8:192 active ready running |- 11:0:3:13 sdah 66:16 active ready running |- 12:0:1:13 sdbc 67:96 active ready running `- 12:0:3:13 sdbx 68:176 active ready running
AFF或FAS配置AFF或FAS配置应具有两组优先级较高和较低的路径。优先级较高的主动/优化路径由聚合所在的控制器提供。优先级较低的路径处于活动状态、但未进行优化、因为它们由其他控制器提供服务。只有在优化路径不可用时、才会使用非优化路径。
以下示例显示了具有两个主动/优化路径和两个主动/非优化路径的ONTAP LUN的输出:
显示示例
# multipath -ll 3600a098038314837352453694b542f4a dm-0 NETAPP,LUN C-Mode size=160G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 14:0:3:0 sdbk 67:224 active ready running | `- 15:0:2:0 sdbl 67:240 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 14:0:0:0 sda 8:0 active ready running `- 15:0:1:0 sdv 65:80 active ready running
步骤 3:确认主机的 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)
第4步:(可选)从多路径中排除设备
如果需要、您可以将不需要的设备的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.*" }
第5步:自定义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
}
}
第6步:查看已知问题
没有已知问题。
下一步是什么?
-
了解 Ubuntu Linux 虚拟化 (KVM)
Ubuntu Linux 可以作为 KVM 主机。这样,您就可以使用基于 Linux 内核的虚拟机 (KVM) 技术在单个物理服务器上运行多个虚拟机。KVM 主机不需要对ONTAP LUN 进行显式主机配置设置。