變更 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 網路:
您可以變更現有 VPC 網路的 MTU 設定,但這需要同時關閉網路中的所有 VM。
您可以建立新的 VPC 網路,並設定不同的 MTU,然後將 VM 遷移至該網路。
變更網路的 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
停止所有 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.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/networks/NETWORK { "mtu": MTU }
將預留位置替換為有效值:
- PROJECT_ID 是含有要修改的 VPC 網路的專案 ID。
- NETWORK 是需要修改的 VPC 網路名稱。
MTU
是網路的最大傳輸單位。MTU 可設為1300
到8896
之間的任何值 (預設值:1460
)。請先參閱最大傳輸單位總覽,再將 MTU 設為高於1460
的值。
詳情請參閱 subnetworks.patch
方法。
變更 Windows VM 的 MTU 設定
依據公開 OS 映像檔設定的 Windows VM 會使用固定的 MTU 值 1460
。自訂 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
- 展開「Network adapters」類別。
- 在 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。
- 如果您想刪除舊網路,請在新網路中建立新的伺服器,讓新伺服器與現有伺服器保持同步,然後將服務切換至新伺服器。
- 刪除舊伺服器和舊網路。