使用 C3 和 X4 等機器系列的裸機執行個體會使用基礎架構資料平面函式 (IDPF),這是標準化的多供應商 PCIe 網路資料平面函式裝置。IDPF 是實體裝置。Linux 作業系統 (OS) 映像檔的核心內含 IDPF 驅動程式。
事前準備
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
gcloud
-
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
IDPF 支援的功能
與 gVNIC 類似,IDPF 支援下列功能:
- 各個 VM 的 Tier_1 網路效能
- 支援大型 MTU (巨型封包)
- 虛擬私有雲網路功能:
- 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 映像檔
如果 Bare Metal 執行個體需要不同於 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
。如要在映像檔系列中使用最新作業系統映像檔,請將
--source-image
標記替換為--source-image-family
標記,並將其值設為支援 IDPF 的映像檔系列,例如:--source-image-family=sles-15-sp4-sap
。SOURCE_IMAGE_PROJECT
:包含來源 OS 映像檔或映像檔系列的專案名稱。示例
如要使用 Compute Engine
sles-15-sp5-sap
映像檔系列的最新作業系統映像檔,建立 SUSE Linux Enterprise Server (SLES) 作業系統映像檔,請執行下列指令: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 映像檔,並以
IDPF
標記這個 OS 映像檔。如要建立 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 的裸機執行個體
您可以透過支援 IDPF 的公開 OS 映像檔建立裸機執行個體,也可以使用按照「建立支援 IDPF 的自訂 OS 映像檔」一文步驟建立的自訂 OS 映像檔。
使用公開 OS 映像檔建立裸機執行個體
如要使用支援 IDPF 的公開 OS 映像檔建立裸機執行個體,請按照「建立裸機執行個體」一文的說明操作。
使用自訂 OS 映像檔建立裸機執行個體
如果您使用的公開 OS 映像檔不支援 IDPF,請先建立支援 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-project-12345
中名為my-sles15sp5-metal-os
的自訂 SLES 15 SP5 for SAP OS 映像檔,請執行下列指令: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
工具,請開啟與客層 OS 的 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-07-31 (世界標準時間)。
-