Hyper-V 網路最佳實踐
在大多數情況下,當您在 Hyper-V 上部署虛擬機器 (VM) 時,需要根據任務需求為虛擬機器配置網路存取權限。正確的 Hyper-V 網路配置不僅能為虛擬機器、Hyper-V 主機及整個基礎架構提供高水準的效能與安全性,還能提升整個資料中心的穩定性。 實體網路介面卡(網路介面控制器 – NIC)與虛擬交換器是 Hyper-V 網路架構的需求。您至少需要其中一種元件,才能為虛擬機器建立網路連線。
使用網路介面卡的最新驅動程式
請在 Hyper-V 主機上為您的實體網路介面卡使用最新驅動程式。透過使用最新的網路驅動程式,您將能獲得網路介面卡驅動程式所提供的最新特點,並享有最佳的網路速度與穩定性。已知的錯誤通常會在最新的驅動程式和韌體版本中獲得修正。即使您的 Windows 作業系統能夠識別實體網路介面卡並自動使用內建驅動程式,根據 Hyper-V 網路最佳實踐,仍建議安裝由網路介面卡製造商提供的原生驅動程式。
在 Hyper-V 網路設定中使用靜態 IP 位址
在 Hyper-V 網路設定過程中,請為 Hyper-V 伺服器的網路介面卡設定靜態 IP 位址,並為作為虛擬伺服器運作的虛擬機器之虛擬網路介面卡使用靜態 IP 位址。建議採取此做法,因為網路中的其他主機可能會透過 IP 位址連線至實體或虛擬伺服器。 若透過 DHCP(動態主機配置協定)取得位址,這些位址可能會在特定時間間隔後變更,屆時其他主機將無法連線至該伺服器。
使用適當類型的虛擬交換器
虛擬機器的虛擬網路介面卡連接至某個 虛擬交換器 這是一種基於軟體的模擬實體交換機,運作於 OSI 網路模型的第二層。虛擬交換機是透過 Hyper-V 主機的實體網路介面卡與實體交換機,連接到基於乙太網路的網路。Hyper-V 中有三種虛擬交換機類型:私有交換機、內部交換機和外部交換機。Hyper-V 網路的最佳實踐建議您根據不同用途選用適當的虛擬交換機類型。
- 私人虛擬交換器. 當虛擬機器需要運行於完全隔離的虛擬網路中時,便會使用此類虛擬交換機,此類網路既可用於測試,亦可基於安全考量而設置。連接到此類虛擬交換機的虛擬機器僅能透過網路相互通訊,但無法存取 Hyper-V 主機。Hyper-V 主機亦無法連接到連接到"私有"虛擬交換機的虛擬機器。
- 內部虛擬交換器. 連接到此類虛擬交換器的虛擬機器可以相互通訊,並與 Hyper-V 主機進行通訊。Hyper-V 主機亦可與連接到"內部"虛擬交換器的虛擬機器進行通訊。虛擬機器無法連接到外部網路,包括網際網路。連接到此類虛擬交換器的虛擬機器在 IP 網路配置中不使用閘道(與"私有"虛擬交換器的情況相同)。內部虛擬交換器適用於主機與來賓系統之間的檔案交換。 在此情況下,Hyper-V 主機上會新增一個虛擬網路介面。
- 外部虛擬交換器. 連接到外部虛擬交換器的虛擬機器可以相互通訊、與 Hyper-V 主機通訊,並連接到外部網路(包括網際網路)。Hyper-V 主機可以與連接到外部虛擬交換器的虛擬機器通訊。在此情況下,需在 Hyper-V 虛擬機器的網路設定中配置閘道,以便連接到其他網路。此外,還需在 Hyper-V 主機上新增一個虛擬網路介面。
在 iSCSI 網路以外的情況下使用 NIC 叢集
若您擁有多個實體網路介面控制器,請在 Hyper-V 網路配置中使用 NIC 叢集特點來啟用鏈路聚合。NIC 叢集特點是一項特點,可讓您透過將實體網路介面控制器分組為叢集,在實體與虛擬網路介面控制器之間分配流量。此類組合能提供更高的效能(這在實際上總是成立的)以及容錯能力(對於用於叢集的 Hyper-V 網路配置而言,這在實際上確實成立)。
將網路介面卡加入團隊可增加可用網路頻寬,但並非單純將所有介面卡的網路速度相加(例如,若將四個 1Gbit 網路介面卡加入團隊,並不會形成 4Gbit 的網路連線)。NIC 團隊化能合理地在各網路介面卡之間重新分配網路流量。 若要部署 Hyper-V 叢集,請建立一個包含 2 個網卡的網卡叢集(使用備用網卡選項),並將每個網卡連接至不同的實體交換器,以確保 Hyper-V 網路的容錯能力。
請勿在 iSCSI 網路中使用網卡叢集,以免造成系統損毀。作為替代方案,您可以在 Windows Server 上配置 MPIO(多路徑輸入/輸出)。 請確認您的基礎架構中,iSCSI 發起端與 iSCSI 目標端是否皆支援使用 MPIO 進行負載平衡。
Hyper-V 網路最佳實踐亦不建議在 Hyper-V 環境中將 NIC 綑綁用於 SMB 3.0 儲存網路,原因與前述 iSCSI 的問題相同。
在叢集中針對不同用途使用獨立網路
如果您擁有多個 Hyper-V 主機,並使用共用儲存裝置來儲存虛擬機器,請使用獨立的儲存網路(iSCSI 或 SMB 3.0)。Hyper-V 網路最佳實踐建議您針對每種流量類型使用以下獨立網路,特別是當您 部署故障移轉叢集:
- 儲存網路. 虛擬機器(VM)的效能高度取決於儲存網路的速度。儲存流量對叢集至關重要,因此絕不能進行路由轉發(請使用相同的子網)。儲存網路的速度應盡可能快,10 Gigabit 網路將是理想選擇。
- CSV (叢集共用卷) 或心跳網路。CSV 流量通常極少,但用於標準的叢集通訊。心跳流量雖輕微,但對延遲敏感,且要求叢集的每個元件都處於正常運作且線上狀態。若未設置專用網路來傳送心跳訊號,則在傳輸大量資料(例如透過網路複製檔案)時,心跳訊號可能會延遲甚至遺失,導致叢集在失去法定人數後發生故障。
- 虛擬機器即時遷移網路. 虛擬機器遷移過程需要足夠的頻寬,才能快速且無誤地完成遷移任務,尤其是在虛擬機器正在運行時。在複製運行中虛擬機器的記憶體狀態時,會同步進行 Hyper-V 主機之間"髒記憶體頁"的迭代複製。必須盡可能快速地複製大塊的記憶體。
- 虛擬機器網路. 此網路承載了 Hyper-V 網路方面最重要的虛擬機器流量。
- 管理網絡. 此網路類型用於管理 Hyper-V 主機及其上所託管的虛擬機器。
此方法有助於您將不同類型的流量進行隔離,從而提升效能與安全性。這既可透過使用多個網路介面卡來實現物理隔離,也可透過 VLAN 標記來實現邏輯隔離。請務必為每個網路建立專用的虛擬交換器。
為 iSCSI、即時遷移及 CSV 網路啟用巨型幀
巨型幀(Jumbo frame)是一種能夠傳輸大小超過 1500 位元的 TCP 封包的乙太網路幀。在此情況下,MTU(最大傳輸單位)為 1500 位元。乙太網路幀的標準大小為 1518 位元,但若使用 VLAN 標記,則幀大小會增加 4 位元,變為 1522 位元。 巨型幀的 MTU 最大可達 9000 位元組。您可參閱下圖了解標準乙太網路幀與標記乙太網路幀的結構。


