Win2K8 伺服器 MPIO iSCSI 故障轉移不工作
我希望通過兩個獨立的網路堆棧*在我的 Windows 2K8 Server 實驗室系統和我的 NetApp 文件管理器之間傳遞 iSCSI 流量。
我的配置如下:
- 一台安裝了 iSCSI 軟體啟動器、安裝了 MPIO 組件和兩個網路介面的 Win2K8 伺服器:192.168.201.85/24 和 192.168.202.85/24
- 一個 NetApp 文件管理器,其 LUN 已發佈到 Windows 伺服器的 IQN,以及兩個介面:192.168.201.200/24 和 192.168.202.200/24
- 兩個獨立的交換機,一個用於 192.168.201.0/24,一個用於 192.168.202.0/24。兩者都是扁平的(非VLAN)並且沒有連接到任何其他網路設備 - 包括彼此。
我已將 MPIO 組件配置為註冊 iSCSI 軟體啟動器“適配器”類。
然後我進入 iSCSI 啟動器控制面板並將兩個文件管理器地址添加為“目標”並針對它們執行發現。這顯示了可用的單個 LUN。
然後我“登錄”到 LUN 兩次,為每個連接選擇不同的“源”IP 地址。兩個連接都檢查了“啟動時重新連接”並檢查了“MPIO”。
當我檢查目標時,我看到到目標的兩個連接,一個用於 NetApp 正在使用的每個 IP 地址。
當我檢查我的持久連接時,我看到兩個連接,一個用於 NetApp 正在使用的每個 IP 地址。
(此時我應該提到,我已經通過展示到每個 IP 的單個連接、安裝然後在該 IP 上使用驅動器來測試兩個文件管理器 IP。)
然後我進入我的 Disk Mangler 並在 LUN 上設置分區,並將其標記為 Online。磁碟按預期工作。
現在我進入新磁碟的屬性,然後點擊 MPIO 選項卡。我可以看到此磁碟正在使用兩個連接。但是我不知道如何將我在此選項卡中看到的連接與我在 iSCSI 啟動器螢幕中看到的連接關聯起來——所以雖然我假設 iSCSI 啟動器螢幕中的每個連接都有一個連接,但我無法證明這一點.
在 MPIO 選項卡中,我有幾個選項。
我已將計時器全部減少到每個 1 秒,並啟用了路徑驗證。所以我對這些設置的理解意味著:
- Windows 伺服器每秒都會驗證路徑是否有效,即遠端目標 IP 是否正確應答;
- 伺服器只會在檢測到故障後重試一次,在檢測到故障後一秒;
- 伺服器將標記為無效並在失敗後一秒刪除路徑。
關於冗餘,我嘗試了幾件事:
- 如果我將兩個連接都設置為 Active/Active 並選擇 Round Robin use,則磁碟可以正常工作。如果我在磁碟上設置複製操作並通過拔出其中一根網路電纜來模擬網路故障,則連接會停止約 30 秒,然後繼續進行。
- 如果我通過將一個連接標記為備用/被動並選擇僅故障轉移來將連接設置為僅故障轉移,則該連接再次起作用。(有趣的是,磁碟到磁碟的副本似乎始終以大約兩倍於循環的速度流動,但無論如何。)如果我通過拔出備用電纜來模擬故障,連接會停止大約 1 秒鐘,然後繼續進行. 如果我通過拔出有源電纜來模擬故障,連接就會停止——而且我無法通過任何一根電線 ping 過濾器。最終作業系統告訴我磁碟出現故障。網路在這種狀態下保持了幾個小時(之後我厭倦了等待它並重新啟動了伺服器)。
我做了一些研究,發現了一個 Microsoft KB 968287,它談到了由於 Win2K8 和 Vista 中 MPIO.sys 驅動程序中的計數器錯誤導致故障轉移未完成,但安裝此修補程序並沒有改變我能看到的任何內容。
所有這一切讓我懷疑我錯過了一些基本的東西。我做錯了嗎?
這裡的真正目標是提供更可靠的 iSCSI 傳輸,通過該傳輸在我的 Hyper-V 集群上執行 VM 和裝載 Exchange 儲存。我們確實知道,如果檢測到磁碟中斷,Exchange 會非常快速地解除安裝資訊儲存,因此我們希望 MPIO 能夠允許數據流動,即使一條路徑發生故障。
*= 我們目前只有一個 iSCSI 交換機,但是當它開始出現問題時,我們不得不關閉整個世界,以便在一個交換機上刷新韌體。因此,我們需要兩條完全隔離的網路路徑——網卡、交換機和另一端的介面——這樣我們就可以在任何給定時間讓其中一半停止服務以進行維護,而不會破壞世界。
我的理解是,在 Netapp 的 7 模式下,每個 LUN 都會有一個首選路徑,即使您通過兩條路徑發送 IO。您實際上所做的是通過額外的躍點發送每秒 IO,而另一個控制器通過互連將其重定向到該 LUN 的主控制器。您觀察到的 30 秒延遲可能是完成硬集群節點接管所需的時間。
8 模式現在只是一個玩具(除非你想對 Netapp 進行 alpha 測試,否則 7 模式是唯一真正的選擇),但將通過虛擬化文件管理器的幾層來解決這個問題,包括乙太網介面。
如果您想要 iSCSI 或任何其他塊協議的真正活躍的活動框,您不需要 Netapp。接管時間無法保證,而且我看到過去花費的時間超過 30 秒。