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. Menggunakan gVNIC sebagai antarmuka I/O modern dengan VM Compute Engine menawarkan keuntungan berikut:

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

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

gVNIC diperlukan untuk mencapai kecepatan bandwidth maksimum berikut:

Anda harus menggunakan gVNIC sebagai antarmuka jaringan untuk instance Confidential VM, VM seri mesin generasi ketiga atau yang lebih baru, dan VM yang berjalan di platform CPU Arm.

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.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

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

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    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

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

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

        gcloud init

      Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

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 apa pun yang didukung. Anda dapat menginstal driver gVNIC secara manual dalam kasus berikut:

  • Image OS tidak menyertakan driver gVNIC
  • Image OS tidak memiliki versi driver gVNIC terbaru

Untuk sistem operasi yang didukung, buka tab 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 driver gVNIC versi terbaru, 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 image OS kustom berdasarkan image OS tersebut. Kemudian, Anda dapat menggunakan image OS kustom untuk membuat VM tambahan yang menggunakan gVNIC pada sistem operasi tersebut. Untuk mengetahui informasi selengkapnya tentang cara membuat VM menggunakan image OS kustom, lihat Membuat image OS kustom yang mendukung gVNIC di halaman ini.

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

Mengupdate driver gVNIC terbaru untuk Windows

Driver gVNIC versi terbaru untuk Windows menawarkan performa jaringan yang lebih baik. Saat diinstal di instance komputasi yang menggunakan rangkaian mesin yang didukung generasi ketiga atau yang lebih baru, driver ini memberikan peningkatan berikut:

  • Bandwidth jaringan hingga 200 Gbps saat diinstal di instance Windows yang dikonfigurasi untuk menggunakan jaringan Tingkat_1 dan gVNIC.
  • Dukungan untuk Frame jumbo kecuali di N4.

Untuk menggunakan driver gVNIC versi terbaru, di jendela Powershell, jalankan perintah googet untuk mengupdate driver gVNIC. Perintah ini mencantumkan semua update yang tersedia. Masukkan y saat diminta untuk memasukkan driver gVNIC.

googet update

Setelah menginstal dan mengonfigurasi Windows untuk menggunakan driver gVNIC versi terbaru, Anda dapat mengonfigurasi Jumbo frame untuk mencapai throughput yang optimal. Untuk informasi selengkapnya, lihat Unit transmisi maksimum.

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 image OS kustom yang diberi tag untuk menggunakan gVNIC.
  2. Buat VM menggunakan image OS 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 image OS kustom yang mendukung gVNIC

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

gcloud

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

  2. Dengan menggunakan image OS atau kelompok image yang dipilih di langkah sebelumnya, buat image OS kustom dan beri tag pada image OS ini dengan GVNIC. Untuk membuat image OS kustom, gunakan perintah gcloud compute images create. Misalnya, perintah berikut akan membuat image OS kustom yang mendukung gVNIC dan yang didasarkan pada image OS 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: image OS tertentu yang mendukung gVNIC—misalnya: rocky-linux-8-optimized-gcp-v20220719

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

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

    Contoh

    Untuk membuat image OS Rocky Linux 8 yang Dioptimalkan untuk Google Cloud menggunakan image OS 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 image OS atau kelompok image yang mendukung gVNIC Untuk mengetahui informasi selengkapnya, lihat Detail sistem operasi.

  2. Dengan menggunakan image OS atau kelompok image yang dipilih di langkah sebelumnya, buat image OS dan beri tag pada image OS ini dengan GVNIC. Untuk membuat image OS, 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:

    • PROJECT_ID: ID project tempat membuat image baru
    • IMAGE_NAME: nama untuk image kustom
    • SOURCE_IMAGE_URI: URI untuk image OS atau kelompok image 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 image OS kustom yang Anda buat dengan langkah-langkah di Membuat image OS 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.

Untuk VM yang mendukung beberapa antarmuka jaringan (NIC), Anda dapat memiliki NIC dari berbagai jenis yang terpasang ke VM karena dukungan antarmuka dikonfigurasi per NIC. Meskipun didukung, kami tidak merekomendasikan penyiapan ini. Untuk VM yang mendukung beberapa NIC, pastikan Anda menentukan nic-type=GVNIC untuk setiap antarmuka jaringan saat membuat VM.

Membuat VM menggunakan image OS publik

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

Membuat VM menggunakan image OS kustom

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

Konsol

  1. Di konsol Google Cloud, buka halaman Create an instance.

    Buka halaman Buat instance

  2. Masukkan Nama instance VM Anda.

  3. Pilih Zone tempat VM akan dibuat.

  4. Di bagian Boot disk, klik Ubah.

  5. Di panel Boot disk, pada tab Custom images, selesaikan hal berikut:

    1. Pilih Project sumber yang berisi image OS yang Anda buat sebelumnya.
    2. Pilih gambar dari drop-down Image.
    3. Klik Pilih.
  6. Untuk menetapkan gVNIC sebagai antarmuka jaringan, luaskan bagian Advanced options, lalu lakukan hal berikut:

    1. Luaskan bagian Networking.
    2. Untuk Network interface card, pilih gVNIC.
  7. Buat penyesuaian VM tambahan sesuai kebutuhan.

  8. Klik Buat untuk membuat instance VM.

gcloud

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

    gcloud compute instances create VM_NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --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.
    • MACHINE_TYPE: jenis mesin yang akan digunakan saat membuat instance VM. Jika Anda tidak menentukan jenis mesin, defaultnya adalah n1-standard-1.
    • IMAGE_NAME: image OS yang dibuat di langkah sebelumnya.
    • YOUR_IMAGE_PROJECT: nama project Anda yang berisi image OS.
  2. Opsional: Pastikan Compute Engine membuat VM dan nicType ditetapkan 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 dengan jenis mesin n1-standard-1 di zona us-west1-b menggunakan image OS 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 disk booting, tentukan image OS 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 image OS.
  • IMAGE_NAME: image OS 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 di instance VM Linux, 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