Hubungkan dari Compute Engine

Panduan ini memberikan petunjuk tentang cara membuat satu klien Compute Engine dan menghubungkannya ke instance Parallelstore Anda.

Untuk membuat dan menghubungkan dari beberapa klien Compute Engine, Anda dapat mengikuti petunjuk di Menghubungkan dari Compute Engine: beberapa klien.

Untuk mendapatkan performa yang lebih baik, VM Compute Engine klien harus dibuat di zona yang sama dengan instance Parallelstore.

Izin yang diperlukan

Anda harus memiliki peran IAM berikut untuk membuat VM Compute Engine:

  • Admin Instance Compute (v1) (roles/compute.instanceAdmin.v1). Untuk mengetahui informasi selengkapnya, lihat dokumentasi Compute Engine.

Membuat VM Compute Engine

Ikuti petunjuk untuk membuat VM Compute Engine menggunakan salah satu image berikut:

Anda dapat memilih jenis mesin dan boot disk apa pun. Sebaiknya gunakan jenis mesin c2-standard-4 minimal; untuk performa klien yang lebih tinggi, tingkatkan jumlah vCPU untuk meningkatkan throughput jaringan. Misalnya, c3-standard-176 dengan jaringan Tingkat 1 menyediakan bandwidth keluar 200 Gbps.

Google Cloud Konsol

  1. Di Google Cloud konsol, buka halaman VM instances.

    Buka instance VM

  2. Pilih project Anda, lalu klik Continue.

  3. Klik Create instance.

  4. Masukkan nama untuk VM Anda di Name. Untuk mengetahui informasi selengkapnya, lihat Konvensi penamaan resource.

  5. Pilih Region dan Zone dari menu drop-down untuk VM ini. VM Anda harus berada di zona yang sama dengan instance Parallelstore.

  6. Pilih Machine configuration untuk VM Anda dari daftar.

  7. Di bagian Boot disk, klik Change.

  8. Pilih tab Public images.

  9. Dari drop-down Operating system, pilih salah satu opsi berikut: HPC VM image, Ubuntu, atau Debian.

  10. Dari drop-down Version, pilih salah satu opsi berikut: HPC Rocky Linux 8, Ubuntu 22.04 LTS, atau Debian GNU/Linux 12 (bookworm). Pilih versi x86/64 atau versi Arm64 agar sesuai dengan jenis mesin Anda.

  11. Untuk mengonfirmasi opsi boot disk, klik Select.

  12. Luaskan bagian Advanced Options, lalu luaskan Networking.

  13. Di bagian Network interfaces, pilih jaringan VPC yang Anda buat di Mengonfigurasi jaringan VPC.

  14. Untuk membuat dan memulai VM, klik Create.

gcloud

Gunakan alat command line gcloud untuk membuat VM:

HPC Rocky Linux 8

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/cloud-hpc-image-public/global/images/hpc-rocky-linux-8-v20240126,\
mode=rw,size=100,type=pd-balanced

Rocky Linux 9 yang Dioptimalkan

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/rocky-linux-cloud/global/images/rocky-linux-9-optimized-gcp-v20241112,\
mode=rw,size=100,type=pd-balanced

RHEL 9

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/rhel-cloud/global/images/rhel-9-v20241112,\
mode=rw,size=100,type=pd-balanced

Ubuntu 22.04

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/ubuntu-os-cloud/global/images/ubuntu-2204-jammy-v20240927,\
mode=rw,size=100,type=pd-balanced

Debian 12

gcloud compute instances create VM_NAME \
  --project=PROJECT_ID \
  --zone=LOCATION \
  --machine-type=c2d-standard-112 \
  --network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
  --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
  --create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/debian-cloud/global/images/debian-12-bookworm-v20240415,\
mode=rw,size=100,type=pd-balanced

Untuk mengetahui informasi selengkapnya tentang opsi yang tersedia, lihat dokumentasi Compute Engine.

SSH ke VM klien

Google Cloud Konsol

Untuk melakukan SSH ke VM Compute Engine, Anda harus membuat aturan firewall yang mengizinkan SSH terlebih dahulu.

  1. Di Google Cloud konsol, buka halaman Firewall policies.

    Buka Firewall policies

  2. Klik Create firewall rule.

  3. Masukkan Name untuk aturan.

  4. Untuk Network, pilih jaringan VPC yang Anda buat sebelumnya.

  5. Pilih Ingress sebagai Direction of traffic, dan Allow sebagai Action on match.

  6. Dari drop-down Targets, pilih All instances in the network.

  7. Di kolom Source IPv4 ranges, masukkan 0.0.0.0/0.

  8. Dari Protocols and ports, pilih Specified protocols and ports.

  9. Pilih TCP dan masukkan 22 di kolom Ports.

  10. Klik Create.

Kemudian, lakukan SSH ke VM Anda:

  1. Di Google Cloud konsol, buka halaman VM instances.

    Buka instance VM

  2. Di tabel instance, temukan baris instance Anda, lalu klik SSH di kolom berjudul Connect.

  3. Jika diminta untuk melakukannya, klik Authorize untuk mengizinkan koneksi.

