Skip to main content
SAN hosts and cloud clients
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用 Red Hat Enterprise Linux 7.0 搭配 ONTAP

貢獻者

您可以使用 ONTAP SAN 主機組態設定、將 Red Hat Enterprise Linux 7.0 與 ONTAP 設定為目標。

安裝Linux Unified Host Utilities

NetApp Linux Unified Host Utilities 軟體套件可在 32 位元和 64 位元的 .rpm 檔案中找"NetApp 支援網站"到。如果您不知道哪一個檔案適合您的組態,請使用來驗證您需要的檔案"NetApp 互通性對照表工具"

NetApp 強烈建議您安裝 Linux 統一化主機公用程式,但並非強制安裝。這些公用程式不會變更 Linux 主機上的任何設定。這些公用程式可改善管理、並協助NetApp客戶支援部門收集您的組態相關資訊。

如果您目前已安裝 Linux Unified Host Utilities ,您應該將其升級至最新版本,或是將其移除,然後依照下列步驟安裝最新版本。

步驟
  1. 從下載32位元或64位元Linux Unified Host Utilities軟體套件 "NetApp 支援網站" 到您的主機。

  2. 安裝軟體套件:

    「rpm -ivh netapp_Linux統一化_host_utilities - 7-1.x86_64」

註 您可以使用本文所提供的組態設定來設定連線至的雲端用戶端 "Cloud Volumes ONTAP""Amazon FSX for ONTAP Sf"

SAN工具套件

當您安裝NetApp主機公用程式套件時、會自動安裝此工具套件。此套件提供「資源」公用程式、可協助您管理LUN和HBA。「lanlun」命令會傳回對應至主機的LUN資訊、多重路徑、以及建立啟動器群組所需的資訊。

範例

在以下範例中、「左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開機、則組態必須支援SAN開機。您可以使用 "NetApp 互通性對照表工具" 驗證是否ONTAP 支援您的作業系統、HBA、HBA韌體和HBA開機BIOS及BIOS版本。

步驟
  1. 將SAN開機LUN對應至主機。

  2. 確認有多個路徑可供使用。

    註 在主機作業系統啟動並在路徑上執行之後,就可以使用多個路徑。
  3. 在伺服器BIOS中為SAN開機LUN對應的連接埠啟用SAN開機。

    如需如何啟用HBA BIOS的相關資訊、請參閱廠商專屬的文件。

  4. 重新啟動主機、確認開機成功。

多重路徑

對於Red Hat Enterprise Linux(RHEL)7.0、/etc/multipath.conf檔案必須存在、但您不需要對檔案進行特定變更。RHEL 7.0的所有設定都已經過編譯、可辨識及正確管理ONTAP 各種LUN。

您可以使用「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 不應需要四個以上的路徑。如果路徑超過四條,可能會在儲存設備故障期間造成路徑問題。

非 ASA 組態

對於非 ASA 組態、應該有兩個路徑群組、其優先順序不同。優先順序較高的路徑為主動 / 最佳化、表示它們由集合所在的控制器提供服務。優先順序較低的路徑是作用中的、但未最佳化、因為它們是由不同的控制器提供服務。非最佳化路徑只有在最佳化路徑無法使用時才會使用。

範例

下列範例顯示ONTAP 使用兩個主動/最佳化路徑和兩個主動/非最佳化路徑的正確輸出。

# 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 不應需要四個以上的路徑。如果路徑超過四條,可能會在儲存設備故障期間造成路徑問題。

建議設定

RHEL 7.0作業系統經過編譯、可辨識ONTAP 出各種不完整的LUN、並自動針對ASA 各種不適用的ASA組態、正確設定所有組態參數。

multipath.conf`檔案必須存在、多重路徑常駐程式才能啟動。如果此檔案不存在,您可以使用命令建立空白的零位元組檔案 `touch /etc/multipath.conf

第一次建立 `multipath.conf`檔案時、您可能需要使用下列命令來啟用和啟動多重路徑服務:

chkconfig multipathd on
/etc/init.d/multipathd start

您不需要直接將任何內容新增至 `multipath.conf`檔案,除非您有不想要多重路徑管理的裝置,或現有的設定會覆寫預設值。若要排除不想要的裝置,請將下列語法新增至 `multipath.conf`檔案,以您要排除的裝置的全球識別碼( WWID )字串取代 <DevId> :

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

以下範例決定裝置的 WWID 、並將其新增至 `multipath.conf`檔案。

步驟
  1. 判斷 WWID :

    /lib/udev/scsi_id -gud /dev/sda
    3600a098038314c4a433f5774717a3046
    /lib/udev/scsi_id -gud /dev/sda

    360030057024d0730239134810c0cb833

+
`sda` is the local SCSI disk that you want to add to the blacklist.

. Add the `WWID` to the blacklist stanza in `/etc/multipath.conf`:
[source,cli]
+

黑名單 { WWID 3600a098038314c4a433f5774717a3046 devnode " ^( RAM|RAW|REW|FD|MD|dm-|SR|SCD|st)" devnode "^HD[a-z]" devnode "^ccis."}

Always check your `/etc/multipath.conf` file, especially in the defaults section, for legacy settings that might be overriding default settings.

The following table demonstrates the critical `multipathd` parameters for ONTAP LUNs and the required values. If a host is connected to LUNs from other vendors and any of these parameters are overridden, they must be corrected by later stanzas in the `multipath.conf` file that apply specifically to ONTAP LUNs. Without this correction, the ONTAP LUNs might not work as expected. You should only override these defaults in consultation with NetApp, the OS vendor, or both, and only when the impact is fully understood.

