變更虛擬私有雲網路的 MTU 設定
在 Google Cloud中,您可以為每個 VPC 網路設定 MTU。 使用該網路的虛擬機器 (VM) 執行個體必須設定為對介面使用相同的 MTU 設定。
- 以公開 OS 映像檔為基礎的 Linux VM 會從 DHCP 伺服器接收 VPC 網路的 MTU 設定。DHCP 選項 26 包含 MTU 設定。 
- Windows VM 不會使用 DHCP 設定 MTU。如果變更 VPC 網路的 MTU,您必須變更 VM 的 MTU 設定。 
如要進一步瞭解 VM 和 MTU 設定,請參閱「VM 和 MTU 設定」。
如要開始使用 MTU 設定不同的虛擬私有雲網路,有兩種方法:
- 您可以變更現有 VPC 網路的 MTU 設定,但必須同時關閉網路中的所有 VM。 
- 您可以建立 MTU 設定不同的新虛擬私有雲網路,然後將 VM 遷移至該網路。 
變更網路的 MTU
每個 VPC 網路都有 MTU。請勿在 VM 執行期間變更網路 MTU。這麼做可能會導致 VM 的 MTU 不同,進而造成網路連線不穩定。
如要瞭解變更網路 MTU 的詳細注意事項,請參閱最大傳輸單位總覽。
建議您更新網路 MTU 的方式是停止所有正在執行的 VM 執行個體、變更網路 MTU,然後啟動所有執行個體。以 Linux 公開映像檔為基礎的 VM 啟動時,會自動將每個網路介面設定為使用所連虛擬私有雲網路的 MTU。您必須手動更新 Windows VM 的 MTU,以及不依賴 DHCP 設定網路 MTU 的自訂映像檔 VM。
主控台
Google Cloud 控制台不支援更新網路 MTU。 請參閱 Google Cloud CLI 或 API 操作說明。
gcloud
- 停止所有 VM。 - 針對網路中的每個可用區,停止該可用區中的所有 VM。 - gcloud compute instances stop INSTANCE_NAMES... \ --zone=ZONE
- 更新網路 MTU。 - gcloud compute networks update NETWORK \ --mtu=MTU
- 啟動所有 VM。 - 針對網路中的每個可用區,啟動該可用區中的所有 VM。 - gcloud compute instances start INSTANCE_NAMES... \ --zone=ZONE- 將預留位置替換為有效值: - INSTANCE_NAMES...是以空格分隔的執行個體清單。
- NETWORK是虛擬私人雲端網路的名稱,您需改變此網路的動態轉送模式。
- MTU指定網路的 MTU 是否為- 1460(預設)、- 1500或- 8896。將 MTU 設為高於- 1460前,請先參閱最大傳輸單位總覽。
 
API
變更現有 VPC 網路的 MTU。
PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK
{
  "mtu": MTU
}
將預留位置替換為有效值:
- PROJECT_ID 是含有要修改的 VPC 網路的專案 ID。
- NETWORK 是要修改的虛擬私有雲網路名稱。
- MTU是網路的最大傳輸單位。 MTU 可設為介於- 1300到- 8896之間的任何值 (預設值:- 1460)。 將 MTU 設為高於- 1460的值之前,請先參閱最大傳輸單位總覽。
詳情請參閱 subnetworks.patch 方法。
變更 Windows VM 的 MTU 設定
以公開 OS 映像檔為基礎的 Windows VM 會設定為 1460 的固定 MTU。自訂 Windows VM 的 MTU 設定可能有所不同。
如要將 Windows VM 設為使用不同的 MTU,請在每個 VM 上執行下列操作:
命令提示字元
- 以系統管理員身分開啟命令提示字元 (cmd.exe)。
- 執行下列指令,找出要更新的介面索引: - netsh interface ipv4 show interface 
- 更新介面: - netsh interface ipv4 set interface INTERFACE_INDEX mtu=MTU store=persistent 
- 更新裝置驅動程式設定: - 使用下列指令開啟裝置管理工具:
devmgmt.msc 
- 展開「網路介面卡」類別。
- 在「Google VirtIO Ethernet Adapter」/「Google Ethernet Adapter」裝置上按一下滑鼠右鍵。
- 選取 [內容]。
- 按一下 [進階] 分頁標籤。
- 在「Init.MTUSize」Init.MTUSize欄位中輸入 MTU 設定。
- 按一下 [確定]。
 - 登錄項目變更時,驅動程式會自動重新啟動,因此執行個體會短暫失去連線。 
- 使用下列指令開啟裝置管理工具:
PowerShell
- 以管理員身分開啟 PowerShell。
- 執行下列指令: - Set-NetIPInterface -InterfaceAlias INTERFACE_NAME -AddressFamily IPv4 -NlMtu MTU 
- 執行下列指令來更新裝置驅動程式設定: - Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword MTU -RegistryValue MTU - 登錄項目變更時,驅動程式會自動重新啟動,因此您會暫時失去與 VM 的連線。 
將 VM 遷移至不同 MTU 的網路
您可能會決定將服務遷移至新網路中的新 VM,而不是變更現有網路的 MTU。在這種情況下,您可能需要讓所有 VM 在遷移期間存取伺服器 (例如資料庫伺服器)。如果是,下列一般做法或許有助於順利遷移:
- 建立新的網路,並使用新的 MTU。
- 在新網路中建立所有必要的防火牆規則和路徑。
- 在舊版網路中建立具有多個網路介面的 VM。一個介面會使用新的 MTU 連線至新網路,另一個介面則會使用舊的 MTU 連線至舊網路。
- 將這個新 VM 設定為現有 VM 的次要伺服器。
- 將主要伺服器故障轉移至次要伺服器。
- 您可以將 VM 遷移至新網路,或在新網路中建立新的 VM。如果您要建立新的 VM,可以從頭開始建立、使用現有映像檔,或是建立現有 VM 的快照,並使用該快照填入新的永久磁碟。
- 將這些 VM 設定為使用該網路中的作業伺服器。
- 將流量遷移至新的 VM。
- 如要刪除舊網路,請在新網路中建立新伺服器,與現有伺服器同步,然後容錯移轉至新伺服器。
- 刪除舊伺服器和舊網路。
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 VPC 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
免費試用虛擬私有雲