gcloud

Untuk melakukan SSH ke VM Compute Engine, Anda harus membuat aturan firewall yang mengizinkan SSH terlebih dahulu.

gcloud compute firewall-rules create FIREWALL_RULE_NAME \
  --allow=tcp:22 \
  --network=NETWORK_NAME \
  --source-ranges=0.0.0.0/0 \
  --project=PROJECT_ID

Kemudian, hubungkan menggunakan gcloud compute ssh:

gcloud compute ssh VM_NAME --zone=ZONE --project=PROJECT_ID

Menginstal library klien DAOS

Library klien DAOS menyediakan antarmuka seperti POSIX ke lapisan data Parallelstore. Software ini berjalan sebagai agen di mesin klien Anda dan harus diinstal serta dijalankan sebelum Anda dapat mengakses data.

HPC Rocky Linux 8

Perintah berikut harus dijalankan di setiap VM Compute Engine.

  1. Tambahkan repositori paket Parallelstore:

    sudo tee /etc/yum.repos.d/parallelstore-v2-6-el8.repo << EOF
    [parallelstore-v2-6-el8]
    name=Parallelstore EL8 v2.6
    baseurl=https://us-central1-yum.pkg.dev/projects/parallelstore-packages/v2-6-el8
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOF
    
  2. Perbarui cache metadata lokal:

    sudo dnf makecache
    
  3. Instal daos-client:

    sudo dnf install -y epel-release && \
    sudo dnf install -y daos-client
    
  4. Upgrade libfabric:

    sudo dnf upgrade -y libfabric
    

Rocky Linux 9 yang Dioptimalkan

Perintah berikut harus dijalankan di setiap VM Compute Engine.

  1. Tambahkan repositori paket Parallelstore:

    sudo tee /etc/yum.repos.d/parallelstore-v2-6-el9.repo << EOF
    [parallelstore-v2-6-el9]
    name=Parallelstore EL9 v2.6
    baseurl=https://us-central1-yum.pkg.dev/projects/parallelstore-packages/v2-6-el9
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOF
    
  2. Perbarui cache metadata lokal:

    sudo dnf makecache
    
  3. Instal daos-client:

    sudo dnf install -y epel-release && \
    sudo dnf install -y daos-client
    
  4. Upgrade libfabric:

    sudo dnf upgrade -y libfabric
    

RHEL 9

Perintah berikut harus dijalankan di setiap VM Compute Engine.

  1. Tambahkan repositori paket Parallelstore:

    sudo tee /etc/yum.repos.d/parallelstore-v2-6-el9.repo << EOF
    [parallelstore-v2-6-el9]
    name=Parallelstore EL9 v2.6
    baseurl=https://us-central1-yum.pkg.dev/projects/parallelstore-packages/v2-6-el9
    enabled=1
    repo_gpgcheck=0
    gpgcheck=0
    EOF
    
  2. Perbarui cache metadata lokal:

    sudo dnf makecache
    
  3. Instal daos-client:

    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    
    sudo dnf install -y epel-release && \
    sudo dnf install -y daos-client
    
  4. Upgrade libfabric:

    sudo dnf upgrade -y libfabric
    

Ubuntu 22.04

Perintah berikut harus dijalankan di setiap VM Compute Engine.

  1. Tambahkan repositori paket Parallelstore:

    curl https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
    echo "deb https://us-central1-apt.pkg.dev/projects/parallelstore-packages v2-6-deb main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  2. Perbarui indeks paket:

    sudo apt update
    
  3. Instal daos-client:

    sudo apt install -y daos-client
    

Debian 12

Perintah berikut harus dijalankan di setiap VM Compute Engine.

  1. Tambahkan repositori paket Parallelstore:

    curl https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add -
    echo "deb https://us-central1-apt.pkg.dev/projects/parallelstore-packages v2-6-deb main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
    
  2. Perbarui indeks paket:

    sudo apt update
    
  3. Instal daos-client:

    sudo apt install -y daos-client
    

Meningkatkan batas file terbuka (khusus Ubuntu)

Untuk VM yang menjalankan Ubuntu 22.04, Anda harus meningkatkan batas file terbuka menjadi 131072 untuk mendukung dfuse dan library intersepsi.

Jika memilih untuk tidak menggunakan library intersepsi, Anda dapat menjalankan ulimit -n 131072 segera sebelum memulai dfuse.

Untuk meningkatkan batas file terbuka dari 1024, jalankan perintah berikut di setiap VM.

sudo tee -a /etc/security/limits.conf <<EOF
* soft nofile 131072
* hard nofile 131072
EOF

Kemudian, lakukan booting ulang:

sudo reboot

Lakukan SSH ke VM klien lagi setelah selesai melakukan booting ulang.

Memperbarui konfigurasi agen DAOS

