Menggunakan NIC Virtual Google


NIC Virtual Google (gVNIC) adalah antarmuka jaringan virtual yang dirancang kustom untuk Compute Engine. gVNIC adalah alternatif untuk driver ethernet berbasis virtIO.

Sebagai antarmuka jaringan generasi berikutnya yang menggantikan VirtIO, gVNIC menggantikan VirtIO-Net sebagai satu-satunya antarmuka jaringan yang didukung di Compute Engine untuk semua jenis mesin baru (Generasi 3 dan seterusnya). Seri mesin dan fitur jaringan yang lebih baru memerlukan gVNIC, bukan VirtIO. Dengan menggunakan gVNIC sebagai antarmuka I/O modern dengan VM Compute Engine, kami dapat:

  • Memberikan performa yang lebih baik.
  • Meningkatkan konsistensi dengan mengurangi masalah di sekitar yang berisi noise.
  • Memperkenalkan fungsi jaringan baru di luar kemampuan VirtIO.

gVNIC didukung dan direkomendasikan di semua kelompok mesin, jenis mesin, dan generasi.

gVNIC diperlukan untuk mendukung:

Sebelum memulai

  • Jika Anda menggunakan gVNIC dengan VM Windows Server 2022 atau Windows 11, update driver gVNIC ke versi paket GooGet 1.0.0@45 atau yang lebih baru untuk meningkatkan throughput jaringan. Untuk mengetahui informasi selengkapnya, baca masalah umum.
  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Harga

Untuk mengetahui harga terbaru jaringan Tier_1, baca halaman harga instance VM.

Untuk daftar metode tambahan yang dapat digunakan untuk menemukan informasi harga, baca Harga Compute Engine.

Dukungan sistem operasi

Di Compute Engine, Anda dapat memilih untuk menggunakan gVNIC pada image sistem operasi (OS) publik yang didukung. Anda dapat menginstal driver gVNIC secara manual di:

  • Sistem operasi yang tidak didukung
  • Sistem operasi yang tidak memiliki versi driver gVNIC terbaru

Untuk sistem operasi yang didukung, buka tab Supported interfaces untuk sistem operasi. Periksa juga tab Networking features untuk mendapatkan dukungan fitur jaringan.

Penggunaan pada sistem operasi yang tidak didukung

Untuk image OS yang mendukung gVNIC tetapi tidak menyertakan versi terbaru driver gVNIC, Anda dapat mendownload versi driver terbaru dari GitHub.

Anda dapat mengonfigurasi dan menginstal driver gVNIC versi terbaru secara manual di VM Linux atau Windows.

Setelah Anda mengupdate sistem operasi di VM untuk menggunakan gVNIC, buat OS image kustom berdasarkan image OS tersebut. Anda kemudian dapat menggunakan OS image kustom untuk membuat VM tambahan yang menggunakan gVNIC di sistem operasi tersebut. Untuk mengetahui informasi selengkapnya tentang cara membuat VM menggunakan OS image kustom, lihat Membuat OS image kustom yang mendukung gVNIC di halaman ini.

Gunakan prosedur berikut untuk mengonfigurasi dan menginstal driver gVNIC versi terbaru secara manual:

Batasan

  • Large detect offload (LRO) tidak didukung. Pengurangan beban penerimaan umum (GRO) diaktifkan secara default untuk VM yang menggunakan gVNIC.
  • Large send offload versi 2 (LSOV2) tidak didukung di VM Windows 11 atau Windows Server 2022. Driver gVNIC versi 1.0.0@45 dan yang lebih baru menonaktifkan LSOV2. Untuk mempelajari cara memeriksa dan mengupdate driver gVNIC VM di Microsoft Windows, baca masalah umum.

Ringkasan penggunaan gVNIC dengan VM Compute Engine

Untuk membuat VM yang menggunakan gVNIC, selesaikan langkah-langkah berikut:

  1. Pilih image OS publik yang mendukung gVNIC, atau buat OS image kustom yang diberi tag untuk menggunakan gVNIC.
  2. Buat VM menggunakan OS image publik atau kustom. Selama pembuatan VM, konfigurasikan antarmuka jaringan untuk menggunakan gVNIC.
  3. Pastikan gVNIC diaktifkan.

Jika Anda mengalami masalah, baca Memecahkan Masalah NIC Virtual Google.

Membuat OS image kustom yang mendukung gVNIC

