Skip to main content
SAN hosts and cloud clients
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

将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 ,则应进行升级,或者,应将其删除,然后按照以下步骤安装最新版本。

  1. 从下载 32 位或 64 位 Linux Unified Host Utilities 软件包 "NetApp 支持站点" 站点到主机。

  2. 使用以下命令安装软件包:

    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 版本是否受支持。

步骤
  1. 将 SAN 启动 LUN 映射到主机。

  2. 验证是否有多个可用路径。

    备注 主机操作系统启动并在多个路径上运行后、这些路径将变为可用。
  3. 在服务器 BIOS 中为 SAN 启动 LUN 映射到的端口启用 SAN 启动。

    有关如何启用 HBA BIOS 的信息,请参见供应商专用文档。

  4. 重新启动主机以验证启动是否成功。

多路径

对于 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

首次创建此文件时、可能需要启用并启动多路径服务:

# systemctl enable multipathd
# systemctl start multipathd
  • 无需直接向添加任何内容 multipath.conf 文件、除非您的设备不希望由多路径管理、或者您的现有设置覆盖默认值。

  • 要排除不需要的设备、请将以下语法添加到中 multipath.conf 文件。

    blacklist {
            wwid <DevId>
            devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
            devnode "^hd[a-z]"
            devnode "^cciss.*"
    }

    更换 <DevId> 使用 WWID 要排除的设备的字符串。

    示例

    在此示例中、我们将确定设备的WWID并添加到中 multipath.conf 文件

    步骤
    1. 运行以下命令以确定 WWID :

      # /lib/udev/scsi_id -gud /dev/sda
      360030057024d0730239134810c0cb833

      sda 是我们需要将其添加到黑名单中的本地SCSI磁盘。

    2. 添加 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、并且这些参数中的任何一个参数被覆盖、则需要稍后在中使用stanzas进行更正 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_checkerdetect_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 RedHat Enterprise Kernel ( RHCK ),请使用 "建议设置" 适用于 Red Hat Enterprise Linux ( RHEL ) 7.6 。

已知问题

带有ONTAP的Oracle Linux 7.6版本存在以下已知问题:

NetApp 错误 ID 标题 Description Bugzilla ID

1440718

如果在未执行SCSI重新扫描的情况下取消映射或映射LUN、可能会导致主机上的数据损坏。

如果将"disable_changed_WWIDs"多路径配置参数设置为是、则在WWID发生更改时、它将禁用对路径设备的访问。在将路径的WWID还原到多路径设备的WWID之前、多路径将禁用对路径设备的访问。要了解更多信息,请参见 "NetApp知识库:Oracle Linux 7上iSCSI LUN上的文件系统损坏"

不适用

"1202736"

由于使用 QLogic QLE2742 适配器的 OL7U6 主机上的远程端口处于 " 不存在 " 状态,因此 LUN 在主机发现期间可能不可用

在主机发现期间,使用 QLogic QLE2742 适配器的 OL7U6 主机上的光纤通道( Fibre Channel , FC )远程端口的状态可能会进入 " 不存在 " 状态。处于 " 不存在 " 状态的远程端口可能会使 LUN 的发生原因路径不可用。在存储故障转移期间,路径冗余可能会减少并导致 I/O 中断。您可以输入以下命令来检查远程端口状态: # cat /sys/class/fc_remote_ports/rport-*/port_state 以下是显示的输出示例:联机不存在联机

"16613"

"1204078"

在存储故障转移操作期间,使用 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 文件以确定崩溃的发生原因。内核中断后,您可以重新启动主机操作系统并恢复操作系统,然后根据需要重新启动任何应用程序。

"16606"

"1204451"

在存储故障转移操作期间,使用 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 文件以确定崩溃的发生原因。内核中断后,您可以重新启动主机操作系统并恢复操作系统,然后根据需要重新启动任何应用程序。

"16605"

"1204352"

在存储故障转移操作期间,使用 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 文件以确定崩溃的发生原因。内核中断后,您可以重新启动主机操作系统并恢复操作系统,然后根据需要重新启动任何应用程序。

"16607"

"11246134."

在存储故障转移操作期间,使用 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 进度可能会因报告被阻止而停止。存储故障转移操作报告从 " 联机 " 状态更改为 " 已阻止 " 状态,从而导致读取和写入操作延迟。操作成功完成后,报告将无法返回到 " 联机 " 状态,并继续保持 " 已阻止 " 状态。

"16852"

"1246327"

存储故障转移操作期间, 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

"16853"