Utilizzo dell'interfaccia di rete IDPF


Le istanze bare metal disponibili con serie di macchine come C3 e X4 utilizzano Infrastructure Data Plane Function (IDPF), che è un dispositivo di funzione del piano dati di rete PCIe standardizzato e multi-vendor. L'IDPF è un dispositivo fisico. Il driver IDPF è incluso nel kernel delle immagini del sistema operativo (OS) Linux.

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Funzionalità supportate con IDPF

Analogamente a gVNIC, le seguenti funzionalità sono supportate con IDPF:

Limitazioni dell'interfaccia di rete IDPF

Quando utilizzi l'interfaccia di rete IDPF, tieni presente le seguenti limitazioni:

  • Per l'istanza è supportato un solo NIC. Non puoi creare un cluster di computing un'istanza con più NIC.
  • IDPF supporta solo l'allocazione della coda predefinita con 16 code di ricezione e trasmissione (RX/TX) per NIC.
  • Se utilizzi DPDK con un'istanza bare metal, DPDK sostituisce IDPF come driver per la NIC fisica. L'applicazione DPDK deve inoltrare i pacchetti al kernel, ad esempio tramite un'interfaccia TAP.

Panoramica dell'utilizzo di IDPF con istanze bare metal

Per creare un'istanza bare metal che utilizza IDPF, completa i seguenti passaggi:

  1. Scegli un'immagine sistema operativo pubblico che supporta IDPF o crea un'immagine sistema operativo personalizzata con tag per utilizzare IDPF.
  2. Crea un'istanza bare metal utilizzando l'immagine sistema operativo pubblica o personalizzata. Durante per la creazione dell'istanza, configura l'interfaccia di rete per utilizzare IDPF.
  3. Verifica che IDPF sia abilitato.

Supporto dei sistemi operativi

Su Compute Engine, IDPF è disponibile con un numero limitato di immagini di sistema operativo pubblico supportate.

Per informazioni sui sistemi operativi supportati con IDPF, consulta il Scheda Interfacce per un sistema operativo.

Utilizzo su sistemi operativi non supportati

Per le immagini del sistema operativo che non supportano IDPF, rivolgiti al distributore del sistema operativo per sapere come includere il driver IDPF.

Dopo aver ottenuto un'immagine del sistema operativo che include IDPF, importa un disco virtuale avviabile che contiene il sistema operativo personalizzato. Puoi quindi utilizzare il sistema operativo personalizzato per creare istanze bare metal che utilizzano IDPF su quel sistema operativo. Per ulteriori informazioni sulla creazione di un'immagine sistema operativo personalizzata da utilizzare con bare metal vedere le istanze di Compute Engine, Crea un'immagine sistema operativo personalizzata che supporti IDPF su questo .

Crea un'immagine del sistema operativo personalizzata che supporti IDPF

Se per la tua istanza Bare Metal hai bisogno di un'immagine o di una versione del sistema operativo diversa da quelle fornite da Google Cloud, puoi creare l'immagine del sistema operativo utilizzando Google Cloud CLI o REST. Per dettagli informazioni e best practice per la creazione di immagini di sistema operativo personalizzate, consulta Crea immagini sistema operativo personalizzate.

gcloud

Durante la creazione dell'immagine personalizzata, da un'immagine fornita da Google Cloud o un'immagine sistema operativo importata, devi contrassegnare l'immagine sistema operativo con IDPF. Utilizza il comando gcloud compute images create come mostrato nell'esempio seguente:

gcloud compute images create IMAGE_NAME \
    --source-image=SOURCE_IMAGE \
    --source-image-project=SOURCE_IMAGE_PROJECT \
    --guest-os-features=IDPF

Sostituisci quanto segue:

  • IMAGE_NAME: un nome per l'immagine personalizzata.
  • SOURCE_IMAGE: un'immagine sistema operativo specifica che supporta IDPF, ad esempio: sles-15-sp4-sap-v20240208-x86-64.

    Se vuoi utilizzare l'immagine del sistema operativo più recente in una famiglia di immagini, sostituisci il flag --source-image con il flag --source-image-family e imposta il relativo valore su una famiglia di immagini che supporta IDPF, ad esempio: --source-image-family=sles-15-sp4-sap.

  • SOURCE_IMAGE_PROJECT: il nome del progetto che contiene l'immagine o la famiglia di immagini del sistema operativo di origine.

    Esempio

    Per creare un'immagine del sistema operativo SUSE Linux Enterprise Server (SLES) utilizzando l'immagine del sistema operativo più recente della famiglia di immagini sles-15-sp5-sap Compute Engine, esegui il seguente comando:

    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
    

    Per ulteriori informazioni su quando utilizzare le famiglie di immagini, consulta Best practice per le famiglie di immagini.