Anda dapat membuat OS image menggunakan Google Cloud CLI atau REST. Untuk informasi mendetail dan praktik terbaik dalam membuat OS image kustom, lihat Membuat image OS kustom.

gcloud

  1. Pilih OS image atau kelompok image yang mendukung gVNIC. Untuk mengetahui informasi selengkapnya, baca Detail sistem operasi.

  2. Dengan menggunakan gambar OS atau kelompok gambar yang dipilih pada langkah sebelumnya, buat OS image kustom dan beri tag pada image OS ini dengan GVNIC. Untuk membuat OS image kustom, gunakan perintah gcloud compute images create. Misalnya, perintah berikut akan membuat OS image kustom yang mendukung gVNIC dan didasarkan pada OS image tertentu.

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

    Ganti kode berikut:

    • IMAGE_NAME: nama image yang ingin Anda buat.
    • SOURCE_IMAGE: OS image spesifik yang mendukung gVNIC—misalnya: rocky-linux-8-optimized-gcp-v20220719.

      Jika Anda ingin menggunakan OS image terbaru dalam kelompok gambar, ganti flag --source-image dengan flag --source-image-family dan tetapkan nilainya ke kelompok gambar yang mendukung gVNIC. Contoh: --source-image-family=rocky-linux-8-optimized-gcp.

    • SOURCE_IMAGE_PROJECT: nama project yang berisi OS image atau kelompok image sumber.

    Contoh

    Untuk membuat image Rocky Linux 8 yang Dioptimalkan untuk Google Cloud OS menggunakan OS image terbaru dari kelompok image rocky-linux-8-optimized-gcp Compute Engine, jalankan perintah berikut:

    gcloud compute images create IMAGE_NAME \
        --source-image-family=rocky-linux-8-optimized-gcp \
        --source-image-project=rocky-linux-cloud \
        --guest-os-features=GVNIC
    

    Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan kelompok image, baca Praktik terbaik kelompok image.

REST

  1. Pilih OS image atau kelompok image yang mendukung gVNIC Untuk mengetahui informasi selengkapnya, lihat Detail sistem operasi.

  2. Dengan menggunakan gambar OS atau kelompok gambar yang dipilih pada langkah sebelumnya, buat image OS dan beri tag OS image ini dengan GVNIC. Untuk membuat OS image, gunakan metode images.insert.

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

    Ganti kode berikut:

    • IMAGE_NAME: nama OS image yang ingin Anda buat.
    • SOURCE_IMAGE_URI: URI untuk gambar OS atau kelompok gambar tertentu yang ingin Anda gunakan.

      Contoh:

      • OS image tertentu: "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
      • Kelompok image: "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp".

      Saat Anda menentukan kelompok image, Compute Engine akan membuat VM dari image OS terbaru yang masih digunakan dalam kelompok tersebut. Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan kelompok image, lihat Praktik terbaik kelompok image.

Membuat VM dengan dukungan gVNIC

Anda dapat membuat VM menggunakan salah satu image OS publik yang didukung atau menggunakan OS image kustom yang Anda buat dengan mengikuti langkah-langkah dalam Membuat OS image kustom yang mendukung gVNIC.

Secara opsional, Anda dapat mengaktifkan DPDK di VM untuk pemrosesan paket jaringan yang lebih cepat, latensi rendah, dan performa yang konsisten.

Membuat VM menggunakan OS image publik

Untuk membuat VM menggunakan OS image publik yang mendukung gVNIC, ikuti petunjuk di Membuat VM dan container dengan konfigurasi bandwidth tinggi.

Membuat VM menggunakan OS image kustom

Jika tidak menggunakan OS image publik yang mendukung gVNIC, Anda harus membuat OS image kustom yang mendukung gVNIC terlebih dahulu. Selanjutnya Anda menggunakan OS image kustom tersebut untuk membuat VM dengan menggunakan Google Cloud CLI atau REST.

