我需要在高密度虛擬機部署期間,防止 Hyper-V vSwitch 遺失傳入流量。

Jun Liu 100 信誉分
2026-09-07T07:26:28.99+00:00

僅依賴預設的動態 MAC 位址表容量是否足夠?還是有辦法也能夠透過 PowerShell 來擴充 MAC 表的大小並調整 MAC 老化時間 (aging timers), 也就是說,當我們的高密度虛擬機運行時,vSwitch 能夠處理所有的 MAC 位址,而不會因為超出容量而遺失流量?

Windows 商业版 | Windows 365 商业版
0 个注释 无注释

问题作者接受的答案
Harry Phan 33,725 信誉分 独立顾问
2026-09-07T08:25:20.39+00:00

你好,

在 Windows 的 Hyper‑V vSwitch 中,動態 MAC 位址表的容量雖然足以支援一般工作負載,但在高密度虛擬機環境下確實可能成為瓶頸。當 MAC 表超出容量時,新的位址無法學習,導致流量遺失。

目前沒有官方 PowerShell Cmdlet 可以直接擴充 MAC 表大小,因為這是由 vSwitch 核心模組控制的。但你可以透過登錄檔與 NIC 驅動程式參數來調整。相關設定位於:

HKLM\SYSTEM\CurrentControlSet\Services\VMSMP\Parameters

在這裡可以建立或修改 MacAddressTableSize 來增加表容量,以及 MacAddressAgingTime 來調整老化時間(預設約 300 秒)。修改後需要重新啟動 Hyper‑V Virtual Switch 服務或整個主機,設定才會生效。

需要注意的是,雖然可以透過這些方法增加表容量與延長老化時間,但這並不是 Microsoft 官方建議的最佳做法。當 VM 數量非常龐大時,最佳實務是透過多個 vSwitch 或網路分段來分散 MAC 學習負載,避免單一 vSwitch 成為瓶頸。

總結來說,僅依賴預設容量在高密度環境下可能不足,你可以透過登錄檔調整 MacAddressTableSize 與 MacAddressAgingTime,但更穩健的方式是進行網路分段設計。

Harry Phan.

此答案是否有帮助?

1 个人认为此答案很有帮助。
0 个注释 无注释

0 个其他答案

排序依据: 最早

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。