Membuat instance Compute Engine ULL

Halaman ini menjelaskan cara membuat instance Compute Engine Latensi Sangat Rendah (ULL) dengan menggunakan jenis mesin U4P atau U4C dari kelompok mesin U4.

Untuk ringkasan proses konfigurasi infrastruktur ULL, lihat Ringkasan konfigurasi untuk Solusi ULL.

Sebelum memulai

Sebelum membuat instance komputasi ULL, lihat bagian berikut.

Membuat jaringan VPC

Jika belum melakukannya, buat jaringan VPC untuk setiap antarmuka jaringan instance Anda seperti yang dijelaskan dalam Ringkasan konfigurasi untuk Solusi ULL.

Membuat kebijakan penempatan

Secara opsional, Anda dapat menerapkan kebijakan penempatan tersebar ke instance ULL untuk meningkatkan ketahanan. Untuk mengetahui informasi selengkapnya, lihat Membuat dan menerapkan kebijakan penempatan penyebaran dalam dokumentasi Compute Engine.

Menetapkan project Anda

Tetapkan gcloud CLI untuk menggunakan project Anda. Atau, Anda dapat menyertakan flag --project=PROJECT_ID untuk setiap perintah dalam prosedur berikut.

gcloud config set project PROJECT_ID

Ganti PROJECT_ID dengan ID project Anda.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat instance Compute Engine, minta administrator Anda untuk memberi Anda peran IAM berikut:

  • Untuk membuat dan mengelola instance komputasi: Compute Instance Admin (compute.instanceAdmin) di project Anda

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Ringkasan konfigurasi instance ULL

Untuk membuat instance komputasi ULL dan mengonfigurasi instance untuk mengirim atau menerima traffic unicast dan multicast ULL, lakukan hal berikut:

Langkah Deskripsi
Membuat instance ULL Buat instance menggunakan jenis mesin U4P atau U4C dan hubungkan antarmuka jaringannya ke jaringan VPC serbaguna dan jaringan VPC ULL. Jika Anda berencana menggunakan instance sebagai konsumen multicast, tetapkan flag igmp-query ke IGMP_QUERY_V2.
Mengonfigurasi pemilihan rute untuk antarmuka non-nic0 untuk traffic unicast ULL Konfigurasi perutean kebijakan berbasis sumber di OS tamu untuk memastikan bahwa paket keluar keluar melalui antarmuka yang benar dan mencegah perutean asimetris.
Mengonfigurasi instance agar menjadi konsumen multicast ULL Selesaikan setiap langkah berikut untuk menerima traffic multicast di antarmuka jaringan ULL:
Untuk mengoptimalkan performa lebih lanjut, sebaiknya Anda juga mengaktifkan polling sibuk seperti yang dijelaskan dalam Bekerja dengan Onload.

Selain itu, Anda dapat menggunakan contoh perintah di halaman ini untuk menguji konektivitas multicast.

Membuat instance ULL

Bagian ini menjelaskan cara membuat instance baru untuk digunakan bagi unicast dan multicast ULL.

Untuk mengetahui informasi umum tentang cara membuat instance komputasi, termasuk opsi konfigurasi tambahan, lihat Membuat dan memulai instance Compute Engine.

gcloud

Untuk membuat instance ULL, gunakan perintah compute instances create.

Jenis antarmuka jaringan yang didukung untuk instance ULL adalah GVNIC. Anda harus menyertakan kolom queue-count dan menentukan nilai 32 untuk dukungan XDP.

Untuk antarmuka jaringan yang terhubung ke jaringan VPC ULL, no-address harus ditentukan.

Selain itu, perintah berikut menyertakan tanda igmp-query untuk mengaktifkan instance menjadi konsumen multicast. Flag ini tidak diperlukan jika instance hanya berupa produsen multicast, atau jika instance hanya mengirim dan menerima unicast.

gcloud compute instances create INSTANCE_NAME \
    --zone=ZONE \
    --machine-type=MACHINE_TYPE \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --maintenance-policy=TERMINATE \
    --network-interface=nic-type=GVNIC,queue-count=32,network=GENERAL_PURPOSE_VPC_NETWORK,subnet=GENERAL_PURPOSE_SUBNET \
    --network-interface=nic-type=GVNIC,queue-count=32,network=ULL_VPC_NETWORK,subnet=ULL_SUBNET_1,no-address,igmp-query=IGMP_QUERY_V2 \
    --network-interface=nic-type=GVNIC,queue-count=32,network=ULL_VPC_NETWORK,subnet=ULL_SUBNET_2,no-address,igmp-query=IGMP_QUERY_V2

