Utilizzo dell'interfaccia di rete IDPF

Le istanze Bare Metal disponibili con serie di macchine come C3 e X4 utilizzano la funzione Infrastructure Data Plane Function (IDPF), che è un dispositivo funzione del piano dati di rete PCIe standardizzato e multifornitore. 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 è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.

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

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

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

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta 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:

  • Prestazioni di networking Tier_1 per VM
  • Supporto di MTU di grandi dimensioni (frame Jumbo)
  • Funzionalità della rete VPC:
    • Cloud Next Generation Firewall
    • Mirroring pacchetto
    • Log di flusso VPC
    • Supporto IPv6
    • Peering di rete VPC
    • Network Connectivity Center

Limitazioni dell'interfaccia di rete IdP

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

  • Per l'istanza è supportato un solo NIC. Non puoi creare un'istanza di computing con più NIC.
  • IDPF supporta solo l'allocazione predefinita delle code con 16 code di ricezione e trasmissione (RX/TX) per NIC.
  • Se utilizzi DPDK con un'istanza bare metal, DPDK sostituisce l'IDPF come driver per il NIC fisico. 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 pubblica che supporti 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 la creazione dell'istanza, configura l'interfaccia di rete in modo da utilizzare l'IDPF.
  3. Verifica che l'IDPF sia abilitato.

Supporto del sistema operativo

Su Compute Engine, IDPF è disponibile con un numero limitato di immagini di sistemi operativi pubblici supportate.

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

Utilizzo su sistemi operativi non supportati

Per le immagini del sistema operativo che non supportano IDPF, contatta il distributore del sistema operativo per informazioni sull'inclusione del driver IDPF.

Dopo aver ottenuto un'immagine del sistema operativo che include IDPF, importa un disco virtuale di avvio che contiene il sistema operativo personalizzato. Puoi quindi utilizzare l'immagine sistema operativo personalizzata per creare istanze bare metal che utilizzano IDPF su quel sistema operativo. Per saperne di più sulla creazione di un'immagine sistema operativo personalizzata da utilizzare con istanze bare metal, consulta Creare un'immagine sistema operativo personalizzata che supporti IDPF in questa pagina.

Crea un'immagine sistema operativo personalizzata che supporti IDPF

Se per l'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 informazioni dettagliate e best practice per la creazione di immagini sistema operativo personalizzate, consulta Creare immagini sistema operativo personalizzate.

gcloud

Quando crei l'immagine personalizzata da un'immagine fornita da Google Cloud o da un'immagine sistema operativo importata, devi contrassegnare l'immagine del 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 suo 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 del sistema operativo di origine o la famiglia di immagini.

    Esempio

    Per creare un'immagine sistema operativo SUSE Linux Enterprise Server (SLES) utilizzando l'immagine del sistema operativo più recente della famiglia di immagini sles-15-sp5-sap di Compute Engine, esegui questo 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 saperne di più su quando utilizzare le famiglie di immagini, consulta le best practice per le famiglie di immagini.

REST

  1. Seleziona un'immagine o una famiglia di immagini sistema operativo che supporti IDPF Per maggiori informazioni, vedi 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 contrassegna questa immagine sistema operativo con IDPF. Per creare l'immagine sistema operativo, utilizza il 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 della famiglia di immagini o dell'immagine del sistema operativo specifica che vuoi utilizzare.

      Ad esempio:

      • Immagine 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 più recente e non deprecata della famiglia. Per scoprire di più su quando utilizzare le famiglie di immagini, consulta le Best practice per le famiglie di immagini.

Crea un'istanza bare metal con supporto IDPF

Puoi creare un'istanza bare metal utilizzando una delle immagini del sistema operativo pubbliche che supporta IDPF o utilizzando un'immagine sistema operativo personalizzata creata seguendo i passaggi descritti in Creare un'immagine sistema operativo personalizzata che supporti 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 riportate in Creare un'istanza bare metal.

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

Se non utilizzi un'immagine del sistema operativo pubblica che supporta IDPF, devi prima creare un'immagine del sistema operativo personalizzata che supporti IDPF. Poi userai l'immagine sistema operativo personalizzata per creare un'istanza bare metal utilizzando Google Cloud CLI o 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 su 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 sistema operativo personalizzata creata in precedenza.
    • YOUR_IMAGE_PROJECT: il nome del progetto che contiene l'immagine sistema operativo personalizzata.
  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'immagine SLES 15 SP5 per SAP OS personalizzata denominata my-sles15sp5-metal-os nel 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 l'interfaccia deve far parte
    • --network-tier: il livello di rete dell'interfaccia
    • --subnet: la subnet di cui deve essere parte l'interfaccia. Se viene specificato anche --network, la subnet deve far parte della rete specificata.
    • --private-network-ip: specifica l'IP RFC 1918 da assegnare all'istanza.

    Per un elenco completo, consulta il flag --network-interface.

REST

Crea l'istanza bare metal utilizzando il 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":[
    {
      "network":"NETWORK",
      "nicType":"IDPF",
      "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 in cui 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 questa istanza. Se non vengono specificate 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 sistema operativo personalizzata creata nel passaggio precedente.

Verifica che l'IDPF sia abilitato

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

Per installare lo strumento lshw sulla tua istanza Linux, apri una connessione SSH al sistema operativo guest, quindi esegui questo comando:

sudo apt-get install lshw -y

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

sudo lshw -class network

Passaggi successivi