註: 包含幀的已傳送資料段以前導碼和 SFD(起始幀分隔符)開頭。在傳送此類資料段之間存在幀間間隔。幀的載荷資料區可包含一個封裝封包,該封包又由標頭和載荷組成。FCS 指的是幀檢查序列,用於確保資料無誤且傳送的資料一致。
巨型幀(Jumbo frames)比標準幀更大,由於能承載更大的封包,因此會減少伺服器的開銷。封包數量減少意味著 CPU 中斷次數減少,進而降低整體電腦負載。中斷次數的減少亦能降低伺服器匯流排的延遲。 封包數量減少意味著在幀格式與標頭處理方面的網路開銷降低,從而實現更合理的資源利用。請參閱下圖,該圖類似於比較使用 512B 傳統磁區與 4KB 磁區(Advanced Format)硬碟儲存資料的示意圖。

透過為您的 iSCSI、即時遷移 (Live Migration) 及 CSV 網路啟用巨型幀 (Jumbo frames),您可以將資料傳輸速度提升約 27%。 請注意,幀(frame)是 OSI 模型第二層的協議資料單元(PDU),而封包(packet)則是 OSI 模型第三層的協議資料單元。
基礎架構中所有用於 iSCSI、即時遷移及 CSV 網路的網路設備(交換器、路由器、網路介面卡)都必須支援巨型幀,且必須在所有這些設備上配置此選項。 請務必依照上文所述,在 Hyper-V 伺服器上為網路介面卡安裝最新的驅動程式與韌體,以便在設定 Hyper-V 網路時能夠啟用巨型幀。請勿將巨型幀用於其他所有網路,否則可能會產生負面影響。
在可行時使用合成虛擬網路介面卡
適用於第 2 代虛擬機的合成 Hyper-V 虛擬網路介面卡,其運作速度比傳統網路介面卡更快,而傳統網路介面卡是目前唯一可用的虛擬網路介面卡類型 第一代虛擬機器。 請注意,若要使用合成網路介面卡,客體作業系統必須支援 Hyper-V,因為必須在客體作業系統上安裝包含適當驅動程式的整合服務。Hyper-V 虛擬機器最多可連接 8 個合成虛擬網路介面卡,而單一虛擬機器最多只能連接 4 個傳統網路介面卡。在建立 Hyper-V 第 2 代虛擬機器後,系統預設會為其新增一個合成虛擬網路介面卡。 合成網路介面卡提供更完善的功能性,包括對 VLAN 標記的支援。
傳統網路介面卡應用於 PXE(開機前執行環境)開機,以及需要模擬(傳統)硬體的舊版作業系統。進行 Hyper-V 網路設定時,請務必謹記此點。
在網路頻寬與共用儲存容量之間取得平衡
當共用儲存空間容量龐大,且該儲存裝置上存放了大量虛擬機器時,低速的網路傳輸速率便可能成為瓶頸。因此,即使儲存裝置(例如 NAS——網路附加儲存裝置)所使用的磁碟速度很快(例如採用 RAID 10 配置的固態硬碟),您仍可能面臨資料傳輸速度緩慢的問題。 反之,若您擁有高速且低延遲的儲存網路,但儲存裝置上用於儲存陣列的磁碟速度較慢(例如轉速為 5400 RPM 的磁碟機),整體資料傳輸速度仍可能偏低。因此,Hyper-V 網路最佳實踐建議您在網路頻寬與共用儲存所用磁碟的速度之間取得平衡。
結論
若您使用 Hyper-V,網路是虛擬基礎架構中的重要組成部分。這篇部落格文章探討了 Hyper-V 網路的最佳實踐,可協助您確保 Hyper-V 網路設定能適用於各種情境——無論是使用獨立的 Hyper-V 主機、多台 Hyper-V 主機,還是 Hyper-V 故障移轉叢集。如您所見,其中有些建議是通用的,有些則是針對 Hyper-V 的特定建議。 只要掌握了主要的網路原則,您就能將這些知識應用於 Hyper-V 以外的更多網路配置情境。