Ganti nilai berikut:

  • ZONE: zona tempat instance akan dibuat
  • INSTANCE_NAME: nama instance
  • MACHINE_TYPE: jenis mesin U4P atau U4C instance
  • IMAGE_PROJECT: project gambar, seperti rhel-cloud. Lihat Dukungan sistem operasi untuk jenis mesin U4.
  • IMAGE_FAMILY: kelompok image, seperti rhel-10-2-eus-gvnic-baremetal. Lihat Dukungan sistem operasi untuk jenis mesin U4.

    Menentukan kelompok image akan membuat instance dari versi image OS terbaru yang masih digunakan dalam kelompok image. Atau, Anda dapat menggunakan flag --image dan menentukan versi gambar.

  • GENERAL_PURPOSE_VPC_NETWORK, GENERAL_PURPOSE_SUBNET: jaringan VPC dan subnet untuk melampirkan antarmuka nic0 instance

  • ULL_VPC_NETWORK: jaringan VPC ULL untuk melampirkan antarmuka non-nic0

    • ULL_SUBNET_1: subnet di jaringan VPC ULL untuk menghubungkan antarmuka nic1

    • ULL_SUBNET_2: subnet di jaringan VPC ULL untuk menghubungkan antarmuka nic2

Mengonfigurasi pemilihan rute untuk antarmuka non-nic0 untuk traffic unicast ULL

Secara default, instance menggunakan rute default yang terkait dengan antarmuka nic0-nya untuk mengirim traffic ke tujuan mana pun di luar subnet yang terhubung langsung. Untuk informasi selengkapnya, lihat ringkasan beberapa antarmuka jaringan.

Agar antarmuka nic1 dan nic2 instance Anda dapat berhasil mengirim dan menerima traffic unicast ULL, Anda harus mengonfigurasi perutean kebijakan berbasis sumber di OS tamu. Konfigurasi ini memastikan bahwa paket keluar keluar melalui antarmuka yang benar dan mencegah perutean asimetris, saat traffic masuk melalui satu antarmuka, tetapi mencoba keluar melalui nic0.

Untuk contoh cara mengonfigurasi perutean kebijakan, lihat Mengonfigurasi perutean kebijakan dalam tutorial Mengonfigurasi perutean untuk antarmuka jaringan tambahan.

Mengonfigurasi instance agar menjadi konsumen multicast ULL

Bagian ini menjelaskan cara mengonfigurasi instance ULL yang ada agar menjadi konsumen multicast.

Mengaktifkan kueri IGMP di instance ULL yang ada

Jika Anda tidak mengaktifkan IGMP saat membuat instance, Anda dapat mengaktifkannya di instance yang ada seperti yang dijelaskan di bagian ini.

gcloud

Untuk mengaktifkan kueri IGMP pada instance ULL yang ada, gunakan perintah compute instances network-interfaces update.

Ulangi perintah berikut untuk setiap antarmuka jaringan yang ingin Anda gunakan untuk menerima traffic multicast.

gcloud compute instances network-interfaces update INSTANCE_NAME \
    --zone=ZONE \
    --network-interface=NETWORK_INTERFACE_NAME \
    --igmp-query=IGMP_QUERY_V2

Ganti nilai berikut:

  • INSTANCE_NAME: nama instance
  • ZONE: zona instance
  • NETWORK_INTERFACE_NAME: nama antarmuka jaringan tempat kueri IGMP akan diaktifkan. Di Google Cloud, formatnya adalah nicNUMBER, seperti nic0, nic1, atau nic2.

Menetapkan IGMPv2 di OS tamu

Untuk menyetel IGMPv2 di OS tamu instance Anda, lakukan hal berikut:

  1. Hubungkan ke instance menggunakan SSH.

  2. Jalankan perintah berikut dan identifikasi nama perangkat antarmuka jaringan yang ingin Anda gunakan untuk menerima traffic multicast.

    sudo ifconfig
    
  3. Untuk setiap antarmuka jaringan yang berlaku, jalankan perintah berikut untuk memaksakan IGMPv2.

    sudo -i
    echo "2" > /proc/sys/net/ipv4/conf/NETWORK_INTERFACE_DEVICE_NAME/force_igmp_version
    

    Ganti NETWORK_INTERFACE_DEVICE_NAME dengan nama perangkat antarmuka jaringan, seperti eth0, eth1, atau eth2.

Mengonfigurasi pemfilteran jalur terbalik (rp_filter)