REST

  1. Seleziona un'immagine o una famiglia di immagini del sistema operativo che supporta IDPF. Per saperne di più, consulta Dettagli del sistema operativo.

  2. Utilizzando l'immagine sistema operativo o la famiglia di immagini selezionate nel passaggio precedente, crea un'immagine sistema operativo e tagga questa immagine del sistema operativo con IDPF. Per creare l'immagine sistema operativo, utilizza la Metodo images.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
    {
     "name":"IMAGE_NAME",
     "sourceImage":"SOURCE_IMAGE_URI",
     "guestOsFeatures":[
      {
         "type":"IDPF"
       }
     ]
    }
    

    Sostituisci quanto segue:

    • IMAGE_NAME: un nome per l'immagine personalizzata che stai creando.
    • SOURCE_IMAGE_URI: l'URI per l'immagine o la famiglia di immagini del sistema operativo specifico che vuoi utilizzare.

      Ad esempio:

      • Immagine del sistema operativo specifica: "sourceImage": "projects/suse-sap-cloud/global/images/sles-15-sp5-sap-v20240427-x86-64"
      • Famiglia di immagini: "sourceImage": "projects/suse-sap-cloud/global/images/family/sles-15-sp5-sap".

      Quando specifichi una famiglia di immagini, Compute Engine crea una VM dall'immagine sistema operativo non deprecata più recente di quella famiglia. Per maggiori informazioni su quando utilizzare le famiglie di immagini, consulta le best practice per le famiglie di immagini.

Creare un'istanza bare metal con il supporto IDPF

Puoi creare un'istanza bare metal utilizzando una delle immagini del sistema operativo pubblico che supporta IDPF o un'immagine del sistema operativo personalizzata che hai creato seguendo la procedura descritta in Creare un'immagine del sistema operativo personalizzata che supporta IDPF.

Crea un'istanza bare metal utilizzando un'immagine del sistema operativo pubblica

Per creare un'istanza bare metal utilizzando un'immagine del sistema operativo pubblica che supporta IDPF, segui le istruzioni alla pagina Crea un'istanza bare metal.

Crea un'istanza bare metal utilizzando un'immagine sistema operativo personalizzata

Se non utilizzi un'immagine del sistema operativo pubblico che supporta IDPF, devi prima creare un'immagine del sistema operativo personalizzata che supporti IDPF. Potrai quindi utilizzare l'immagine sistema operativo personalizzata per creare un'istanza bare metal utilizzando Google Cloud CLI oppure REST.

gcloud

  1. Crea l'istanza bare metal utilizzando il comando gcloud compute instances create. Per l'immagine disco di avvio, specifica l'immagine del sistema operativo personalizzata che hai creato in precedenza. Per l'interfaccia di rete, imposta il valore del flag nic-type a IDPF.

    gcloud compute instances create INSTANCE_NAME \
        --zone=ZONE \
        --image=IMAGE_NAME \
        --image-project=YOUR_IMAGE_PROJECT \
        --network-interface=nic-type=IDPF
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: un nome per la nuova istanza.
    • ZONE: la zona in cui creare l'istanza.
    • IMAGE_NAME: l'immagine del sistema operativo personalizzato creata in precedenza.
    • YOUR_IMAGE_PROJECT: il nome del progetto che contiene l'immagine del sistema operativo personalizzato.
  2. (Facoltativo) Verifica che Compute Engine abbia creato l'istanza e che nicType sia impostato su IDPF.

    gcloud compute instances describe INSTANCE_NAME \
       --zone=ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza.
    • ZONE: la zona in cui hai creato l'istanza.

    Esempio

    Per creare un'istanza bare metal nella zona eu-west4-b utilizzando un indirizzo personalizzato Immagine SLES 15 SP5 per SAP OS denominata my-sles15sp5-metal-os che si trova in progetto my-project-12345, esegui questo comando:

    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
    

    Aspetti da considerare

    Il flag --network-interface ha flag di livello secondario come i seguenti:

    • --address: assegna un indirizzo IP all'istanza
    • --network: la rete di cui deve far parte l'interfaccia
    • --network-tier: il livello di rete dell'interfaccia
    • --subnet: la subnet di cui deve far parte l'interfaccia. Se è specificato anche --network, la subnet deve far parte della rete specificata.
    • --private-network-ip: specifica l'IP RFC 1918 da assegnare al in esecuzione in un'istanza Compute Engine.

    Per un elenco completo, vedi Flag --network-interface.

REST

Crea l'istanza bare metal utilizzando Metodo instances.insert.

  • Per l'immagine disco di avvio, specifica l'immagine del sistema operativo personalizzata che hai creato in precedenza.
  • Per l'interfaccia di rete, imposta il valore del campo nicType su 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
    }
  ]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto da creare l'istanza.
  • ZONE: la zona in cui creare l'istanza.
  • INSTANCE_NAME: un nome per la nuova istanza.
  • NETWORK: l'URL della risorsa di rete per per questa istanza. Se non viene specificata né la rete né la subnet, viene utilizzata la rete predefinita global/networks/default.
  • SUBNET_NAME: nome della subnet. La rete viene dedotta dalla subnet specificata. Questo campo è facoltativo.
  • YOUR_IMAGE_PROJECT: il nome del progetto che contiene l'immagine del sistema operativo.
  • IMAGE_NAME: il nome dell'immagine del sistema operativo personalizzato creata nel passaggio precedente.

Verificare che IDPF sia abilitato

Puoi utilizzare lo strumento lshw per estrarre informazioni dettagliate sulla configurazione hardware dell'istanza bare metal.

Per installare lo strumento lshw nell'istanza Linux, apri una connessione SSH all'OS guest ed esegui il seguente comando:

sudo apt-get install lshw -y

Per determinare se l'istanza utilizza l'interfaccia di rete IDPF, esegui il seguente comando:

sudo lshw -class network

Di seguito è riportato un esempio di output:

*-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

Passaggi successivi