VMware 分散式交換器設定:完整指南

虛擬交換器是實體網路交換器的軟體等價物,用於將虛擬機器(VM)的虛擬網路介面卡連接至開放系統互連(OSI)模型第 2 層的網路。VMware 在其各項虛擬化平台上皆提供 vSwitch,但具體的管理方式則取決於您選擇的類型。

必須在每台 ESXi 主機上手動設定一個標準 vSwitch。在大型環境中,這些交換機通常具有相同的設定——包括埠群組、虛擬區域網路(VLAN)以及連接的網路——因此,若要新增一個由 VLAN 支援的埠群組,就意味著必須在一台又一台的主機上重複執行相同的手動步驟。這很快就會變得繁瑣且容易出錯。

VMware 分散式交換器可解決此問題。它是一種在 vCenter Server 上定義一次,即可同時推送到多台主機的邏輯交換器,無需逐一設定每台 ESXi 主機。本指南將說明分散式虛擬交換器(亦稱為 dvSwitch 或 VDS)的運作原理,並逐步引導您完成 vSphere 中 VMware 分散式交換器的完整設定。

NAKIVO for VMware vSphere 備份

NAKIVO for VMware vSphere 備份

為 VMware vSphere 虛擬機器提供全面資料保護及快速還原選項。支援本地、異地及雲端的備份目標。具備防勒索軟體功能。

最新消息

隨著 VMware vSphere 的演進,我們會持續更新本指南。自上次更新以來,我們已對其進行修訂,以反映最新的特點與最佳實踐:

  • 已更新螢幕截圖及操作步驟,以符合當前的 vSphere 8.0 和 9.0 客戶端。
  • 新增了對 vSphere 8.0 中引入的資料處理單元 (DPU) 卸載功能,以及 vSphere 9.0 訂閱授權模式(VMware Cloud Foundation 和 vSphere Foundation)的說明。
  • 擴充了設定操作指南,並新增了"常見問題"、"最佳實踐"及"FAQ"等章節。

什麼是 VMware 分散式虛擬交換器 (VDS)?

分散式虛擬交換器是在 vCenter Server 並套用至所有新增至該群組的 ESXi 主機。就像一個 實體開關, 虛擬交換器可提供第 2 層網路連線功能。

分散式虛擬交換機(VDS)的運作方式類似於儲存在 vCenter 中的範本。當您建立一個 VDS 時,系統會在所有已新增至該 VDS 配置的 ESXi 主機上,建立完全相同的隱藏標準 vSwitch。若您在 VDS 上為某個 VLAN 建立埠組,相同的埠組也會出現在每個相關聯主機的 vSwitch 上。您只需建立一次即可,這是一大優勢。 您在 vCenter 中管理的 VDS 屬於控制平面,而主機上的隱藏標準 vSwitch 則屬於負責傳輸網路流量的 I/O 平面。

當虛擬機器從一台 ESXi 主機遷移至另一台時,它會持續連線至 vSphere 分散式交換器的同一埠。此功能稱為"網路 vMotion",可確保虛擬機器的網路連線保持一致。

vCenter 是用於管理 vSphere 環境(包括 VDS)的管理系統。若 vCenter Server 無法使用,您將無法變更 VMware 分散式交換器的設定,例如將虛擬機器重新連接到其他埠群組。不過,網路仍會持續運作,因為隱藏的標準 vSwitch(即 I/O 平面)會負責處理網路運作。 請注意,vCenter 不應連接到分散式虛擬交換器。從技術上來說,雖然可以這樣做,但此舉在連線中斷與還原方面風險過高。

VDS 設定儲存於 vCenter Server 上,而 ESXi 主機每五分鐘會刷新一次本機快取副本。此快取狀態儲存於主機本機的 VDS 資料庫中(位置為 /etc/vmware/dvsdata.db);您可以使用位於 /usr/lib/vmware/bin/ 目錄下的 net-dvs 工具讀取該資料,這對於疑難排解相當有用。快取的 ESXi 主機設定 讓主機在 vCenter 離線時仍能繼續運行其交換器。

VMware 分散式交換器相較於標準 vSwitch 的優勢

