變更虛擬私有雲網路的 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 設定不同的虛擬私有雲網路,有兩種方法:

變更網路的 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

  1. 停止所有 VM。

    針對網路中的每個可用區,停止該可用區中的所有 VM。

    gcloud compute instances stop INSTANCE_NAMES... \
        --zone=ZONE
    
  2. 更新網路 MTU。

    gcloud compute networks update NETWORK \
        --mtu=MTU
    
  3. 啟動所有 VM。

    針對網路中的每個可用區,啟動該可用區中的所有 VM。

    gcloud compute instances start INSTANCE_NAMES... \
        --zone=ZONE
    

    將預留位置替換為有效值:

    • INSTANCE_NAMES... 是以空格分隔的執行個體清單。
    • NETWORK 是虛擬私人雲端網路的名稱,您需改變此網路的動態轉送模式。
    • MTU 指定網路的 MTU 是否為 1460 (預設)、15008896。將 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 可設為介於 13008896 之間的任何值 (預設值:1460)。 將 MTU 設為高於 1460 的值之前,請先參閱最大傳輸單位總覽

詳情請參閱 subnetworks.patch 方法。

變更 Windows VM 的 MTU 設定

公開 OS 映像檔為基礎的 Windows VM 會設定為 1460 的固定 MTU。自訂 Windows VM 的 MTU 設定可能有所不同。

如要將 Windows VM 設為使用不同的 MTU,請在每個 VM 上執行下列操作:

命令提示字元

  1. 以系統管理員身分開啟命令提示字元 (cmd.exe)。
  2. 執行下列指令,找出要更新的介面索引:

    netsh interface ipv4 show interface 
  3. 更新介面:

    netsh interface ipv4 set interface INTERFACE_INDEX mtu=MTU store=persistent 
  4. 更新裝置驅動程式設定:

    1. 使用下列指令開啟裝置管理工具:
      devmgmt.msc
      
    2. 展開「網路介面卡」類別。
    3. 在「Google VirtIO Ethernet Adapter」/「Google Ethernet Adapter」裝置上按一下滑鼠右鍵。
    4. 選取 [內容]
    5. 按一下 [進階] 分頁標籤。
    6. 在「Init.MTUSize」Init.MTUSize欄位中輸入 MTU 設定。
    7. 按一下 [確定]

    登錄項目變更時,驅動程式會自動重新啟動,因此執行個體會短暫失去連線。

PowerShell

  1. 以管理員身分開啟 PowerShell。
  2. 執行下列指令:

    Set-NetIPInterface -InterfaceAlias INTERFACE_NAME -AddressFamily IPv4 -NlMtu MTU 
  3. 執行下列指令來更新裝置驅動程式設定:

    Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword MTU -RegistryValue MTU 

    登錄項目變更時,驅動程式會自動重新啟動,因此您會暫時失去與 VM 的連線。

將 VM 遷移至不同 MTU 的網路

您可能會決定將服務遷移至新網路中的新 VM,而不是變更現有網路的 MTU。在這種情況下,您可能需要讓所有 VM 在遷移期間存取伺服器 (例如資料庫伺服器)。如果是,下列一般做法或許有助於順利遷移:

  1. 建立新的網路,並使用新的 MTU。
  2. 在新網路中建立所有必要的防火牆規則和路徑。
  3. 在舊版網路中建立具有多個網路介面的 VM。一個介面會使用新的 MTU 連線至新網路,另一個介面則會使用舊的 MTU 連線至舊網路。
  4. 將這個新 VM 設定為現有 VM 的次要伺服器。
  5. 將主要伺服器故障轉移至次要伺服器。
  6. 您可以將 VM 遷移至新網路,或在新網路中建立新的 VM。如果您要建立新的 VM,可以從頭開始建立、使用現有映像檔,或是建立現有 VM 的快照,並使用該快照填入新的永久磁碟。
  7. 將這些 VM 設定為使用該網路中的作業伺服器。
  8. 將流量遷移至新的 VM。
  9. 如要刪除舊網路,請在新網路中建立新伺服器,與現有伺服器同步,然後容錯移轉至新伺服器。
  10. 刪除舊伺服器和舊網路。

歡迎試用

如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 VPC 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。

免費試用虛擬私有雲