若要使主機及其儲存區之間保持連線,ESXi 需支援多重路徑。透過多重路徑,您可以使用多個實體路徑,在主機和外部儲存裝置之間傳輸資料。

如果 SAN 網路中的任一元素 (例如介面卡、交換器或纜線) 發生故障,則 ESXi 可以切換到其他可用實體路徑。這種避免使用故障元件的路徑切換程序稱為路徑容錯移轉。

除了路徑容錯移轉之外,多重路徑還提供負載平衡。負載平衡是指在多個實體路徑中散發 I/O 負載的程序。負載平衡可減少或移除潛在的瓶頸。

備註: 執行路徑容錯移轉時,虛擬機器 I/O 最多能延遲 60 秒。透過此延遲,SAN 可在拓撲變更後穩定其組態。一般而言,主動-被動陣列中的 I/O 延遲時間較長,主動-主動式陣列中的 I/O 延遲較短。

光纖通道容錯移轉

若要支援多重路徑,主機通常具有兩個或更多可用的 HBA。此組態對 SAN 多重路徑組態進行補充。通常,SAN 多重路徑為 SAN 網狀架構提供一或多個交換器並為儲存區陣列裝置本身提供一或多個儲存區處理器。

在下圖中,可透過多個實體路徑將每台伺服器與儲存裝置相連。例如,如果 HBA1 或 HBA1 與 FC 交換器之間的連結發生故障,HBA2 會取代 HBA1 並提供連線。一個 HBA 接管另一個 HBA 的程序稱為 HBA 容錯移轉。

圖 1. 多重路徑和光纖通道容錯移轉
此圖說明主機如何使用多個 HBA 提供多重路徑。

同樣地,如果 SP1 發生故障或 SP1 與交換器之間的連結中斷,SP2 會取代 SP1。SP2 提供交換器與儲存裝置之間的連線。此程序稱為 SP 容錯移轉。VMware ESXi 支援 HBA 和 SP 容錯移轉。

以主機為基礎的 iSCSI 容錯移轉

設定 ESXi 主機用於多重路徑和容錯移轉時,您可以使用多個 iSCSI HBA 或將多個 NIC 與軟體 iSCSI 介面卡結合。

如需不同 iSCSI 介面卡類型的相關資訊,請參閱iSCSI 啟動器

使用多重路徑時,請考量下列幾個事項。
  • 將獨立硬體介面卡與同一主機中的軟體 iSCSI 介面卡或相依 iSCSI 介面卡合併使用時,ESXi 不支援多重路徑。
  • 支援在同一主機內的軟體和相依介面卡之間使用多重路徑。
  • 在不同的主機上,可以混合使用相依介面卡和獨立介面卡。
下圖顯示不同類型的 iSCSI 啟動器的可行多重路徑設定。
圖 2. 以主機為基礎的路徑容錯移轉
該圖顯示不同類型的 iSCSI 啟動器的可行多重路徑設定。
硬體 iSCSI 和容錯移轉
使用硬體 iSCSI 時,主機通常具有兩個或多個硬體 iSCSI 介面卡。主機使用這些介面卡透過一或多個交換器連線儲存區系統。或者,設定可能包含一個介面卡和兩個儲存區處理器,如此介面卡便可以使用不同的路徑連線儲存區系統。

如圖所示,主機 1 具有兩個硬體 iSCSI 介面卡 (HBA1 和 HBA2),可提供兩個到儲存區系統的實體路徑。主機上的多重路徑外掛程式 (無論是 VMkernel NMP 還是任何第三方 MPP),依預設都可以存取這些路徑,並可以監控每個實體路徑的健全狀況。舉例來說,如果 HBA1 或 HBA1 與網路之間的連結發生故障,多重路徑外掛程式可以將路徑切換為 HBA2。

軟體 iSCSI 和容錯移轉
如圖的主機 2 所示,透過軟體 iSCSI,您可以使用多個 NIC 為 iSCSI 連線提供容錯移轉和負載平衡功能。

多重路徑外掛程式對於主機上的實體 NIC 沒有直接存取權,因此,對於此設定,您首先必須將每個實體 NIC 連線到單獨的 VMkernel 連接埠。然後使用連接埠繫結技術,將所有的 VMkernel 連接埠與軟體 iSCSI 啟動器相關聯。連線到單獨 NIC 的每個 VMkernel 連接埠將成為 iSCSI 儲存區堆疊及其儲存區感知多重路徑外掛程式可使用的另一個路徑。

