Networking

為什麼我的 HyperV VM 會隨機失去連接?

  • July 2, 2020

我大約每兩週發生一次奇怪的間歇性連接問題。

首先是我的配置:我正在執行一個帶有兩個物理主機(node01 和 node02)的 HyperV 故障轉移集群。這些主機都執行帶有 SP1 的 Windows Server 2008 R2 HyperV 伺服器(免費伺服器)。在這些主機上,我執行兩個 VM,每個都執行帶有 SP1 的 Windows Server 2008 R2 Web 版。我的儲存伺服器是通過 iSCSI 連接的 Windows Storage Server 2008。主機和儲存伺服器都執行直接從英特爾網站下載的最新網路驅動程序。

問題出在:99.99% 的時間裡,一切都很完美。大約每兩到三週一次,VM 將同時失去網路連接,包括傳入和傳出。當這件事發生時,

  1. 我無法 RDP 進入任何一個虛擬機。
  2. 我可以 RDP 進入任一主機。
  3. 我可以通過右鍵點擊節點並選擇“連接到虛擬機”從故障轉移群集管理器連接到任一 VM
  4. 一旦我按照上面 #3 的描述連接到 VM,我就無法訪問 LAN 上的任何網站或機器。禁用和重新啟用 VM 內的虛擬網路連接並不能解決問題。
  5. 如果我將 VM 移動到不同的節點,則可以解決問題(在接下來的兩週內)。
  6. 如果我重新啟動主機並將虛擬機移回主機上,那麼問題就解決了(接下來的兩週)。
  7. 發生這種情況時,故障轉移群集不會自動對 VM 進行故障轉移。
  8. 任何主機或虛擬機上都沒有異常事件日誌條目。

這已經發生了大約 5 次,症狀與上述相同。我懷疑是網路驅動程序或網路硬體問題,但由於我已經在執行最新的驅動程序,我不知道該怎麼辦。

這是一個真正令人頭疼的問題……有什麼想法嗎?

更新

我在這裡發現了一個非常相似的案例:Virutal Machine lost network connectivity on Hyper V Cluster

2011 年 7 月 29 日更新

安裝修補程序和更新網路驅動程序後,我仍然遇到同樣的問題。回應詢問硬體細節的評論,伺服器是Intel SR1670HV,它是1U機箱,包含兩個獨立的S5500HV主機板。通信是通過主機板的集成 NIC 進行的,這些 NIC 是 Intel 82574L。網路驅動程序版本為 16.2.49.0。

我們曾經在我所在的地方遇到過這樣的問題。我不記得確切的細節,但最終的解決方案與動態分配給虛擬網路適配器的衝突 MAC 地址有關。將它們固定下來,使它們沒有活力有很大幫助。您通常不希望這樣做,因為它會使將虛擬機移動到不同的主機變得更加困難,但在這種情況下它幫助了我們。

另一部分是物理網卡是由 Broadcom 製造的,我們在那裡也遇到了配置錯誤,以前的管理員曾錯誤地嘗試使用 Broadcom 實用程序將兩個 nic 連接到主機上以提高頻寬/吞吐量。我們刪除了該設置並配置了其中一個網卡,因此它在主機上根本沒有 IP,但仍可用於直通到虛擬客戶。然後我們將每台虛擬機設置為只使用一個網卡或另一個,根據歷史流量平衡負載。當然,這意味著如果適配器或連接出現故障,則不會進行故障轉移,而且我們還沒有很好地觀察流量是否隨著時間的推移保持平衡,但從那時起它一直堅如磐石。

我知道這是一個老問題,但是我遇到了同樣的問題並且浪費了很多時間來解決它,以至於我想我會分享對我有用的解決方案。我在這裡找到了解決問題的方法:

http://invendows.wordpress.com/2008/03/06/network-issue-with-hyper-v/

在我的情況下,解決方案是禁用虛擬機上的 TCP 解除安裝。我將從連結中引用相關部分:

為了禁用 TCP 解除安裝,我必須在連接到 Broadcom 8507 Nextreme II NIC 的每個 VM 中創建並設置一個新的系統資料庫值。

我使用以下系統資料庫​​更改來禁用 TCP 解除安裝:

鍵:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

值(DWORD):DisableTaskOffload = 1

以這種方式在每個 VM 上禁用 TCP 解除安裝後,所有問題都結束了,我能夠將多個 VM 連接到 Broadcom 5708 Nextreme II NIC 的一個 NIC 埠。

我的伺服器有Broadcom NetExtreme網卡,所以對我來說,這個問題的原因肯定與驅動程序有關,但設置DisableTaskOffload= 1 完全為我解決了這個問題。希望這些資訊可以節省其他人的搜尋時間!

引用自:https://serverfault.com/questions/278860