可搭配 C3 和 X4 等機器系列使用的裸機執行個體,會使用基礎架構資料處理單元功能 (IDPF),這是一種標準化、多供應商 PCIe 網路資料處理單元功能裝置。IDPF 是實體裝置。IDPF 驅動程式已納入 Linux 作業系統 (OS) 映像檔的核心。
事前準備
-
如果尚未設定,請先設定驗證機制。「驗證」是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,以便對 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳情請參閱 Google Cloud 驗證說明文件中的「驗證以使用 REST」。
支援 IDPF 的功能
與 gVNIC 類似,IDPF 也支援下列功能:
- 各個 VM 的 Tier_1 網路效能
- 支援大型 MTU (Jumbo Frames)
- 虛擬私有雲網路功能:
- Cloud Next Generation Firewall
- 封包鏡像
- 虛擬私有雲流量記錄
- 支援 IPv6
- 虛擬私有雲網路對等互連
- Network Connectivity Center
IDPF 網路介面的限制
使用 IDPF 網路介面時,請注意下列限制:
- 執行個體僅支援單一 NIC。您無法建立具有多個 NIC 的運算執行個體。
- IDPF 只支援預設佇列分配,每個 NIC 有 16 個接收和傳輸佇列 (RX/TX)。
- 如果您在裸機執行個體中使用 DPDK,DPDK 會取代 IDPF,成為實體 NIC 的驅動程式。DPDK 應用程式必須將封包轉送至核心,例如透過 TAP 介面。
使用 IDPF 搭配裸機執行個體的概略說明
如要建立使用 IDPF 的裸機執行個體,請完成下列步驟:
- 選擇支援 IDPF 的公開 OS 映像檔,或建立標示為使用 IDPF 的自訂 OS 映像檔。
- 使用公開或自訂的 OS 映像檔建立裸機執行個體。在建立執行個體時,請設定網路介面以使用 IDPF。
- 確認 IDPF 已啟用。
作業系統支援
在 Compute Engine 上,IDPF 僅支援少數的公開 OS 映像檔。
如要瞭解 IDPF 支援哪些作業系統,請參閱作業系統的「介面」分頁。
在未支援的作業系統上使用
如果作業系統映像檔不支援 IDPF,請向作業系統發布商洽詢如何加入 IDPF 驅動程式。
取得含有 IDPF 的作業系統映像檔後,請匯入可開機的虛擬磁碟,其中包含自訂作業系統。接著,您可以使用自訂 OS 映像檔,建立在該作業系統上使用 IDPF 的裸機執行個體。如要進一步瞭解如何建立自訂 OS 映像檔,以便與裸機執行個體搭配使用,請參閱本頁的「建立支援 IDPF 的自訂 OS 映像檔」。
建立支援 IDPF 的自訂 OS 映像檔
如果您需要為裸機執行個體建立不同的作業系統映像檔或版本,而非 Google Cloud提供的,可以使用 Google Cloud CLI 或 REST 建立作業系統映像檔。如要進一步瞭解如何建立自訂 OS 映像檔,以及相關最佳做法,請參閱「建立自訂 OS 映像檔」一文。
gcloud
建立自訂映像檔時,無論是從 Google Cloud 提供的映像檔或匯入的 OS 映像檔,都必須使用
IDPF
標記 OS 映像檔。使用gcloud compute images create
指令,如以下範例所示:gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ --source-image-project=SOURCE_IMAGE_PROJECT \ --guest-os-features=IDPF
更改下列內容:
IMAGE_NAME
:自訂圖片的名稱。SOURCE_IMAGE
:支援 IDPF 的特定 OS 映像檔,例如:sles-15-sp4-sap-v20240208-x86-64
。如果您想在映像檔系列中使用最新的 OS 映像檔,請將
--source-image
標記替換為--source-image-family
標記,並將其值設為支援 IDPF 的映像檔系列,例如:--source-image-family=sles-15-sp4-sap
。SOURCE_IMAGE_PROJECT
:包含來源 OS 映像檔或映像檔系列的專案名稱。示例
如要使用 Compute Engine
sles-15-sp5-sap
映像檔系列中的最新 OS 映像檔建立 SUSE Linux Enterprise Server (SLES) OS 映像檔,請執行下列指令:gcloud compute images create my-sles15sp5-metal-os \ --source-image-family=sles-15-sp5-sap \ --source-image-project=suse-sap-cloud \ --guest-os-features=IDPF
如要進一步瞭解何時使用映像檔系列,請參閱「映像檔系列最佳做法」。
REST
選取支援 IDPF 的作業系統映像檔或映像檔系列。詳情請參閱「作業系統詳細資料」。
使用上一個步驟中選取的 OS 映像檔或映像檔系列,建立 OS 映像檔,並為此 OS 映像檔加上
IDPF
標記。如要建立 OS 映像檔,請使用images.insert
方法。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name":"IMAGE_NAME", "sourceImage":"SOURCE_IMAGE_URI", "guestOsFeatures":[ { "type":"IDPF" } ] }
更改下列內容:
IMAGE_NAME
:您要建立的自訂圖片名稱。SOURCE_IMAGE_URI
:您要使用的特定 OS 映像檔或映像檔系列的 URI。例如:
- 特定 OS 映像檔:
"sourceImage": "projects/suse-sap-cloud/global/images/sles-15-sp5-sap-v20240427-x86-64"
- 圖片系列:
"sourceImage": "projects/suse-sap-cloud/global/images/family/sles-15-sp5-sap"
。
指定映像檔系列後,Compute Engine 會使用該系列中未淘汰的最新 OS 映像檔建立 VM。如要進一步瞭解何時使用映像檔系列,請參閱映像檔系列最佳做法。
- 特定 OS 映像檔:
建立支援 IDPF 的 bare metal 執行個體
您可以使用支援 IDPF 的公開 OS 映像檔之一,或使用建立支援 IDPF 的自訂 OS 映像檔中所述步驟建立的自訂 OS 映像檔,建立裸機執行個體。
使用公開的 OS 映像檔建立 bare metal 執行個體
如要使用支援 IDPF 的公開 OS 映像檔建立裸機執行個體,請按照「建立裸機執行個體」一文的說明操作。
使用自訂 OS 映像檔建立 bare metal 執行個體
如果您未使用支援 IDPF 的公開 OS 映像檔,則必須先建立支援 IDPF 的自訂 OS 映像檔。接著,您可以使用 Google Cloud CLI 或 REST,利用該自訂 OS 映像檔建立裸機執行個體。
gcloud
使用
gcloud compute instances create
指令建立裸機執行個體。針對開機磁碟映像檔,請指定先前建立的自訂 OS 映像檔。針對網路介面,將nic-type
旗標的值設為IDPF
。gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --image=IMAGE_NAME \ --image-project=YOUR_IMAGE_PROJECT \ --network-interface=nic-type=IDPF
更改下列內容:
INSTANCE_NAME
:新執行個體的名稱。ZONE
:要建立執行個體的區域。IMAGE_NAME
:先前建立的自訂 OS 映像檔。YOUR_IMAGE_PROJECT
:含有自訂 OS 映像檔的專案名稱。
選用步驟:確認 Compute Engine 已建立執行個體,且
nicType
已設為IDPF
。gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE
更改下列內容:
INSTANCE_NAME
:執行個體的名稱。ZONE
:您建立執行個體的區域。
示例
如要在區域
eu-west4-b
中使用名為my-sles15sp5-metal-os
的 SAP OS 自訂 SLE 15 SP5 映像檔,在專案my-project-12345
中建立裸機執行個體,請執行下列指令:gcloud compute instances create test-x4-metal-custom-os \ --zone=eu-west4-b \ --machine-type=x4-megamem-1440-metal \ --image=my-sles15sp5-metal-os \ --image-project=my-project-12345 \ --network-interface=nic-type=IDPF
注意事項
--network-interface
旗標包含子層級旗標,例如:--address
:指派 IP 位址給執行個體--network
:介面所屬的網路--network-tier
:介面的網路層級--subnet
:介面所屬的子網路。如果也指定--network
,子網路必須是指定網路的一部分。--private-network-ip
:指定要指派給執行個體的 RFC 1918 IP。
如需完整清單,請參閱
--network-interface
標記。
REST
使用
instances.insert
方法建立裸機執行個體。- 針對開機磁碟映像檔,請指定先前建立的自訂 OS 映像檔。
- 針對網路介面,請將
nicType
欄位的值設為IDPF
。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name":"INSTANCE_NAME", "networkInterfaces":[ { "nicType":"IDPF", "network":"NETWORK", "subnet":"SUBNET_NAME" } ], "disks":[ { "initializeParams":{ "sourceImage":"projects/YOUR_IMAGE_PROJECT/global/images/IMAGE_NAME" }, "boot":true } ] }
更改下列內容:
PROJECT_ID
:要建立執行個體的專案 ID。ZONE
:要建立執行個體的區域。INSTANCE_NAME
:新執行個體的名稱。NETWORK
:這個例項的網路資源網址。如果未指定網路或子網路,系統會使用預設網路global/networks/default
。SUBNET_NAME
:子網路名稱。網路是從指定子網路推測得出。這是選填欄位。YOUR_IMAGE_PROJECT
:含有 OS 映像檔的專案名稱。IMAGE_NAME
:在先前步驟中建立的自訂 OS 映像檔名稱。
確認已啟用 IDPF
您可以使用
lshw
工具,擷取裸機執行個體的硬體設定詳細資訊。如要在 Linux 執行個體上安裝
lshw
工具,請開啟與來賓作業系統的 SSH 連線,然後執行下列指令:sudo apt-get install lshw -y
如要判斷執行個體是否使用 IDPF 網路介面,請執行下列指令:
sudo lshw -class network
以下為輸出內容範例:
*-network description: Ethernet interface product: Intel Corporation vendor: Intel Corporation physical id: 0 bus info: pci@0000:05:00.0 logical name: enp5s0f0 version: 11 serial: 42:01:0a:96:00:02 width: 64 bits clock: 33MHz capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical configuration: autonegotiation=off broadcast=yes driver=idpf driverversion=6.5.0-1023-gcp duplex=full ip=10.150.0.2 latency=0 link=yes multicast=yes resources: iomemory:21ff0-21fef iomemory:21ff0-21fef irq:16 memory:21ffe0000000-21ffefffffff memory:21fff2000000-21fff203ffff
後續步驟
- 進一步瞭解 IDPF。
- 瞭解如何連線至執行個體。
- 瞭解巨型封包。
- 瞭解如何變更虛擬私有雲網路的 MTU 設定。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-12 (世界標準時間)。
-