變更 VPC 網路的 MTU 設定

在 Trusted 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

每個 VPC 網路都有 MTU。請勿在 VM 執行期間變更網路 MTU。這可能會導致 VM 在一段時間內具有不同的 MTU,進而導致網路連線不穩定。

如要進一步瞭解變更網路 MTU 的詳細考量事項,請參閱最大傳輸單位總覽

更新網路 MTU 的建議做法是停止所有執行中的 VM 執行個體、變更網路 MTU,然後啟動所有執行個體。以公開 Linux 映像檔為基礎的 VM 會在啟動時自動設定各個網路介面,以便使用已連結 VPC 網路的 MTU。您必須手動更新 Windows VM 的 MTU,以及不依賴 DHCP 網路 MTU 設定的自訂映像檔 VM。

主控台

Trusted 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.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/networks/NETWORK
{
  "mtu": MTU
}

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

  • PROJECT_ID 是含有要修改的 VPC 網路的專案 ID。
  • NETWORK 是需要修改的 VPC 網路名稱。
  • MTU 是網路的最大傳輸單位。MTU 可設為 13008896 之間的任何值 (預設值:1460)。請先參閱最大傳輸單位總覽,再將 MTU 設為高於 1460 的值。

詳情請參閱 subnetworks.patch 方法。

變更 Windows VM 的 MTU 設定

依據公開 OS 映像檔設定的 Windows VM 會使用固定的 MTU 值 1460。自訂 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. 展開「Network adapters」類別。
    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. 刪除舊伺服器和舊網路。