简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

将 Oracle Linux 7.7 与 NetApp ONTAP 结合使用

提供者 netapp-madhulik netapp-sdaffy netapp-reenu netapp-ranuk

安装 Linux Unified Host Utilities

上提供了 NetApp Linux Unified Host Utilities 软件包 "NetApp 支持站点" 在 32 位和 64 位 .rpm 文件中。如果您不知道哪个文件适合您的配置,请使用 验证所需的配置。

强烈建议安装 Linux Unified Host Utilities ,但这并不是必需的。这些实用程序不会更改 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

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.7 ,必须存在 /etc/multipath.conf 文件,但您不需要对该文件进行特定更改。Oracle Linux 7.7 是使用识别和正确管理 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 。所需路径不应超过 4 个。在存储故障期间, 8 个以上的路径可能会出现发生原因路径问题。

建议设置

Oracle Linux 7.7 操作系统经过编译,可识别 ONTAP LUN 并自动正确设置所有配置参数。要启动多路径守护进程,必须存在 multipath.conf 文件,但您可以使用命令 touch /etc/multipath.conf 创建一个空的零字节文件

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

# systemctl enable multipathd
# systemctl start multipathd

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

您可以将以下语法添加到 multipath.conf 文件中,以排除不需要的设备。

将 ` <DevID>` 替换为要排除的设备的 WWID 字符串。使用以下命令确定 WWID :

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

在此示例中, sda 是需要列入黑名单的本地 SCSI 磁盘。

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

    # /lib/udev/scsi_id -gud /dev/sda
    360030057024d0730239134810c0cb833
  2. 将此 WWID 添加到 ` /etc/multipath.conf` 中的黑名单 stanza 中:

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

您应始终检查 ` /etc/multipath.conf` 文件中的原有设置,尤其是默认部分中的原有设置,这些设置可能会覆盖默认设置。下表显示了 ONTAP LUN 的严重 multipathd 参数以及所需值。如果某个主机已从其他供应商连接到 LUN ,并且这些参数中的任何一个被覆盖,则需要在 multipath.conf 中稍后使用 stantzas 进行更正,该 stantzas 专门应用于 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.7 RedHat Enterprise Kernel ( RHCK ),请使用 "建议设置" 适用于 Red Hat Enterprise Linux ( RHEL ) 7.7 。

已知问题和限制

NetApp 错误 ID 标题 Description Bugzilla ID

"1311575"

在使用 Qlogic QLE2672 ( 16G )进行存储故障转移期间,由于读 / 写操作无法通过二级路径切换而观察到 IO 延迟

在使用 QLogic QLE2672 16G HBA 的 Oracle Linux 7.7 内核( 5.4.17-2011.0.7.el7uek.x86_6 )上执行存储故障转移操作期间, I/O 操作可能无法通过二级路径恢复。如果 I/O 进度因存储故障转移期间主路径被阻止而停止,则 I/O 操作可能无法通过二级路径恢复,从而导致 I/O 延迟。只有在存储故障转移交还操作完成后主路径联机后, I/O 操作才会恢复。

"17171"

"1311576"

使用 Emulex LPe16002 ( 16G )进行存储故障转移期间,由于读 / 写操作无法通过二级路径切换,导致观察到 IO 延迟

在使用 Emulex LPe16002 16G HBA 的 Oracle Linux 7.7 内核( 5.4.17-2011.0.7.el7uek.x86_6 )上执行存储故障转移操作期间, I/O 操作可能无法通过二级路径恢复。如果 I/O 进度因存储故障转移期间主路径被阻止而停止,则 I/O 操作可能无法通过二级路径恢复,从而导致 I/O 延迟。只有在存储故障转移交还操作完成后主路径联机后, I/O 操作才会恢复。

"17172"

"1246134."

使用 Emulex LPe16002 ( 16G )执行存储故障转移期间观察到的 IO 延迟以及报告移至 " 已阻止 " , " 不存在 " 状态

在运行了 Emulex LPe16002B-M6 16G 光纤通道( FC )主机总线适配器( HBA )的 UEK5U2 内核的 Oracle Linux 7.6 上执行存储故障转移操作期间, I/O 进度可能会因报告被阻止而停止。存储故障转移操作报告从 " 联机 " 状态更改为 " 已阻止 " 状态,从而导致读取和写入操作延迟。成功完成此操作后,报告将无法返回到 " 联机 " 状态并继续保持 " 已阻止 " 状态。

"16852"

"1246327"

在 Qlogic QLE2672 ( 16G )和 QLE2742 ( 32G )的存储故障转移期间观察到 IO 延迟,并且 Rport 正在移至 " 已阻止 " , " 不存在 " 状态

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

注 有关 Oracle Linux ( Red Hat 兼容内核)的已知问题,请参见 "已知问题" 适用于 Red Hat Enterprise Linux ( RHEL ) 7.7 。