Membuat instance Compute Engine ULL
Halaman ini menjelaskan cara membuat instance Compute Engine Ultra Low Latency (ULL) menggunakan jenis mesin U4P atau U4C dari kelompok mesin U4.
Untuk mengetahui 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
Anda dapat secara opsional menerapkan kebijakan penempatan tersebar ke instance ULL untuk meningkatkan ketahanan. Untuk mengetahui informasi selengkapnya, lihat Membuat dan menerapkan kebijakan penempatan spread di 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.
Mengaktifkan API
Jika belum, aktifkan API berikut.
Konsol
Aktifkan Compute Engine API.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Service Usage (roles/serviceusage.serviceUsageAdmin).
Pelajari cara memberikan peran.
gcloud
Aktifkan Compute Engine API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda
membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin).
Pelajari cara memberikan peran.
gcloud services enable compute.googleapis.com
Peran yang diperlukan
Guna 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 perutean untuk antarmuka non-nic0 untuk traffic unicast ULL |
Konfigurasikan perutean kebijakan berbasis sumber di OS tamu untuk memastikan 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:
|
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 untuk 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
compute instances create perintah.
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 terpasang ke jaringan VPC ULL, no-address harus ditentukan.
Selain itu, perintah berikut menyertakan flag igmp-query untuk memungkinkan instance menjadi konsumen multicast. Flag ini tidak diperlukan jika instance hanya merupakan 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 dibuatINSTANCE_NAME: nama untuk instanceMACHINE_TYPE: jenis mesin U4P atau U4C instanceIMAGE_PROJECT: project image , sepertirhel-cloud. Lihat Dukungan sistem operasi untuk jenis mesin U4.IMAGE_FAMILY: kelompok image, sepertirhel-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
--imagedan menentukan versi image.GENERAL_PURPOSE_VPC_NETWORK,GENERAL_PURPOSE_SUBNET: jaringan VPC dan subnet untuk melampirkan antarmukanic0instanceULL_VPC_NETWORK: jaringan VPC ULL untuk melampirkan antarmuka non-nic0ULL_SUBNET_1: subnet di jaringan VPC ULL untuk melampirkan antarmukanic1ULL_SUBNET_2: subnet di jaringan VPC ULL untuk melampirkan antarmukanic2
Mengonfigurasi perutean untuk antarmuka non-nic0 untuk traffic unicast ULL
Secara default, instance menggunakan rute default yang terkait dengan antarmuka nic0 untuk mengirim traffic ke tujuan mana pun di luar subnet yang terhubung langsung. Untuk mengetahui informasi selengkapnya, lihat ringkasan beberapa antarmuka jaringan.
Agar antarmuka nic1 dan nic2 instance Anda berhasil mengirim dan menerima traffic unicast ULL, Anda harus mengonfigurasi perutean kebijakan berbasis sumber di OS tamu. Konfigurasi ini memastikan paket keluar keluar melalui antarmuka yang benar dan mencegah perutean asimetris, yang menyebabkan traffic masuk ke satu antarmuka, tetapi mencoba keluar melalui nic0.
Untuk mengetahui 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 di instance ULL yang ada, gunakan
compute instances network-interfaces update perintah.
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 instanceZONE: zona instanceNETWORK_INTERFACE_NAME: nama antarmuka jaringan tempat kueri IGMP akan diaktifkan. Dalam Google Cloud, formatnya adalahnicNUMBER, sepertinic0,nic1, ataunic2.
Menetapkan IGMPv2 di OS tamu
Untuk menetapkan IGMPv2 di OS tamu instance Anda, lakukan hal berikut:
Hubungkan ke instance menggunakan SSH.
Jalankan perintah berikut dan identifikasi nama perangkat antarmuka jaringan yang ingin Anda gunakan untuk menerima traffic multicast.
sudo ifconfig
Untuk setiap antarmuka jaringan yang berlaku, jalankan perintah berikut untuk memaksa IGMPv2.
sudo -i echo "2" > /proc/sys/net/ipv4/conf/NETWORK_INTERFACE_DEVICE_NAME/force_igmp_version
Ganti
NETWORK_INTERFACE_DEVICE_NAMEdengan nama perangkat antarmuka jaringan, sepertieth0,eth1, ataueth2.
Mengonfigurasi pemfilteran jalur terbalik (rp_filter)
Dalam beberapa kasus, seperti pada instance multi-NIC, validasi sumber yang ketat oleh pemfilteran jalur terbalik (rp-filter) dapat menyebabkan paket multicast yang sah dihilangkan. 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 pada 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 dalam dokumentasi kernel
Linux.
Meningkatkan ukuran ring buffer 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 hal 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 workload aplikasi menggunakan
iperf alat. Langkah-langkah di bagian ini
mengharuskan konfigurasi multicast yang dijelaskan dalam Ringkasan konfigurasi untuk Solusi ULL selesai.
Mengirim traffic multicast ULL dari produsen multicast
Hubungkan ke instance menggunakan SSH.
Instal
iperfjika Anda belum melakukannya.iperf3tidak mendukung multicast. Perintah berikut menggunakaniperf, yang menginstaliperf2.sudo yum install iperf
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 multicastNICnama perangkat antarmuka jaringan, sepertieth1ataueth2NIC_IP_ADDRESSalamat IP yang ditetapkan ke NIC yang Anda tentukan
Bergabung ke grup dan menerima traffic multicast ULL dari konsumen multicast
Hubungkan ke instance menggunakan SSH.
Instal
iperfjika Anda belum melakukannya.sudo yum install iperf
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_ADDRESSalamat IP grup multicastNICnama perangkat antarmuka jaringan, sepertieth1ataueth2
Misalnya, perintah berikut bergabung ke grup dengan alamat IP
224.1.0.176untuk 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
Memverifikasi status dan kecepatan link ULL
Di antarmuka jaringan ULL instance Anda, ethtool menampilkan status link port fisik yang sebenarnya (up/down) dan kecepatan link fisik.
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 cara memecahkan masalah performa jaringan untuk instance bare metal, lihat memecahkan masalah performa jaringan di dokumentasi Compute Engine. Misalnya, Anda dapat menonaktifkan status tidur CPU untuk mencapai performa bandwidth jaringan penuh.
- Untuk mengonfigurasi Onload atau DPDK guna mengoptimalkan performa, lihat Menggunakan Onload dan Menggunakan DPDK.
- Untuk menyinkronkan jam sistem instance Anda dengan jam NIC fisik server host-nya, lihat Mengonfigurasi waktu yang akurat.