以下幾項功能僅在分散式虛擬交換器上提供,標準 vSwitch 則不具備:

  • 網路 I/O 控制: 進站與出站流量整形及頻寬預留。
  • 埠鏡像: 將某個交換機埠上偵測到的封包副本傳送至另一個埠,以供監控、流量分析及除錯之用。
  • 網路狀態檢查: 預設每分鐘檢查一次 VLAN、最大傳輸單位 (MTU) 及網路介面卡 (NIC) 綁定等設定。
  • 協定支援: 私有 VLAN(PVLAN)、鏈路聚合控制協定(LACP)、NetFlow 以及鏈路層發現協定(LLDP)。
  • 虛擬機器埠封鎖: 阻擋在選定的埠上傳輸或接收資料,這對於安全性很有幫助。
  • 網路 vMotion: 確保虛擬機器(VM)的虛擬網路介面卡持續連接到同一個 VDS 埠;當 vCenter 操作移動虛擬機器時,VDS 會保留該埠的狀態。
  • vNetwork 交換器 API: 提供供第三方虛擬交換器實作使用的介面。
  • 網路設定的備份與還原。

VMware 分散式交換機配置的需求

已指派的授權必須支援 VDS。在 vSphere 8.0 及更早版本中,VMware 分散式交換功能僅適用於 ESXi 主機的 vSphere Enterprise Plus 授權。在 vSphere 9.0 中,VMware Cloud Foundation 和 VMware vSphere Foundation 訂閱授權均包含分散式虛擬交換器。免費試用授權可在 60 天內解鎖所有 vSphere 特點,包括 VDS。該 ESXi 免費版本 不支援分散式虛擬交換器。進一步了解 vSphere 授權 請參閱我們的指南。請注意,vCenter 清單中必須存在該資料中心。

註: 在較早的發布中,標準 VDS 與由 NSX 管理的 N-VDS 之間存在令人混淆的區別。現在,NSX 已直接與原生 VDS(7.0 版或更新版本)整合,且自 NSX 4.0 起(此版本包含於 VMware Cloud Foundation 9 中),已移除對 ESXi 主機上 N-VDS 的支援。

VMware 分散式交換器設定

讓我們來複習一下如何在 VMware vSphere 8.0 中建立並設定 VMware 分散式交換器。在此範例中,我們使用 vCenter 8.0,且有兩台由 vCenter 管理的 ESXi 8.0 主機:

  • ESXi1 – 192.168.101.31(管理介面的 IP 位址)
  • ESXi2 – 192.168.101.101
  • vCenter – 192.168.101.103

vSphere 9.0 中的 VMware 分散式交換器設定與之前完全相同。

步驟 1 – 建立 VMware 分散式交換器

若要建立分散式虛擬交換器,請開啟 VMware HTML5 vSphere Client,然後前往 主機與叢集 區段。您的 ESXi 主機應位於資料中心內,該資料中心是 vCenter 中的邏輯組織單位。在此範例中,這些主機屬於 資料中心1. 右鍵點擊您的資料中心,然後選擇 分散式交換器 > 新型分散式交換器.

Creating a new VMware distributed switch