Perbarui /etc/daos/daos_agent.yml sebagai berikut:

  1. Hapus komentar dan perbarui access_points dengan alamat IP accessPoints dari properti instance Parallelstore. Misalnya: access_points: ['172.21.95.2', '172.21.95.4', '172.21.95.5'].

    Untuk mencetak titik akses dalam format yang benar untuk disalin dan ditempel, jalankan perintah berikut:

    echo access_points\: $(gcloud beta parallelstore instances describe \
      INSTANCE_ID --location LOCATION --project PROJECT_ID \
      --format "value[delimiter=', '](format("{0}", accessPoints))")
    
  2. Hapus komentar pada dua baris berikut. Indentasi penting, jadi pastikan untuk mempertahankan spasi di depan allow_insecure:

    # transport_config:
    #   allow_insecure: false
    
  3. Ubah nilai allow_insecure menjadi true karena sertifikat tidak didukung.

     transport_config:
       allow_insecure: true
    
  4. Tentukan antarmuka jaringan yang menyediakan konektivitas ke instance Parallelstore. Antarmuka ini sering kali berupa eth0, ens4, atau enp0s3, tetapi mungkin berbeda bergantung pada konfigurasi jaringan Anda. Anda dapat menggunakan perintah route untuk menampilkan gateway default VM; antarmuka yang akan ditentukan biasanya adalah antarmuka yang berbagi subnet dengan gateway.

    Pertama, cantumkan semua antarmuka jaringan yang tersedia:

    ip a
    

    Outputnya mirip dengan hal berikut ini:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    2: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP group default
        link/ether e4:9x:3f:x7:dx:f7 brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 10.88.0.3/16 brd 10.88.255.255 scope global eth0
           valid_lft forever preferred_lft forever
    3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1460 qdisc noqueue state DOWN group default
        link/ether 02:4x:6y:1z:84:45 brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
           valid_lft forever preferred_lft forever
    

    Jalankan route untuk menampilkan tabel perutean:

    route
    

    Outputnya mirip dengan hal berikut ini:

    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         10.88.0.1       0.0.0.0         UG    0      0        0 eth0
    10.88.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eth0
    172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
    

    Dalam contoh ini, gateway default adalah 10.88.0.1, dan dibagikan oleh eth0, jadi tentukan eth0 sebagai antarmuka yang akan digunakan.

    Edit /etc/daos/daos_agent.yml. Hapus komentar pada include_fabric_ifaces dan perbarui nilainya:

    include_fabric_ifaces: ["eth0"]
    

    Simpan dan tutup file tersebut.

Memulai agen DAOS

HPC Rocky Linux 8

sudo systemctl start daos_agent.service

Anda dapat memeriksa status untuk memastikan agen berjalan:

systemctl status daos_agent.service

Rocky Linux 9 yang Dioptimalkan

sudo systemctl start daos_agent.service

Anda dapat memeriksa status untuk memastikan agen berjalan:

systemctl status daos_agent.service

RHEL 9

sudo systemctl start daos_agent.service

Anda dapat memeriksa status untuk memastikan agen berjalan:

systemctl status daos_agent.service

Ubuntu 22.04

sudo mkdir /var/run/daos_agent && \
sudo daos_agent -o /etc/daos/daos_agent.yml &

Debian 12

sudo mkdir /var/run/daos_agent && \
sudo daos_agent -o /etc/daos/daos_agent.yml &

Menyiapkan logging

Siapkan logging lokal untuk membantu proses debug sisi klien, jika diperlukan:

export D_LOG_MASK=INFO
export D_LOG_FILE_APPEND_PID=1
rm -f /tmp/client.log.*
export D_LOG_FILE=/tmp/client.log

Memasang instance menggunakan dfuse

Pasang instance Parallelstore menggunakan dfuse (DAOS FUSE).

  1. Edit /etc/fuse.conf untuk menambahkan user_allow_other.

  2. Tentukan opsi --multi-user dengan dfuse:

    mkdir -p /tmp/parallelstore
    dfuse -m /tmp/parallelstore \
      --pool default-pool \
      --container default-container \
      --disable-wb-cache \
      --thread-count=20 \
      --eq-count=10 \
      --multi-user
    

Untuk mendapatkan bantuan dalam mengoptimalkan nilai --thread-count dan --eq-count, lihat bagian Jumlah thread dan jumlah antrean peristiwa di halaman Pertimbangan performa.

Mengakses instance Parallelstore

Instance Parallelstore Anda kini dipasang ke VM Compute Engine di jalur yang ditentukan oleh tanda -m, dan dapat dibaca/ditulis menggunakan sintaksis POSIX standar, dengan beberapa pengecualian.

Jika Anda menjalankan df di instance, nilai SIZE adalah 1,5x nilai yang ditentukan dengan --capacity-gib. Jumlah ruang yang dapat digunakan masih --capacity-gib karena sifat encoding penghapusan yang digunakan oleh Parallelstore. Setiap 2 byte yang ditulis menggunakan 3 byte dari perspektif df.

Melepas instance

Instance Parallelstore dapat dilepas menggunakan perintah berikut:

sudo umount /tmp/parallelstore/

Langkah berikutnya