可搭配 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
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the 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.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
支援 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 自訂 SLES 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 設定。