Hubungkan dari Compute Engine

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

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

Untuk 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 disk booting apa pun. Sebaiknya gunakan setidaknya jenis mesin c2-standard-4; 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.

Konsol Google Cloud

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

    Buka halaman VM instances

  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 Machine configuration 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 dari: HPC VM image, Ubuntu, atau Debian.

  10. Dari drop-down Version, pilih salah satu dari: 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

Konsol Google Cloud

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

  1. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Firewall policies

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

Kemudian, gunakan SSH ke VM Anda:

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

    Buka instance VM

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

  3. Jika diminta, klik Authorize untuk mengizinkan koneksi.

gcloud

Untuk menggunakan 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

Menginstal library klien DAOS

Library klien DAOS menyediakan antarmuka seperti POSIX ke lapisan data Parallelstore. Software ini berjalan sebagai agen di komputer klien dan harus diinstal dan 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. Mengupgrade 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. Mengupgrade 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. Mengupgrade 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 yang 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 langsung menjalankan ulimit -n 131072 sebelum memulai dfuse.

Untuk meningkatkan batas file yang 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

Lakukan SSH ke VM klien lagi setelah selesai dimulai ulang.

Memperbarui konfigurasi agen DAOS

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

  1. Hapus tanda 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 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, 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 tanda komentar include_fabric_ifaces dan perbarui nilai:

    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 sedang berjalan:

systemctl status daos_agent.service

Rocky Linux 9 yang Dioptimalkan

sudo systemctl start daos_agent.service

Anda dapat memeriksa status untuk memastikan agen sedang berjalan:

systemctl status daos_agent.service

RHEL 9

sudo systemctl start daos_agent.service

Anda dapat memeriksa status untuk memastikan agen sedang 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 di-mount ke VM Compute Engine di jalur yang ditentukan oleh flag -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.

Melepas instance

Instance Parallelstore dapat dilepas pemasangannya menggunakan perintah berikut:

sudo umount /tmp/parallelstore/

Langkah berikutnya