将Oracle Linux 6.4与ONTAP结合使用
您可以使用ONTAP SAN主机配置设置将以ONTAP为目标的Oracle Linux 6.4配置为目标。
安装 Linux Unified Host Utilities
NetApp LINUX统一主机实用程序软件包以32位和64位.rpm文件的形式在上提供"NetApp 支持站点"。如果您不知道哪个文件适合您的配置、请使用验证您需要哪个文件"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 6.4 , /etc/multipath.conf 文件必须存在,但您不需要对该文件进行特定更改。Oracle Linux 6.4 会使用识别和正确管理 ONTAP LUN 所需的所有设置进行编译。要启用 ALUA 处理程序,请执行以下步骤:
-
创建 initrd-image 的备份。
-
将以下参数值附加到内核中,以使 ALUA 和非 ALUA 正常工作:
rdloaddriver=SCSI_DH_ALUA
kernel /vmlinuz-3.8.13-68.1.2.el6uek.x86_64 ro root=/dev/mapper/vg_ibmx3550m421096-lv_root rd_NO_LUKSrd_LVM_LV=vg_ibmx3550m421096/lv_root LANG=en_US.UTF-8 rd_NO_MDSYSFONT=latarcyrheb-sun16 crashkernel=256M KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_ibmx3550m421096/lv_swap rd_NO_DM rhgb quiet rdloaddriver=scsi_dh_alua
-
使用
mkinitrd
命令重新创建 initrd-image 。Oracle 6x 及更高版本使用以下命令之一:mkinitrd -f /boot/ initrd-"uname -r".img uname -r
或命令:dracut -f
-
重新启动主机。
-
验证 `cat /proc/cmdline`命令的输出以确保设置完整。您可以使用 `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='round-robin 0' prio=50 status=active | |- 0:0:26:37 sdje 8:384 active ready running | |- 0:0:25:37 sdik 135:64 active ready running |-+- policy='round-robin 0' prio=10 status=enabled |- 0:0:18:37 sdda 70:128 active ready running |- 0:0:19:37 sddu 71:192 active ready running
一个LUN不应需要四个以上的路径。如果路径数超过四个、则可能会在存储故障期间导致路径问题。 |
建议设置
Oracle Linux 6.4 操作系统经过编译,可识别 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.*" }
在以下示例中、 `sda`是要添加到黑名单中的本地SCSI磁盘。
-
运行以下命令以确定 WWID :
# /lib/udev/scsi_id -gud /dev/sda 360030057024d0730239134810c0cb833
-
将此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 |
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_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 6.4 Red Hat Enterprise Kernel (RHCK)、请使用"建议设置"适用于Red Hat Enterprise Linux (RHEL) 6.4的。 |
已知问题
具有ONTAP版本的Oracle Linux 6.4存在以下已知问题:
NetApp 错误 ID | 标题 | Description |
---|---|---|
对于接管 / 交还和重新启动等控制器故障,使用 UEK2 的 OL6.4 和 OL5.9 会显示 QLogic 适配器重置 |
如果发生控制器故障(例如接管,交还和重新启动),则在使用 UEK2 的 OL6.4 主机( kernel-UEK-2.6.39-400.17.1.el6uek )或使用 UEK2 的 OL5.9 主机( kernel-UEK-2.6.39 400.17.1.el5uek )上会显示 QLogic 适配器重置。这些重置是间歇性的。发生这些适配器重置时,可能会发生长时间的 I/O 中断(有时超过 10 分钟),直到适配器重置成功且路径状态由 dm-multipath 更新为止。在 /var/log/messages 中,如果遇到此错误,则会显示类似于以下内容的消息: kernel : qla2xxx [0000 : 11 : 00.0]-8018 : 0 : adapter reset issued nexus=0 : 2 : 13 。这一点在内核版本中可见:在 OL6.4 上: kernel-UEK-2.6.39-400.171.el6uek 在 OL5.9 上: kernel-UEK-2.6.39-400.171.el5uek |
|
使用 UEK2 的 OL6.4 或 OL5.9 主机上的路径恢复延迟可能会导致控制器或网络结构故障的 I/O 恢复延迟 |
在使用 UEK2 内核的 Oracle Linux 6.4 或 Oracle Linux 5.9 主机上,如果 I/O 发生控制器故障(存储故障转移或交还,重新启动等)或网络结构故障( FC 端口禁用或启用),则 DM-Multipath 的路径恢复需要很长时间( 4 分钟)。到 10 分钟)。有时,在将路径恢复到活动状态期间,还会出现以下 lpfc 驱动程序错误:内核: SD 0 : 0 : 8 : 3 : [SDLT] 结果: hostbyte=did_error driverbyte=driver_OK 由于故障事件期间路径恢复延迟, I/O 恢复也会延迟。OL 6.4 版本: device-mapper-1.02.7-9.el6 device-mapper-multipath-0.4.9-64.0.1.el6 kernel-UEK-2.6.39-400.171.el6uek OL 5.9 版本: device-mapper-1.02.7-9.el5 device-mapper-3.9-64.9.4.0.9.-64.1.elek-kernel5-17.1.5uele.5.17.1 |
|
存储故障后,使用 UEK2 内核的 OL6.4 和 OL5.9 iSCSI 上的 DM 多路径需要很长时间才能更新 LUN 路径状态 |
在运行 Oracle Linux 6 Update4 和 Oracle Linux 5 Update9 iSCSI 以及 Unbreakable Enterprise Kernel Release 2 ( UEK2 )的系统上,在存储故障事件期间出现问题,其中 DM Multipath ( DMMP )需要大约 15 分钟来更新设备映射程序( DM )设备( LUN )的路径状态。如果在此时间间隔内运行 "multipath -ll" 命令,则该 DM 设备( LUN )的路径状态将显示为 "Failed ready Runing" 。路径状态最终更新为 "active ready running" 。 以下版本会显示此问题描述: Oracle Linux 6 Update 4 : UEK2 内核: 2.6.39-400.17.1.el6uek.x86_64 多路径: device-mapper-multipath-0.4.0.9-64.1.el6.x86_64 iSCSI : iscsi-initiator-utils-6.2.0.873-2.0.el6.1.el6.0.9_1.vmf_1.640.5-iscsi_4.0.5-1.vmf_1.vmfs.0.5-1.iscsi-8.0.5-1.vmfs.0.5-1.vmfs.0.5-iscsi : iscsi : iscsi : iscsi-utils-6.0.873-utils-us-8.0.8-8.0.8-4.0.5-1.vmfs.0.5-1.vmfs.0.5-1.vmfs.0.5-1.vmfs.0.5-1.vmfs.0.5-1.vmfs.0.5-1. |
|
使用 UEK2 的 OL6.x 和 OL5.x 主机出现 FC 故障后, dm-multipath 设备上的 SG_IO ioctl 系统调用失败 |
在使用 UEK2 内核的 Oracle Linux 6.x 主机和使用 UEK2 内核的 Oracle Linux 5.x 主机上出现问题。多路径设备上的 SG_* 命令在发生网络结构故障后失败,并显示 EAGAin 错误代码( errno ),从而使活动路径组中的所有路径都关闭。只有在多路径设备未发生 I/O 时,才会出现此问题。以下是示例: # sg_inq -v /dev/mapper/3600a098041764937303f436c75324370 查询数据库: 12 00 00 24 00 ioctl ( SG_IO v3 )失败,并显示 OS_err ( errno ) = 11 查询:传递操作系统错误:资源暂时不可用 HDIO_get_ioctl 身份失败: 资源暂时不可用 [11] /dev/mapper/3600a098041764937303f436c75324370 # 上的 SCSI 查询和提取 ATA 信息失败。发生此问题的原因是,在 ioctl( )调用期间,如果 DM-Multipath 设备上没有发生 I/O ,则无法激活路径组切换到其他活动组。在以下版本的 kernel-Uek 和 device-mapper-multipath 软件包中发现了此问题: OL6.4 版本: kernel-UEK-2.6.39-400.171.el6uek device-mapper-multipath-0.4.9.-64.1.el6 OL5.9 版本: kernel-UEK-2.6.39-400.17.1.el5uek-device-4.0.5-1.el6 多路径映射程序 |
有关 Oracle Linux ( Red Hat 兼容内核)的已知问题,请参见 "已知问题" 适用于 Red Hat Enterprise Linux ( RHEL ) 6.4 。 |