Dalam beberapa kasus, seperti pada instance multi-NIC, validasi sumber yang ketat dengan pemfilteran jalur terbalik (rp-filter) dapat menyebabkan paket multicast yang sah dihapus. Untuk mencegah hal ini terjadi, Anda dapat mengonfigurasi pemfilteran jalur terbalik untuk melonggarkan atau menonaktifkan validasi sumber pada antarmuka jaringan non-nic0 yang menerima traffic multicast. Misalnya, perintah berikut mengonfigurasi pemfilteran jalur terbalik untuk menonaktifkan validasi sumber di eth1 dan eth2 dengan menetapkan rp_filter ke 0.

sudo sysctl -w net.ipv4.conf.all.rp_filter=0
sudo sysctl -w net.ipv4.conf.eth1.rp_filter=0
sudo sysctl -w net.ipv4.conf.eth2.rp_filter=0

Untuk mengetahui informasi selengkapnya tentang rp_filter, lihat IP Sysctl di dokumentasi kernel Linux.

Meningkatkan ukuran buffer ring driver jaringan

Bagian ini menjelaskan cara meningkatkan ukuran buffer ring driver jaringan di instance Anda.

Untuk konsumen multicast yang menerima traffic tingkat tinggi, tingkatkan ukuran buffer ring driver jaringan ke nilai 2048 untuk membantu menghindari kehilangan paket. Lakukan langkah ini untuk setiap antarmuka jaringan yang menerima traffic multicast.

Lihat contoh perintah berikut, yang mengonfigurasi nic1 dan nic2:

sudo ethtool -G eth1 rx 2048 tx 2048
sudo ethtool -G eth2 rx 2048 tx 2048

Contoh perintah untuk menguji konektivitas multicast ULL

Bagian ini memberikan contoh perintah untuk menguji traffic multicast tanpa memulai beban kerja aplikasi menggunakan alat iperf. Langkah-langkah di bagian ini memerlukan konfigurasi multicast yang dijelaskan dalam Ringkasan konfigurasi untuk Solusi ULL telah selesai.

Mengirim traffic multicast ULL dari produsen multicast

  1. Hubungkan ke instance menggunakan SSH.

  2. Instal iperf jika Anda belum melakukannya. iperf3 tidak mendukung multicast. Perintah berikut menggunakan iperf, yang menginstal iperf2.

    sudo yum install iperf
    
  3. Untuk mengirim traffic multicast ke alamat IP grup multicast, jalankan perintah berikut:

    iperf -c MULTICAST_GROUP_ADDRESS%NIC -p 1234 -l 512 -i 1 -u -b 1000pps -t 999999 -B NIC_IP_ADDRESS
    

    Ganti nilai berikut:

    • MULTICAST_GROUP_ADDRESS: alamat IP grup multicast
    • NIC nama perangkat antarmuka jaringan, seperti eth1 atau eth2
    • NIC_IP_ADDRESS alamat IP yang ditetapkan ke NIC yang Anda tentukan

Bergabung ke grup dan menerima traffic multicast ULL dari konsumen multicast

  1. Hubungkan ke instance menggunakan SSH.

  2. Instal iperf jika Anda belum melakukannya.

    sudo yum install iperf
    
  3. Untuk bergabung ke grup multicast dan mencatat traffic yang Anda terima, jalankan perintah berikut:

    iperf -s -p 1234 -B MULTICAST_GROUP_ADDRESS%NIC -l 512 -u -i 1
    

    Ganti nilai berikut:

    • MULTICAST_GROUP_ADDRESS alamat IP grup multicast
    • NIC nama perangkat antarmuka jaringan, seperti eth1 atau eth2

    Misalnya, perintah berikut menggabungkan grup dengan alamat IP 224.1.0.176 untuk menerima paket hingga 512 byte dan mencatat traffic yang diterima:

    iperf -s -p 1234 -B 224.1.0.176%eth1 -l 512 -u -i 1
    

Pada antarmuka jaringan ULL instance Anda, ethtool menampilkan status link port fisik (up/down) dan kecepatan link fisik yang sebenarnya.

Untuk memeriksa status dan kecepatan link fisik antarmuka jaringan ULL, jalankan perintah berikut:

sudo ethtool NIC

Ganti NIC dengan nama antarmuka jaringan yang ditetapkan oleh OS tamu, seperti ens8f0 atau ens48f0.

Langkah berikutnya

  • Untuk mengetahui informasi umum tentang pemecahan masalah performa jaringan untuk instance bare metal, lihat pemecahan masalah performa jaringan di dokumentasi Compute Engine. Misalnya, Anda dapat menonaktifkan status tidur CPU untuk mencapai performa bandwidth jaringan penuh.
  • Untuk mengaktifkan polling sibuk dan menguji fitur Onload untuk instance komputasi ULL, lihat Bekerja dengan Onload.
  • Untuk menyinkronkan jam sistem instance Anda dengan jam NIC fisik server host-nya, lihat Mengonfigurasi waktu yang akurat.