如需為軟體 iSCSI 設定多重路徑的相關資訊,請參閱使用 ESXi 為 iSCSI 和 iSER 設定網路

陣列式的 iSCSI 容錯移轉

某些 iSCSI 儲存區系統可自動管理其連接埠的路徑使用狀況,且這種管理路徑使用狀況的方式對 ESXi 是透明的。

使用下列其中一個儲存區系統時,主機不會查看儲存區上的多個連接埠,並且無法選擇它所連線的儲存連接埠。這些系統只有可供主機進行初始通訊的單一虛擬連接埠位址。在初始通訊期間,儲存區系統可重新導向主機,使該主機與儲存區系統上的其他連接埠進行通訊。主機中的 iSCSI 啟動器遵守此重新連線要求,並與系統上的不同連接埠連線。儲存區系統使用此技術在可用連接埠之間分散負載。

如果 ESXi 主機中斷與其中一個連接埠的連線,則會自動嘗試與儲存區系統的虛擬連接埠重新連線,並應重新導向到作用中的可用連接埠。此重新連線和重新導向將迅速發生,通常不會中斷執行中的虛擬機器。這些儲存區系統還可要求 iSCSI 啟動器重新連線到系統,從而變更這些系統所連線的儲存連接埠。這樣可最有效地使用多個連接埠。

「連接埠重新導向」圖顯示了連接埠重新導向的範例。主機嘗試連線到 10.0.0.1 虛擬連接埠。儲存區系統將此要求重新導向至 10.0.0.2。主機將與 10.0.0.2 連線並將此連接埠用於 I/O 通訊。

備註: 此儲存區系統並非永遠重新導向連線。連接埠 10.0.0.1 也可用於流量。
圖 3. 連接埠重新導向
連接埠重新導向

如果無法使用儲存區系統上充當虛擬連接埠的連接埠,則儲存區系統會將虛擬連接埠位址重新指派給系統上的其他連接埠。「連接埠重新指派」顯示了此類連接埠重新指派的範例。在此案例中,無法使用虛擬連接埠 10.0.0.1,並且儲存區系統將虛擬連接埠 IP 位址重新指派給不同的連接埠。第二個連接埠回應這兩個位址。

圖 4. 連接埠重新指派
該影像顯示連接埠重新指派的範例。

對於這種形式的以陣列為基礎的容錯移轉,只有在使用 ESXi 主機上的多個連接埠時,才可以具有到儲存區的多個路徑。這些路徑是主動-主動式的。如需其他資訊,請參閱 管理 ESXi 主機上的 iSCSI 工作階段

路徑容錯移轉和虛擬機器

路徑發生故障時,Storage I/O 可能會暫停 30 到 60 秒,直到主機確定連結無法使用並且執行容錯移轉為止。如果嘗試顯示主機、主機儲存裝置或介面卡,作業可能會停止。虛擬機器 (其磁碟安裝在 SAN 上) 可能會沒有回應。容錯移轉完成後,I/O 便會正常恢復作業,並且虛擬機器會繼續執行。

當容錯移轉耗費過長時間時,Windows 虛擬機器可能會中斷 I/O 並最終失敗。為避免造成失敗,請將 Windows 虛擬機器的磁碟逾時值至少設定為 60 秒。

若要避免在路徑容錯移轉期間發生中斷狀況,請增加 Windows 客體作業系統上的標準磁碟逾時值。

此程序說明如何使用 Windows 登錄來變更逾時值。

提示: 開始之前:備份 Windows 登錄。
  1. 選取開始 > 執行
  2. 輸入 regedit.exe,然後按一下確定
  3. 在左側面板階層視圖中,連按兩下 HKEY_LOCAL_MACHINE > 系統 > CurrentControlSet > 服務 > 磁碟
  4. 按兩下 TimeOutValue
  5. 將數值資料設定為 0x3c (十六進位) 或 60 (十進位),然後按一下確定

    進行此變更後,Windows 便會至少等待 60 秒以便延遲的磁碟作業完成,然後才產生錯誤。

  6. 將客體作業系統重新開機以使變更生效。