gcloud

  1. Buat VM menggunakan perintah gcloud compute instances create. Untuk boot disk, tentukan OS image kustom yang Anda buat sebelumnya. Untuk antarmuka jaringan, tetapkan nilai flag nic-type ke GVNIC.

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

    Ganti kode berikut:

    • VM_NAME: nama VM baru.
    • ZONE: zona tempat VM dibuat.
    • IMAGE_NAME: OS image yang dibuat di langkah sebelumnya.
    • YOUR_IMAGE_PROJECT: nama project Anda yang berisi OS image.
  2. Opsional: Pastikan Compute Engine membuat VM dan nicType disetel ke GVNIC.

    gcloud compute instances describe VM_NAME \
       --zone=ZONE
    

    Ganti kode berikut:

    • VM_NAME: nama VM.
    • ZONE: zona tempat Anda membuat VM.

    Contoh

    Untuk membuat VM Rocky Linux 8 di zona us-west1-b menggunakan OS image bernama my-gvnic-rocky8 yang ada dalam project my-project-12345, jalankan perintah berikut:

    gcloud compute instances create my-rocky-linux-vm \
        --zone=us-west1-b \
        --image=my-gvnic-rocky8 \
        --image-project=my-project-12345 \
        --network-interface=nic-type=GVNIC
    

    Hal-hal yang perlu dipertimbangkan

    Flag --network-interface memiliki flag sub-level seperti berikut:

    • --address: Menetapkan alamat IP ke VM
    • --network: Jaringan tempat antarmuka akan menjadi bagiannya
    • --network-tier: Tingkat jaringan antarmuka
    • --subnet: Subnet tempat antarmuka akan menjadi bagiannya. Jika --network juga ditentukan, subnet harus menjadi bagian dari jaringan yang ditentukan.
    • --private-network-ip: Menentukan IP RFC 1918 yang akan ditetapkan ke VM.

    Untuk mengetahui daftar lengkapnya, baca flag --network-interface.

REST

Buat VM menggunakan metode instances.insert.

  • Untuk boot disk, tentukan OS image kustom yang Anda buat sebelumnya.
  • Untuk antarmuka jaringan, tetapkan nilai kolom nicType ke GVNIC.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name":"VM_NAME",
  "networkInterfaces":[
    {
      "network":"NETWORK",
      "nicType":"GVNIC",
      "subnet":"SUBNET_NAME"
    }
  ],
  "disks":[
    {
      "initializeParams":{
        "sourceImage":"projects/YOUR_IMAGE_PROJECT/global/images/IMAGE_NAME"
      },
      "boot":true
    }
  ]
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat VM dibuat.
  • ZONE: zona tempat VM dibuat.
  • VM_NAME: nama VM baru.
  • NETWORK: URL resource jaringan untuk VM ini. Jika jaringan atau subnetwork tidak ditentukan, jaringan default global/networks/default tidak akan digunakan.
  • SUBNET_NAME: nama subnet. Jaringan disimpulkan dari subnet yang ditentukan. Kolom ini bersifat opsional.
  • YOUR_IMAGE_PROJECT: nama project Anda yang berisi OS image.
  • IMAGE_NAME: OS image yang dibuat di langkah sebelumnya.

Pastikan gVNIC telah diaktifkan

Linux

Anda dapat menggunakan alat lshw untuk mengekstrak informasi mendetail tentang konfigurasi hardware virtual machine.

Untuk menginstal alat lshw pada instance VM Linux Anda, buka koneksi SSH ke VM, lalu jalankan perintah berikut:

sudo apt-get install lshw -y

Untuk menentukan apakah VM menggunakan antarmuka jaringan gVNIC, jalankan perintah berikut:

sudo lshw -class network

Outputnya akan terlihat seperti berikut:

*-network
   description: Ethernet interface
   product: Compute Engine Virtual Ethernet [gVNIC]
   vendor: Google, Inc.
   physical id: 3
   bus info: pci@0000:00:03.0
   logical name: ens3
   version: 00
   serial: 42:01:0a:80:00:6f
   width: 32 bits
   clock: 33MHz
   capabilities: msix bus_master cap_list ethernet physical
   configuration: autonegotiation=off broadcast=yes driver=gve driverversion=1.0.0
    duplex=full ip=10.128.0.111 latency=0 link=yes multicast=yes port=twisted pair
   resources: irq:11 memory:c0203000-c0203fff memory:c0200000-c02000ff memory:c0100000-c01fffff

Windows

  1. Di Instance VM Windows, buka Pengelola Perangkat.
  2. Pada bagian Adaptor Jaringan, Anda akan melihat: "Google Ethernet Adapter"

Pemecahan masalah

Untuk memecahkan masalah gVNIC, lihat Memecahkan Masalah Google Virtual NIC.

Langkah selanjutnya