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:

  • Compute Instance Admin (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; untuk performa klien yang lebih tinggi, tingkatkan jumlah vCPU untuk meningkatkan throughput jaringan. Misalnya, c3-standard-176 dengan jaringan Tier 1 menyediakan bandwidth keluar 200 Gbps.

Google Cloud console

  1. Di konsol Google Cloud , 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 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 Anda.

  6. Pilih Konfigurasi mesin untuk VM Anda dari daftar.

  7. Di bagian Boot disk, klik Ubah.

  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 console

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

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

    Buka Kebijakan firewall

  2. Klik Create firewall rule.

  3. Masukkan Nama 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 menu drop-down Target, pilih Semua instance di jaringan.

  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, lalu masukkan 22 di kolom Ports.

  10. Klik Buat.

Kemudian, SSH ke VM Anda:

  1. Di konsol Google Cloud , 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 terlebih dahulu yang mengizinkan SSH.

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

Instal 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 Anda.

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 pencegatan.

Jika memilih untuk tidak menggunakan library pencegatan, 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, mulai ulang:

sudo reboot

SSH ke VM klien lagi setelah selesai dimulai ulang.

Memperbarui konfigurasi agen DAOS

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

  1. Batalkan 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. Antarmukanya biasanya 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, gateway default adalah 10.88.0.1, dan digunakan bersama oleh eth0, jadi tentukan eth0 sebagai antarmuka yang akan digunakan.

    Edit /etc/daos/daos_agent.yml. Hapus tanda komentar include_fabric_ifaces dan perbarui nilai:

    include_fabric_ifaces: ["eth0"]
    

    Simpan dan tutup file tersebut.

Mulai 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 perlu:

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

Pasang 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 Anda

Instance Parallelstore Anda kini di-mount 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 pada 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.

Lepaskan instance

Instance Parallelstore dapat di-unmount menggunakan perintah berikut:

sudo umount /tmp/parallelstore/

Langkah berikutnya