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

将 Red Hat Enterprise Linux 7.6 与 NetApp ONTAP 结合使用

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

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

您可以使用 multipath -ll 命令验证 ONTAP LUN 的设置。以下各节提供了映射到 ASA 和非 ASA 角色的 LUN 的示例多路径输出。

全 SAN 阵列配置

在所有 SAN 阵列( ASA )配置中,指向给定逻辑单元( LUN )的所有路径均处于活动状态并已进行优化。这意味着可以同时通过所有路径提供 I/O ,从而提高性能。

以下示例显示了 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:7:1    sdfi   130:64   active ready running
  |- 11:0:9:1    sdiy  8:288     active ready running
  |- 11:0:10:1  sdml 69:464   active ready running
  |- 11:0:11:1  sdpt  131:304  active ready running
注 请勿使用过多的路径访问单个 LUN 。所需路径不应超过 4 个。在存储故障期间, 8 个以上的路径可能会出现发生原因路径问题。

Non-ASA 配置

对于非 ASA 配置,应存在两组具有不同优先级的路径。优先级较高的路径为主动 / 优化路径,这意味着它们由聚合所在的控制器提供服务。优先级较低的路径处于活动状态,但未进行优化,因为它们是从其他控制器提供的。只有在没有优化路径可用时,才会使用非优化路径。

以下示例显示了具有两个主动 / 优化路径和两个主动 / 非优化路径的 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 个以上的路径可能会出现发生原因路径问题。

建议设置

RHEL 7.6 操作系统经过编译,可识别 ONTAP LUN ,并自动为 ASA 和非 ASA 配置正确设置所有配置参数。

要启动多路径守护进程,必须存在 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

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

以下示例显示了如何更正被覆盖的默认值。在这种情况下, multipath.conf 文件会为 path_checkerno_path_retry 定义与 ONTAP LUN 不兼容的值。如果由于其他 SAN 阵列仍连接到主机而无法删除这些参数,则可以专门针对具有设备实例的 ONTAP LUN 更正这些参数。

defaults {
   path_checker      readsector0
   no_path_retry      fail
}

devices {
   device {
      vendor         "NETAPP  "
      product         "LUN.*"
      no_path_retry     queue
      path_checker      tur
   }
}

KVM 设置

您也可以使用建议的设置来配置基于内核的虚拟机( KVM )。由于 LUN 已映射到虚拟机管理程序,因此配置 KVM 不需要进行任何更改。

已知问题和限制

NetApp 错误 ID 标题 Description Bugzilla ID

"1186754"

在主机发现期间,具有 QLogic QLE2742 主机的 RHEL7U6 上的远程端口状态可能会被阻止

在主机发现期间,使用 QLogic QLE2742 适配器的 RHEL7U6 主机上的 FC 远程端口状态可能会进入 " 已阻止 " 状态。这些被阻止的远程端口可能会导致 LUN 的路径不可用。在存储故障转移期间,路径冗余可能会减少并导致 I/O 中断。您可以输入以下命令来检查远程端口状态: # cat /sys/class/fc_remote_ports/rport-*/port_state

"1628039"

"1190698"

在存储故障转移操作期间,具有 QLogic QLE2672 主机的 RHEL7U6 上的远程端口状态可能会被阻止

在存储故障转移操作期间, QLogic QLE2672 主机的 Red Hat Enterprise Linux ( RHEL ) 7U6 上的 FC 远程端口可能会被阻止。由于逻辑接口在存储节点关闭时会关闭,因此远程端口会将存储节点状态设置为 blocked 。当存储节点恢复到最佳状态时,逻辑接口也会启动,远程端口应联机。但是,远程 portsmight 仍会被阻止。此阻止状态会将多路径层的 LUN 注册为故障。您可以使用以下命令验证远程端口的状态: # cat /sys/class/fc_remote_ports/rport-*/port_state

"1643459"

发行说明

ASM 镜像

ASM 镜像可能需要更改 Linux 多路径设置,以使 ASM 能够识别问题并切换到备用故障组。ONTAP 上的大多数 ASM 配置都使用外部冗余,这意味着数据保护由外部阵列提供,并且 ASM 不会镜像数据。某些站点使用正常冗余的 ASM 来提供双向镜像,通常在不同站点之间进行镜像。请参见 "基于 ONTAP 的 Oracle 数据库" 了解更多信息。