将Oracle Linux 7.6与ONTAP结合使用
您可以使用ONTAP SAN主机配置设置将以ONTAP为目标的Oracle Linux 7.6配置为目标。
安装 Linux Unified Host Utilities
上提供了 NetApp Linux Unified Host Utilities 软件包 "NetApp 支持站点" 在 32 位和 64 位 .rpm 文件中。如果您不知道哪个文件适合您的配置,请使用 "NetApp 互操作性表工具" 验证所需的配置。
NetApp强烈建议安装Linux统一主机实用程序、但并非强制要求。这些实用程序不会更改 Linux 主机上的任何设置。这些实用程序可改进管理并帮助 NetApp 客户支持收集有关您的配置的信息。
如果您当前安装的是Linux Unified Host Utilities版本、则应将其升级或删除、然后按照以下步骤安装最新版本。
-
从下载 32 位或 64 位 Linux Unified Host Utilities 软件包 "NetApp 支持站点" 站点到主机。
-
使用以下命令安装软件包:
rpm -ivh netapp_linux_unified_host_utilitis-7-1.x86_64
您可以使用本文档中提供的配置设置来配置连接到的云客户端 "Cloud Volumes ONTAP" 和 "适用于 ONTAP 的 Amazon FSX"。 |
SAN 工具包
安装 NetApp Host Utilities 软件包时,工具包会自动安装。此套件提供 sanlun
实用程序,可帮助您管理 LUN 和 HBA 。sanlun
命令可返回有关映射到主机的 LUN 的信息,多路径以及创建启动程序组所需的信息。
在以下示例中, sanlun lun show
命令将返回 LUN 信息。
# sanlun lun show all
示例输出:
controller(7mode/E-Series)/ device host lun vserver(cDOT/FlashRay) lun-pathname filename adapter protocol size Product ------------------------------------------------------------------------------------ data_vserver /vol/vol1/lun1 /dev/sdb host16 FCP 120.0g cDOT data_vserver /vol/vol1/lun1 /dev/sdc host15 FCP 120.0g cDOT data_vserver /vol/vol2/lun2 /dev/sdd host16 FCP 120.0g cDOT data_vserver /vol/vol2/lun2 /dev/sde host15 FCP 120.0g cDOT
SAN 启动
如果您决定使用 SAN 启动,则配置必须支持它。您可以使用 "NetApp 互操作性表工具" 验证您的操作系统, HBA , HBA 固件和 HBA 启动 BIOS 以及 ONTAP 版本是否受支持。
-
将 SAN 启动 LUN 映射到主机。
-
验证是否有多个可用路径。
主机操作系统启动并在多个路径上运行后、这些路径将变为可用。 -
在服务器 BIOS 中为 SAN 启动 LUN 映射到的端口启用 SAN 启动。
有关如何启用 HBA BIOS 的信息,请参见供应商专用文档。
-
重新启动主机以验证启动是否成功。
多路径
对于 Oracle Linux 7.6 , /etc/multipath.conf 文件必须存在,但您不需要对该文件进行特定更改。Oracle Linux 7.6 会使用识别和正确管理 ONTAP LUN 所需的所有设置进行编译。
您可以使用 `multipath -ll`命令验证ONTAP LUN的设置。应存在两组具有不同优先级的路径。优先级较高的路径为主动/优化路径、这意味着它们由聚合所在的控制器提供服务。优先级较低的路径处于活动状态、但未进行优化、因为它们是从其他控制器提供的。只有在优化路径不可用时、才会使用非优化路径。
以下示例显示了具有两个主动 / 优化路径和两个主动 / 非优化路径的 ONTAP LUN 的正确输出:
# multipath -ll 3600a09803831347657244e527766394e dm-5 NETAPP,LUN C-Mode size=80G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 11:0:1:0 sdj 8:144 active ready running | |- 11:0:2:0 sdr 65:16 active ready running |-+- policy='service-time 0' prio=10 status=enabled |- 11:0:0:0 sdb 8:i6 active ready running |- 12:0:0:0 sdz 65:144 active ready running
一个LUN不应需要四个以上的路径。在存储故障期间,超过八个路径可能会出现发生原因路径问题。 |
建议设置
经过编译的Oracle Linux 7.6操作系统可识别ONTAP LUN并自动正确设置所有配置参数。 `multipath.conf`要启动多路径守护进程、必须存在该文件。如果此文件不存在、您可以使用以下命令创建一个空的零字节文件:
touch /etc/multipath.conf
首次创建 `multipath.conf`文件时、可能需要使用以下命令启用并启动多路径服务:
# chkconfig multipathd on # /etc/init.d/multipathd start
除非您的设备不希望多路径管理、或者您的现有设置覆盖默认值、否则不需要直接向文件中添加任何内容 multipath.conf
。要排除不需要的设备、请在 `multipath.conf`文件中添加以下语法、将<DevId>替换为要排除的设备的WWID字符串:
blacklist { wwid <DevId> devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]" devnode "^cciss.*" }
以下示例将确定设备的WWID并将其添加到文件中 multipath.conf
。
-
确定WWID:
# /lib/udev/scsi_id -gud /dev/sda 360030057024d0730239134810c0cb833
`sda`是要添加到黑名单中的本地SCSI磁盘。
-
添加
WWID
到黑名单中/etc/multipath.conf
:blacklist { wwid 360030057024d0730239134810c0cb833 devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]" devnode "^cciss.*" }
您应始终检查 /etc/multipath.conf
文件中的文件、尤其是在默认值部分中、这些设置可能会覆盖默认设置。
下表显示了 `multipathd`ONTAP LUN的关键参数和所需值。如果主机连接到其他供应商的LUN、并且这些参数中的任何一个被覆盖、则必须通过 `multipath.conf`文件中专门适用于ONTAP LUN的后续条款进行更正。如果不进行此更正、ONTAP LUN可能无法按预期运行。只有在与NetApp和/或操作系统供应商协商后、并且只有在充分了解影响后、才应覆盖这些默认值。
参数 | 正在设置 … |
---|---|
detect_prio |
是的。 |
dev_los_TMO |
" 无限 " |
故障恢复 |
即时 |
fast_io_fail_sMO |
5. |
features |
"3 queue_if_no_path pG_init_retries 50" |
flush_on_last_del |
是的。 |
硬件处理程序 |
0 |
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 |
以下示例显示了如何更正被覆盖的默认值。在这种情况下, multipath.conf
文件会为 path_checker
和 detect_prio
定义与 ONTAP LUN 不兼容的值。如果由于其他 SAN 阵列仍连接到主机而无法删除这些参数,则可以专门针对具有设备实例的 ONTAP LUN 更正这些参数。
defaults { path_checker readsector0 detect_prio no } devices { device { vendor "NETAPP " product "LUN.*" path_checker tur detect_prio yes } }
要配置Oracle Linux 7.6 Red Hat Enterprise Kernel (RHCK)、请使用"建议设置"适用于Red Hat Enterprise Linux (RHEL) 7.6的。 |
已知问题
带有ONTAP的Oracle Linux 7.6版本存在以下已知问题:
NetApp 错误 ID | 标题 | Description |
---|---|---|
1440718 |
如果在未执行SCSI重新扫描的情况下取消映射或映射LUN、可能会导致主机上的数据损坏。 |
如果将"disable_changed_WWIDs"多路径配置参数设置为是、则在WWID发生更改时、它将禁用对路径设备的访问。在将路径的WWID还原到多路径设备的WWID之前、多路径将禁用对路径设备的访问。要了解更多信息,请参见 "NetApp知识库:Oracle Linux 7上iSCSI LUN上的文件系统损坏"。 |
由于使用 QLogic QLE2742 适配器的 OL7U6 主机上的远程端口处于 " 不存在 " 状态,因此 LUN 在主机发现期间可能不可用 |
在主机发现期间,使用 QLogic QLE2742 适配器的 OL7U6 主机上的光纤通道( Fibre Channel , FC )远程端口的状态可能会进入 " 不存在 " 状态。处于 " 不存在 " 状态的远程端口可能会使 LUN 的发生原因路径不可用。在存储故障转移期间,路径冗余可能会减少并导致 I/O 中断。您可以输入以下命令来检查远程端口状态: # cat /sys/class/fc_remote_ports/rport-*/port_state 以下是显示的输出示例:联机不存在联机 |
|
在存储故障转移操作期间,使用 Qlogic ( QLE2672 ) 16 Gb FC HBA 运行的 Oracle Linux 7.6 会发生内核中断 |
在使用 Qlogic QLE2672 光纤通道( FC )主机总线适配器( HBA )的 Oracle Linux 7.6 上执行存储故障转移操作期间,由于内核发生崩溃,发生内核中断。内核崩溃会导致 Oracle Linux 7.6 重新启动,从而导致应用程序中断。如果启用了 kdump 机制,则内核崩溃将生成位于 /var/crash/ 目录中的 vmcore 文件。您可以分析 vmcore 文件以确定崩溃的发生原因。内核中断后,您可以重新启动主机操作系统并恢复操作系统,然后根据需要重新启动任何应用程序。 |
|
在存储故障转移操作期间,使用 Qlogic ( QLE2742 ) 32 Gb FC HBA 运行的 Oracle Linux 7.6 可能会发生内核中断 |
在使用 Qlogic QLE2742 光纤通道( FC )主机总线适配器( HBA )的 Oracle Linux 7.6 上执行存储故障转移操作期间,内核可能会因发生崩溃而发生内核中断。内核崩溃会导致 Oracle Linux 7.6 重新启动,从而导致应用程序中断。如果启用了 kdump 机制,则内核崩溃将生成位于 /var/crash/ 目录中的 vmcore 文件。您可以分析 vmcore 文件以确定崩溃的发生原因。内核中断后,您可以重新启动主机操作系统并恢复操作系统,然后根据需要重新启动任何应用程序。 |
|
在存储故障转移操作期间,使用 Emulex ( LPe32002 — M2 ) 32 Gb FC HBA 运行的 Oracle Linux 7.6 可能会发生内核中断 |
在使用 Emulex LPe32002 — M2 光纤通道( FC )主机总线适配器( HBA )的 Oracle Linux 7.6 上执行存储故障转移操作期间,内核可能会因发生崩溃而发生内核中断。内核崩溃会导致 Oracle Linux 7.6 重新启动,从而导致应用程序中断。如果启用了 kdump 机制,则内核崩溃将生成位于 /var/crash/ 目录中的 vmcore 文件。您可以分析 vmcore 文件以确定崩溃的发生原因。内核中断后,您可以重新启动主机操作系统并恢复操作系统,然后根据需要重新启动任何应用程序。 |
|
在存储故障转移操作期间,使用 Emulex LPe16002B-M6 16G FC HBA 运行的 Oracle Linux 7.6 和 UEK5U2 内核上的 I/O 未进度 |
在运行了 Emulex LPe16002B-M6 16G 光纤通道( FC )主机总线适配器( HBA )的 UEK5U2 内核的 Oracle Linux 7.6 上执行存储故障转移操作期间, I/O 进度可能会因报告被阻止而停止。存储故障转移操作报告从 " 联机 " 状态更改为 " 已阻止 " 状态,从而导致读取和写入操作延迟。操作成功完成后,报告将无法返回到 " 联机 " 状态,并继续保持 " 已阻止 " 状态。 |
|
存储故障转移操作期间, QLogic QLE2672 16G 主机上的远程端口状态被阻止 |
在存储故障转移操作期间, QLogic QLE2672 16G 主机上的 Red Hat Enterprise Linux ( RHEL ) 7.6 上的光纤通道( FC )远程端口可能会被阻止。由于逻辑接口在存储节点关闭时会关闭,因此远程端口会将存储节点状态设置为 blocked 。如果同时运行 QLogic QLE2672 16G 主机和 QLE2742 32 Gb 光纤通道( FC )主机总线适配器( HBA ),则 IO 进度可能会因端口被阻止而停止。当存储节点恢复到最佳状态时,逻辑接口也会启动,远程端口应联机。但是,远程端口可能仍会被阻止。此阻止状态会将多路径层的 LUN 注册为故障。您可以使用以下命令验证远程端口的状态: # cat /sys/class/fc_remote_ports/rport-*/port_stat 您应看到以下输出: blocked blocked blocked blocked Online |