//ONTAPDOC-2578 9-Dec-2024
//ONTAPDOC-2561 25-Nov-202

[cols=2*,options="header"]
|===
| Parameter
| Setting
| detect_prio | yes
| dev_loss_tmo | "infinity"
| failback | immediate
| fast_io_fail_tmo | 5
| features | "3 queue_if_no_path pg_init_retries 50"
| flush_on_last_del | "yes"
| hardware_handler | "0"
| no_path_retry | queue
| path_checker | "tur"
| path_grouping_policy | "group_by_prio"
| path_selector | "service-time 0"
| polling_interval | 5
| prio | "ontap"
| product | LUN.*
| retain_attached_hw_handler | yes
| rr_weight | "uniform"
| user_friendly_names | no
| vendor | NETAPP
|===

.Example

The following example shows how to correct an overridden default. In this case, the `multipath.conf` file defines values for `path_checker` and `no_path_retry` that are not compatible with ONTAP LUNs. If they cannot be removed because of other SAN arrays still attached to the host, these parameters can be corrected specifically for ONTAP LUNs with a device stanza.

預設 { path_checker_readsector0 no_path_retry fail }

裝置 { device { 廠商「 NetApp 」產品 "LUN.*" no_path_retry queue path_checker" }

=== Configure KVM settings

You can use the recommended settings to configure Kernel-based Virtual Machine (KVM) as well. There are no changes required to configure KVM because the LUN is mapped to the hypervisor.

//ONTAPDOC-2561 5-Dec-2024

== Known issues

The RHEL 7.0 with ONTAP release has the following known issues:

[cols=3*,options="header"]
|===
| NetApp Bug ID
| Title
| Description
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=844417[844417^] | Emulex 16G FC (LPe16002B-M6) host crashes during I/O with storage failover operations | You might observe a 16G FC Emulex (LPe16002B-M6) host crash during I/O with storage failover operations.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=811587[811587^] | Emulex 16G FC (LPe16002B-M6) host crashes during I/O with storage failover operations | You might observe a 16G FC Emulex (LPe16002B-M6) host crash during I/O with storage failover operations.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=803071[803071^] | Emulex 16G FC (LPe16002B-M6) host crashes during I/O with storage failover operations | You might observe a 16G FC Emulex (LPe16002B-M6) host crash during I/O with storage failover operations.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=820163[820163^] | QLogic host hang or path failures observed during I/O with storage failover operations | You might observe a host hang or path failures on QLogic host during I/O with storage failover operations. In such scenarios, you might see the following message: "Mailbox cmd timeout occurred, cmd=0x54, mb[0]=0x54 and Firmware dump saved to temp buffer" messages which leads to host hung/path failure.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=799323[799323^] | Emulex FCoE (OCe10102-FX-D) host hang or path failures observed during I/O with storage failover operations | You might observe a host hang or path failures on Emulex 10G FCoE host (OCe10102-FX-D) during I/O with storage failover operations. In such scenarios, you might see the following message:  "driver's buffer pool is empty, IO busied and SCSI Layer I/O Abort Request Status" messages which leads to host hung/path failures.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=849212[849212^] | Emulex 16G FC (LPe16002B-M6) host hang or path failures are observed during I/O with storage failover operations | You might observe a host hang or path failures on Emulex 16G FC (LPe16002B-M6) host during I/O with storage failover operations. In such scenarios, you might see the following message:  "RSCN timeout Data and iotag x1301 is out of range: max iotag" messages which leads to host hung/path failures.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=836800[836800^] | Anaconda displays an iSCSI login failure message although logins are successful during RHEL 7.0 OS installation | When you install the root(/) on a iSCSI multipath’d LUN, the IP address for the  Ethernet interfaces are specified in the kernel command line so that the IP addresses are assigned before the iSCSI service starts. However, dracut cannot assign IP addresses to all the Ethernet ports during the boot, before the iSCSI service starts. This causes the iSCSI login to fail on interfaces without IP addresses. You will see the iSCSI service attempt to login numerous times,  which will cause a delay in the OS boot time.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=836875[836875^] | IP addresses are not always assigned during the boot of a RHEL 7.0 OS installed on an iSCSI multipath'd LUN | When you are installing RHEL 7.0, the anaconda installation screen displays that iSCSI login to multiple target IPs have failed though the iSCSI logins are successful. Anaconda displays following error message: “Node Login Failed” You will observe this error only when you select multiple target IPs for iSCSI login. You can continue the OS installation by clicking the "ok" button. This bug does not hamper either the iSCSI or the RHEL 7.0 OS installation.
| link:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=836657[836657^] | Anaconda does not add bootdev argument in kernel cmd line to set IP address for RHEL 7.0 OS installed on iSCSI multipath'd LUN | Anaconda does not add a bootdev argument in the kernel command line where you set the IPv4 address during the RHEL 7.0 OS installation on an iSCSI multipath'd LUN. This prevents assigning of IP addresses to any of the Ethernet interfaces that were configured to establish iSCSI sessions with the storage subsystem during the RHEL 7.0 boot. Since iSCSI sessions are not established, the root LUN is not discovered when the OS boots and hence the OS boot fails.
|===

// 2024 SEP 2, ONTAPDOC-2345