該 新型分散式交換器 精靈視窗開啟。

  1. 名稱與位置。 請指定分散式交換器的名稱與位置。此處的 VMware DVS 名稱為 DSwitch01 而位置是 資料中心1. 點擊 下一個 在每個精靈步驟中,請點擊以繼續。Specifying the name and location
  2. 請選擇版本。 請指定分散式虛擬交換機 (VDS) 的版本。由於所有主機均執行 ESXi 8.0,請使用最新的 VDS 版本 8.0.0。若至少有一台主機執行 ESXi 6.7,則必須為所有主機選取 VDS 版本 6.6.0(請始終選擇最低版本)。當選取版本 6.6.0 時,VDS 7.0 及後續版本所引入的特點將無法使用。 較低的 VDS 版本仍可在較新的 ESXi 主機上運作,因此若存在混合版本的情況,請將版本與最舊的主機保持一致。若情況允許,請升級較舊的主機,使每台主機皆運行相同版本。Selecting the distributed switch version
  3. 設定選項。 指定上行埠的數量,設定 網路 I/O 控制,並勾選 建立預設埠組. 輸入埠群組名稱,例如 DPortGroup01.

    VMware vSphere 8 新增了對資料處理單元(DPU)的支援,例如 NVIDIA 和 AMD(Pensando)所提供的 DPU。在 VDS 建立精靈中,您可以將網路功能(例如 NSX 或防火牆功能)從主機 CPU 移至 DPU,以提升效能。網路 I/O 控制第 3 版本亦提供了跨交換機的改良型預留與分配模型。

    Configuring distributed switch settings

  4. 已準備就緒,可完成。 檢視新 VDS 的設定,若一切無誤,請按 完成 以建立該開關。Reviewing settings before finishing
  5. 分散式虛擬交換器現已建立。請前往 網路 > [your datacenter] > VM 網路 要查看它(DSwitch01 (此處)。選取 VDS 並開啟 設定 按 Tab 鍵以編輯 VMware 分散式交換器的設定。The new distributed switch is created

步驟 2 – 將 ESXi 主機新增至 VMware 分散式交換器

建立 VDS 後,您必須將 ESXi 主機新增至其設定中,才能讓 VMware 分散式交換功能正常運作。在 網路 在該區段中,右鍵點擊您的 VDS,然後選擇 新增與管理主機.

Opening Add and Manage Hosts

該 新增與管理主機 精靈視窗開啟。

  1. 選擇任務。 由於您需要新增主機,請選取 新增主機 (第一個選項)。Selecting the Add hosts task
  2. 選擇主機。 選取將參與 VMware 分散式交換功能之 ESXi 主機,並在最後一欄中檢查相容性。Selecting ESXi hosts to add

    目前已選取主機,其狀態顯示為"已連線"。

  3. 管理實體適配器。 選取實體網路介面卡 (NIC),並為其指派上行鏈路。您可以使用"單一主機檢視"或"所有主機檢視"。Managing physical network adapters
  4. 管理 VMkernel 介面卡。 在此步驟中,請將 VMkernel 介面卡指派給分散式交換器。該 vmk0 此介面卡是各主機標準 vSwitch 用作管理介面的預設 VMkernel 介面卡;在此,該 vmk0 轉接器保持連接至 vSwitch0 在每個主機上。點擊 指派埠群組 針對每個 VMkernel 介面。Assigning a port group to a VMkernel adapter

    在 指派埠群組 分頁標籤,點擊 指派 針對適當的 VMkernel 介面 (vmk0) 以及分散式埠群 (DPortGroup01). 為所有所需的 VMkernel 介面指派完端口群組後,請繼續進行下一步。

    Assigning the port group

  5. 遷移虛擬機器網路。 在此步驟中,您可以根據需要將虛擬機器或其他網路介面卡遷移至 VDS。在此範例中,並未遷移任何網路介面卡。Migrating VM networking
  6. 已準備就緒,可完成。 請檢視您的設定,然後點擊 完成.Reviewing host settings before finishing

ESXi 主機現已新增至 VMware 分散式交換器 (VDS) 的配置中。您可以將 VMkernel 網路介面卡新增至 VDS 埠群組,以使用諸如 vMotion. 讓我們將一個 VMkernel 介面卡新增至埠群,以建立 vMotion 連線。

步驟 3 – 新增 VMkernel 介面卡

在 網路 在 vCenter 的 [區段] 中,選取您的 VDS 以及埠組(DPortGroup01 (此處)。右鍵點擊埠群組名稱,然後選取 新增 VMkernel 介面卡.

Adding VMkernel adapters

該 新增 VMkernel 介面卡 精靈視窗開啟。

  1. 選擇主機。 請使用核取方塊選取 ESXi 主機,或點擊 全選 以新增每個主機。Selecting hosts for VMkernel adapters
  2. 設定 VMkernel 介面卡。 您可以將埠群組的 MTU 從 1500 位元組變更為 9000 位元組,以使用巨型幀;預設情況下,MTU 值會繼承自 VDS 設定。選擇可用的服務 vMotion, 資源配置, 容錯記錄 或 管理. 讓我們選取 vMotion.Configuring the VMkernel adapter and services
  3. IPv4 設定。 在此步驟中,請為 VMkernel 網卡設定 IP 位址。一般而言,建議伺服器使用靜態 IP 位址。在此範例中,新的 VMkernel 設定如下:
    • ESXi1 – (192.168.101.31) 192.168.105.31
    • ESXi2 – (192.168.101.101) 192.168.105.101

    為方便起見,最後一個八位元組保持不變。vMotion 網路為 192.168.105.0/24,閘道為 192.168.105.1。

    Configuring IPv4 settings

  4. 已準備就緒,可完成。 請檢查您的設定,然後點擊 完成.Reviewing VMkernel adapter settings

步驟 4 – 檢查 VMware DVS 設定

設定完 VMkernel 介面卡後,請選取您的 VDS,然後前往 設定 > 設定 > 拓撲學 以檢視您的 VDS 的圖形化拓撲結構。

Viewing the VDS topology in vCenter

請注意,VDS 會作為範本,套用至所有新增至該 VDS 的 ESXi 主機。在 vCenter 中建立並設定 VDS 後,您可以檢查各主機的虛擬交換器。現在讓我們開啟 VMware Host Client,並檢查第一台 ESXi 主機(192.168.101.101)的網路設定。

在下方的螢幕截圖中,已建立了一個新的虛擬交換機和埠組(位於 導航器, 請前往 網路 並開啟 埠群 (分頁)。選取您的分散式交換器名稱以檢視拓撲。此拓撲與上圖所示的 VDS 拓撲相符。

The ESXi host vSwitch topology

如果您使用 VMware Host Client 登入第二台 ESXi 主機(本例中為 192.168.101.31),將會看到完全相同的拓撲結構。

Identical topology on the second host

您可以匯出及匯入 VMware 分散式交換器的設定,這不僅能儲存時間,還能讓您快速還原 VDS。若要匯出設定,請選取您的分散式交換器,然後按一下 動作 > 設定 > 匯出設定. 同一選單中還包含 還原設定 選項.

Exporting the distributed switch configuration

除了上述的基本設定之外,您還可以進一步優化 VDS — 設定鏈路聚合、啟用流量整形、選擇發現協定,並為埠群組定義 VLAN、埠綁定及埠分配。您也可以將 ESXi 主機上的現有標準 vSwitch 遷移至 VDS,並從單一位置管理所有 vSphere 網路設定。

VMware 分散式交換機設定中的常見問題及解決方法

分散式虛擬交換器是一項複雜的特點,其運作仰賴 ESXi 主機、vCenter 以及兩者之間的網路;因此,若其中任何一項設定錯誤,都可能導致錯誤。以下列出最常見的問題及其解決方法。

某台 ESXi 主機無法加入分散式交換器

症狀: 將主機新增至 VDS 時發生失敗,或者即使在移除後,該主機仍顯示殘留/過期的 VDS 狀態。

原因: 主機上的 VDS 快取資料庫(dvsdata.db)已損壞或過時,這通常發生在網路中斷後,或是從 vCenter 清單中移除不完全的情況下。

修正: 還原 dvsdata.db 檔案。請先備份受影響主機上的 /etc/vmware/dvsdata.db 檔案,然後將同一檔案從正常運作的 ESXi 主機複製到出現問題的主機上。

從標準交換機遷移至 VDS 後,流量無法通過

症狀: 將 VMkernel 介面卡或 VM 網路介面卡遷移至 VDS 後,您將無法管理系統、vMotion 或儲存流量,或者僅有部分主機能正常運作。

原因:

  • 上行鏈路映射錯誤(虛擬機器網路介面卡被指派至錯誤的 dvUplink)。
  • 舊版 vSphere 標準交換器 (vSS) 埠組與新版 dvPortGroup 之間的 VLAN 不匹配。
  • 遷移過程中發生了 MTU 不匹配的情況。

修正(低風險指令):

  • 驗證每個主機的 dvUplink 與實體 NIC 之間的對應關係。
  • 請確認 dvPortGroup 的 VLAN 及安全政策是否與舊有設計相符。
  • 檢查端到端的 MTU(VMkernel 網路介面卡) > VDS > (實體開關)。
  • 使用 VDS 狀態檢查功能,以精確找出 VLAN/MTU/綁定設定不符的情況。

當 vCenter 處於離線狀態時,您無法附加或移動虛擬機器(靜態埠綁定陷阱)

症狀: 當 vCenter 無法使用時,您無法將虛擬機器網路介面卡 (NIC) 連接到 dvPortGroup 或將其移至該組,且嘗試操作時會出現錯誤。這種情況通常發生在 vCenter 運行於連接到 VDS 的虛擬機器上時,從而形成循環依賴關係。

原因: dvPortGroup 採用靜態(非暫存)綁定,這需要在重新配置時由 vCenter 進行埠分配。

修正: 在與管理網路位於同一 VLAN 的區域中建立一個暫存型 dvPortGroup,並將受困的虛擬機器(通常是 vCenter 虛擬機器)移至該群組。設定一項叢集政策,將原始埠群組與適當的活躍上行鏈路進行配對,然後將 vCenter Server 裝置 (VCSA) 遷移至該暫存型埠群組。 靜態綁定對於一般工作負載來說沒問題,但請預先準備好暫存式還原方案,以因應 vCenter 停機事件。

VMware 分散式交換器最佳實踐

在配置 VDS 時遵循幾項最佳實踐,可降低發生故障的風險,並使問題更容易恢復。

  • 針對 vCenter 無法使用的情況制定應變計畫。 設計基礎架構時,應確保即使發生 vCenter 絕不會導致管理層面陷入死鎖。若 vCenter 與主機之間的通訊中斷,已位於靜態(非暫存)dvPortGroups 上的虛擬機器仍會繼續運行,但通常在沒有 vCenter 進行埠位指派的情況下,您無法將虛擬機器移至這些埠組。
  • 請預先準備一個暫存的 dvPortGroup,以備不時之需。 使用此功能來移動受困的虛擬機器(通常是 vCenter 虛擬機器),並恢復管理連線。作為 已測試的還原功能 另一種做法是,在主機上建立一個臨時的標準 vSwitch 來恢復 vCenter 的運作,然後修復 VDS 並將其遷回。
  • 將 dvPortGroup 政策標準化。 在 dvPortGroup 層級定義 VLAN、叢集/故障移轉、安全性及流量整形,並針對每種流量類型(管理、vMotion、vSAN/iSCSI/NFS、虛擬機器網路)各設定一個 dvPortGroup。此舉可降低" “一次變更便導致系統全面癱瘓"” 的風險。
  • 使用 VDS 狀態檢查功能來偵測 VLAN/MTU/叢集設定不符的情況。 至少在系統上線及進行重大變更時應啟用此功能。將其視為部署驗證工具——先啟用它,修正任何偏差,然後再決定是否繼續啟用。若產生干擾,請務必在修正根本原因的不一致後,才將其停用。
  • 備份 VDS 設定,並安全地進行變更。 在進行任何重大變更之前,請先匯出設定;於維護時段內進行影響較大的變更(例如 VLAN、MTU、上行鏈路政策);並一次只變更一項設定,以便回滾時能清楚辨識。請務必保持一個 還原計畫.
  • 請確保所有位置的 MTU 保持一致。 若要變更 MTU,請確保所有交換機和網路設備的設定均與之匹配,並確認網卡及相關設備支援該數值。MTU 不匹配是 VDS 最常見的故障原因之一(尤其是 vMotion、vSAN 和 iSCSI);若您將 VDS/VMkernel 網卡的 MTU 設定為 9000,請務必確認實體交換機埠和 VLAN 路徑也支援此數值。

結論

VMware 分散式交換器讓您能夠在單一位置管理所有連接至該交換器的 ESXi 主機的網路設定。您只需在 vCenter 中定義一次設定,vCenter 便會將其推送為符合標準的 vSwitch,而每台主機都會自動建立這些 vSwitch —— 您所編輯的部分充當控制平面,而這些主機級別的交換器則構成實際傳輸流量的 I/O 平面。

對於大型環境和 vSphere 叢集而言,這種集中式控制不僅能節省時間,還能確保網路配置的一致性。只需妥善規劃授權即可:分散式交換器在 vSphere 8.0 及更早版本中需要 vSphere Enterprise Plus 授權,而在 vSphere 9.0 中則已包含於 VMware Cloud Foundation 和 vSphere Foundation 訂閱中。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面探索本解決方案的所有資料保護特點。免費試用 15 天。無任何特點或容量限制。無需提供信用卡資訊。

常見問題

什麼是 VMware 分散式交換器 (VDS)?

VMware 分散式交換器(VDS)是一種虛擬交換器,您只需在 vCenter 中進行一次設定,即可同時套用至多個 ESXi 主機。它充當中央範本,因此每個連線的主機都會獲得相同的網路設定——這對於維持大型 vSphere 環境的一致性而言,是一大優勢。

標準 vSwitch 與分散式交換器之間有何差異?

每個 ESXi 主機上都會分別設定一個標準 vSwitch。分散式交換器則是在 vCenter Server 中集中定義,並一次套用至所有已連接的主機,因此您無需手動重複進行相同的設定。這使得它更適合大型 vSphere 環境。

如何設定 VMware 分散式交換器?

在 vSphere Client 中,右鍵點擊一個資料中心,然後選擇"新增分散式交換器",接著設定版本、上行鏈路及埠群組。接著,右鍵點擊新建立的交換器,並選擇"新增與管理主機"來連接您的 ESXi 主機、指派上行鏈路與 VMkernel 介面卡,並在必要時遷移虛擬機器網路。最後,將 VMkernel 介面卡新增至相關的埠群組。

VMware 分散式交換器的需求有哪些?

您需要具備分散式交換器功能性的 vSphere 授權:在 vSphere 8.0 及更早版本中為 vSphere Enterprise Plus;在 vSphere 9.0 中則為 VMware Cloud Foundation 或 vSphere Foundation 訂閱。此外,還需安裝 vCenter Server,且您的 ESXi 主機與 vCenter 必須運行相容的版本。

其他人也在看