Latihan — Menambahkan disk ke node penjadwal kluster HPC

Selesai

Azure CycleCloud mengandalkan templat untuk menentukan konfigurasi kluster. Penerapan defaultnya mencakup templat bawaan untuk penjadwal yang paling umum, tetapi Anda dapat menemukan beberapa templat lainnya di repositori GitHub Azure CycleCloud.

Ingat bahwa Anda ingin menguji proses penerapan sebuah kluster menggunakan templat Azure CycleCloud yang disesuaikan. Untuk ini, Anda akan memanfaatkan repositori GitHub Azure CycleCloud yang menghosting proyek Slurm yang dikumpulkan oleh Microsoft. Anda akan mengubah templat kluster yang ada dari repositori ini dengan mengubah konfigurasi penyimpanan node penjadwal, mengimpor templat yang baru dimodifikasi ke dalam aplikasi Azure CycleCloud, menggunakan antarmuka grafis aplikasi ini untuk membuat kluster, dan akhirnya memvalidasi perubahan konfigurasi penyimpanan.

Penting

Untuk menyelesaikan latihan dalam modul ini, Anda harus memenuhi prasyarat berikut:

  • Memiliki langganan Azure dengan ketersediaan inti vCPU dalam tiga grup ukuran VM:
    • minimal 4 inti vCPU dari seri DSv3
    • minimal 100 inti vCPU dari seri FSv2
    • minimal 48 inti vCPU dari seri NC
  • Memiliki akun Microsoft atau akun Microsoft Entra dengan peran Pemilik atau Kontributor dalam langganan Azure.
  • Menyebarkan aplikasi Azure CycleCloud ke VM Azure yang dapat diakses dengan alamat IP publik yang terkait dengan antarmuka jaringannya.
  • Mengonfigurasi aplikasi Azure CycleCloud dengan tingkat akses peran sebagai Pemilik atau Kontributor ke langganan Azure.
  • Memiliki akun pengguna aplikasi Azure CycleCloud dengan peran sebagai Administrator.
  • Membuat subnet jaringan virtual Azure di mana Anda dapat menyebarkan node kluster.
  • Memiliki kunci privat dari pasangan kunci SSH yang digunakan untuk mengonfigurasi aplikasi Azure CycleCloud.

Catatan

Untuk informasi tentang pengidentifikasian dan peningkatan kuota vCPU dalam langganan Azure, lihat dokumentasi berikut:

Catatan

Anda akan memerlukan kunci privat untuk terhubung langsung ke node kluster dalam latihan terakhir modul ini.

Pada latihan ini, Anda akan melakukan tugas-tugas berikut:

  • Tugas 1: Menginstal dan mengonfigurasi Azure CycleCloud CLI
  • Tugas 2: Mengonfigurasi proyek Azure CycleCloud Slurm
  • Tugas 3: Menerapkan templat Azure CycleCloud kustom
  • Tugas 4: Memulai kluster baru dan memeriksa konfigurasi penyimpanannya

Tugas 1: Menginstal dan mengonfigurasi Azure CycleCloud CLI

Sebagian besar tugas manajemen dalam latihan ini dan berikutnya menggunakan Azure CycleCloud CLI, sehingga Anda akan mulai dengan menginstalnya dan menyambungkannya ke aplikasi Azure CycleCloud Anda. Untuk menyederhanakan penyiapan awal, Anda akan menggunakan Azure Cloud Shell.

Catatan

Atau, Anda dapat masuk ke Azure VM yang menghosting aplikasi Azure CycleCloud, tempat Azure CycleCloud CLI sudah diinstal.

  1. Dari komputer Anda, mulai browser web yang kompatibel dengan portal Azure, navigasikan ke portal Azure, dan saat diminta, autentikasi dengan akun Microsoft atau akun Microsoft Entra yang memiliki peran Kontributor atau Pemilik dalam langganan Azure yang akan Anda gunakan dalam modul ini.

    Catatan

    Portal Microsoft Azure mendukung browser web modern yang paling umum, termasuk versi saat ini dari Microsoft Edge, Google Chrome, Mozilla Firefox, dan Apple Safari.

  2. Dari portal Microsoft Azure, buka Cloud Shell dengan memilih ikon dari toolbar di samping kotak teks pencarian.

  3. Jika diminta untuk memilih Bash atau PowerShell, pilih Bash.

    Catatan

    Jika ini pertama kalinya Anda memulai Azure Cloud Shell dan disajikan dengan pesan Anda tidak memiliki penyimpanan yang dipasang , pilih langganan yang Anda gunakan dalam latihan ini, lalu pilih Buat penyimpanan.

  4. Dalam sesi Bash di panel Azure Cloud Shell, jalankan perintah berikut untuk menetapkan nilai variabel ke alamat IP umum server aplikasi Azure CycleCloud (ganti tempat penampung <public_ip_address> dengan alamat IP publik yang sebenarnya):

    PIP=<public_ip_address>
    
  5. Jalankan perintah berikut untuk mengunduh file .zip yang berisi alat penginstal CLI khusus instans Azure CycleCloud:

    curl -O --insecure https://$PIP/static/tools/cyclecloud-cli.zip
    
  6. Jalankan serangkaian perintah berikut untuk mengekstrak dan menjalankan skrip yang melakukan penginstalan Azure CycleCloud CLI:

    unzip ./cyclecloud-cli.zip
    cd ./cyclecloud-cli-installer
    ./install.sh
    

    Catatan

    Abaikan semua pesan mengenai variabel lingkungan jalur dan lanjutkan ke langkah berikutnya.

  7. Jalankan perintah berikut untuk membentuk koneksi ke instans Azure CycleCloud, di mana tempat penampung <username> dan <password> menetapkan info masuk akun pengguna aplikasi Azure CycleCloud Anda sebagai Administrator:

    cyclecloud initialize --batch --url=https://$PIP --username=<username> --password=<password> --verify-ssl=false
    

    Catatan

    Parameter --verify-ssl yang ditetapkan ke false mengakomodasi skenario di mana aplikasi Azure CycleCloud dikonfigurasi dengan sertifikat yang ditandatangani sendiri atau sertifikat dari otoritas sertifikasi yang tidak tepercaya.

  8. Jalankan perintah berikut untuk memverifikasi koneksi ke instans Azure CycleCloud dengan menampilkan konfigurasi lokernya:

    cyclecloud locker list
    

    Catatan

    Output harus mencakup nama loker untuk setiap langganan Azure yang terdaftar di CycleCloud dan kontainernya masing-masing di akun Azure Storage individual. Anda sebaiknya mencatat nama loker yang sesuai dengan langganan Azure yang ingin Anda gunakan untuk lab ini, karena Anda akan membutuhkannya nanti dalam latihan ini. Output perintah dalam format berikut (di mana tempat penampung <locker-name> mewakili nama loker, tempat penampung <storage_account_name> mewakili nama akun penyimpanan yang menghosting loker tersebut, dan tempat penampung <container_name> mewakili nama kontainer loker dalam akun penyimpanan):

    <locker-name> (az://<storage_account_name>/<container_name>)
    

Tugas 2: Mengonfigurasi proyek Azure CycleCloud Slurm

Selanjutnya, Anda akan mengonfigurasi sebuah sampel proyek Azure CycleCloud Slurm. Anda akan memanfaatkan proyek Slurm yang telah ada dari repositori GitHub Azure CycleCloud. Anda akan mengambilnya dari direktori beranda Anda di Azure Cloud Shell, lalu mengunggahnya ke loker Azure CycleCloud.

  1. Di komputer Anda, dalam sesi Bash di panel Azure Cloud Shell , jalankan perintah berikut untuk membuat direktori proyek dan mengambil proyek Slurm dari repositori GitHub yang sesuai ke dalamnya.

    mkdir ~/cyclecloud-slurm && cd ~/cyclecloud-slurm
    cyclecloud project fetch https://github.com/Azure/cyclecloud-slurm . 
    

    Catatan

    Pastikan untuk menyertakan tanda titik di akhir perintah kedua.

  2. Jalankan perintah berikut untuk menetapkan loker default dan mengunggah proyek ke dalamnya (ganti tempat penampung <locker_name> dengan nama loker yang Anda identifikasi di tugas sebelumnya, misalnya cc-lab-subscription-storage):

    cyclecloud project default_locker <locker_name>
    cyclecloud project upload 
    

    Catatan

    Selain itu, Anda dapat menjalankan cyclecloud project upload <locker_name>, di mana tempat penampung <locker_name> menetapkan nama loker.

    Catatan

    Abaikan pesan kesalahan terkait azcopy yang menyatakan Cannot perform sync due to error: sync must happen between source and destination of the same type, e.g., either file <-> file, or directory/container <-> directory/container diikuti selama Upload failed! salinan individu file proyek berhasil. Untuk mengonfirmasi hal ini, verifikasi bahwa status pekerjaan akhir terdaftar sebagai Completed, tanpa transfer yang gagal.

Tugas 3: Menerapkan templat Azure CycleCloud kustom

Sekarang, Anda akan mengunduh dan memodifikasi contoh templat Azure CycleCloud yang kompatibel dengan proyek berbasis GitHub yang diambil. Anda akan menggunakannya untuk menentukan konfigurasi penyimpanan kustom yang mencakup disk tambahan yang dilampirkan ke node penjadwal dan diekspor melalui sistem file jaringan (NFS). Setelah modifikasi ini, Anda akan mengimpornya ke aplikasi Azure CycleCloud Anda.

Catatan

Anda dapat memeriksa konten templat tersebut dengan browser web dengan membuka repositori Azure/cyclecloud-slurm.

  1. Pada komputer Anda, di dalam jendela browser web yang menampilkan sesi Bash di panel Azure Cloud Shell, jalankan perintah berikut untuk mengubah direktori kerja ke repositori yang baru diambil:

    cd ~/cyclecloud-slurm/templates
    
  2. Jalankan perintah berikut untuk membuat cadangan templat kluster asli:

    cp slurm.txt slurm.bak.txt
    
  3. Jalankan perintah berikut untuk membuka templat yang diunduh di editor nano:

    nano slurm.txt
    

    Catatan

    Selain editor nano, Anda dapat menggunakan editor teks lain yang tersedia untuk Anda, termasuk editor bawaan Azure Cloud Shell.

  4. Dalam antarmuka editor nano, pindah ke bagian [[node scheduler]]. Di bagian tersebut [[[volume shared]]] , temukan subbagian, pindah ke baris Persistent = ${NFSType == "Builtin"}, dan tambahkan konten berikut setelahnya:

    
        # Add 2 premium disks in a RAID 0 configuration to the NFS export
        [[[volume nfs-1]]]
        Size = 128
        StorageAccountType = Premium_LRS
        Mount = nfs
        Persistent = true
    
        [[[volume nfs-2]]]
        Size = 128
        StorageAccountType = Premium_LRS
        Mount = nfs
        Persistent = true
    
        [[[configuration cyclecloud.mounts.nfs]]]
        mountpoint = /mnt/exports/lab
        fs_type = ext4
        raid_level = 0
    
    

    Catatan

    Jika Anda menggunakan komputer Windows, Anda dapat menempelkan konten Clipboard dengan menggunakan kombinasi tombol Shift + Insert .

    Catatan

    Perubahan Anda menentukan dua disk penyimpanan Premium 128 GB dalam volume berbasis stripe yang akan secara otomatis dipasang ke node head selama provisi. Volume tersebut akan menggunakan titik pemasangan /mnt/ekspor/ dan akan secara otomatis diformat sebagai sistem file ext4. Pengaturan Persistent = true menunjukkan bahwa disk akan bertahan saat Anda menghentikan kluster, tetapi akan dihapus secara otomatis jika Anda menghapus kluster.

    Catatan

    Azure CycleCloud menerapkan volume sebagai disk yang dikelola Azure.

  5. Dalam antarmuka editor Nano, pilih kombinasi tombol Ctrl + O , pilih tombol Enter , lalu pilih kombinasi tombol Ctrl + X untuk menyimpan perubahan yang Anda buat dan menutup file.

    Catatan

    Pada titik ini, Anda dapat menggunakan koneksi Anda ke aplikasi Azure CycleCloud melalui CLI untuk mengimpor templatnya.

  6. Jalankan perintah berikut untuk mengimpor templat yang Anda ubah di tugas sebelumnya ke dalam aplikasi Azure CycleCloud:

    cyclecloud import_template -f ~/cyclecloud-slurm/templates/slurm.txt
    

    Catatan

    Perintah akan menampilkan nama templat yang diimpor, status penjadwal (scheduler: Off -- --) dan jumlah total node (Total nodes: 1).

Tugas 4: Memulai kluster baru dan memeriksa konfigurasi penyimpanannya

Untuk menyimpulkan latihan ini, Anda akan memverifikasi bahwa templat yang Anda impor ke aplikasi Azure CycleCloud memberikan fungsionalitas yang dimaksudkan dengan membuat kluster baru dan meninjau konfigurasi penyimpanan head node-nya untuk memastikan bahwa templat tersebut menyertakan volume yang terdiri dari dua disk persisten.

  1. Pada komputer Anda, buka jendela browser lain dan buka URL https://<IP_address> (ganti tempat penampung <IP_address> dengan alamat IP publik dari server aplikasi Azure CycleCloud). Jika diminta, konfirmasi bahwa Anda ingin melanjutkan.

  2. Jika diminta untuk mengautentikasi, masuk dengan menyediakan info masuk akun pengguna aplikasi Azure CycleCloud yang sama dengan yang Anda gunakan untuk mengonfigurasi Azure CycleCloud CLI.

  3. Di antarmuka grafis Azure CycleCloud, navigasikan ke halaman Kluster dan pilih +.

  4. Pada halaman Buat Kluster Baru, pilih ikon berlabel Slurm dalam bentuk segitiga sama kaki dengan lingkaran kecil di setiap nodenya.

    Screenshot of the Create a New Cluster page of the Azure CycleCloud web application.

  5. Pada tab Tentang dari halaman Kluster Slurm Baru, masukkan contoso-custom-slurm-lab-cluster di kotak teks Nama Kluster.

    Screenshot of the About tab of the New Slurm Cluster page of the Azure CycleCloud web application.

  6. Pada tab Pengaturan yang Diperlukan dari halaman Kluster Slurm Baru, konfigurasikan pengaturan berikut ini (biarkan pengaturan lain sesuai dengan nilai defaultnya) dan pilih Selanjutnya:

    Pengaturan Nilai
    Wilayah Pilih nama wilayah Azure tempat Anda ingin menyebarkan kluster dalam latihan ini.
    Jenis VM Scheduler Pilih Pilih di jendela pop-up Pilih jenis komputer. Dalam kotak teks Pencarian SKU, masukkan D4s_v3. Dalam daftar hasil, pilih kotak centang di samping entri D4s_v3 , lalu pilih Terapkan.

    Catatan

    Pastikan Anda memilih ukuran VM yang mendukung tingkat Premium Azure Storage, yang diperlukan untuk memprovisikan disk node head sesuai konfigurasi kustom Anda.

    Pengaturan Nilai
    Core HPC Maks Masukkan 100.
    Core HTC Maks Masukkan 100.
    VM Maks per Scaleset Masukkan 40.
    ID Subnet Pilih cyclecloud-rg: cyclecloud-rg-vnet-contoso-slurm-lab-cluster-subnet.
  7. Pada tab Penyimpanan Terpasang Jaringan di halaman Kluster Slurm Baru, verifikasi bahwa Jenis NFS ditetapkan ke Builtin, terima nilai default sebesar Ukuran (GB) ditetapkan ke 100, lalu pilih Berikutnya.

    Screenshot of the Network Attached Storage tab of the New Slurm Cluster page of the Azure CycleCloud web application.

  8. Pada tab Pengaturan Tingkat Lanjut dari halaman Kluster Slurm Baru, tinjau opsi yang tersedia tanpa membuat perubahan apa pun, lalu pilih Berikutnya.

    Screenshot of the Advanced Settings tab of the New Slurm Cluster page of the Azure CycleCloud web application.

  9. Pada tab Cloud-init dari halaman Kluster Slurm Baru, pantau opsi yang tersedia tanpa membuat perubahan apa pun, lalu pilih Simpan.

  10. Pada halaman contoso-custom-slurm-lab-cluster, pilih tautan Mulai. Ketika diminta untuk mengonfirmasi, pilih OK.

    Screenshot of the Nodes tab page of contoso-slurm-lab-cluster in the off state in the Azure CycleCloud web application.

  11. Memantau proses memulai.

    Catatan

    Proses ini melibatkan provisi VM Azure yang menyajikan peran dari node master kluster, penginstalan, dan konfigurasi penjadwal Slurm, dan membuat dan memasang volume disk. Proses ini mungkin memakan waktu sekitar lima menit.

  12. Setelah status simpul penjadwal berubah menjadi Siap, pilih entrinya pada tab Simpul , lalu pilih Perlihatkan Detail untuk menampilkan tampilan terperincinya.

    Screenshot of the Nodes tab of the scheduler node of a contoso-custom-slurm-lab-cluster.

  13. Pada jendela sembul Tampilkan penjadwal di kluster contoso-custom-slurm-lab-cluster, beralihlah ke tab Node. Kemudian gulir ke bagian Volume dan verifikasi bahwa entri nfs-1 dan nfs-2 ditampilkan pada daftar volume.

    Screenshot of the Node tab page of the detailed view of a cluster configured with two additional NFS volumes.

Selamat! Anda berhasil menyelesaikan latihan pertama dalam modul ini. Dalam latihan ini, Anda telah mengimplementasikan kluster berdasarkan templat Azure CycleCloud yang disesuaikan. Anda telah menggunakan Azure CycleCloud CLI untuk mengimpor proyek sampel yang dihosting di repositori Azure CycleCloud GitHub, termasuk salinan yang disesuaikan dari salah satu templat yang ada di dalam CLI Azure CycleCloud. Selanjutnya, Anda telah membuat kluster berdasarkan templat yang diimpor dengan antarmuka grafis Azure CycleCloud. Anda lalu memulainya dan memverifikasi bahwa perubahan kustom telah diterapkan.

Catatan

Jangan hapus sumber daya yang Anda sebarkan dan konfigurasikan dalam latihan ini jika Anda berencana untuk menjalankan latihan berikutnya dalam modul ini. Sumber daya ini diperlukan untuk menyelesaikan latihan berikutnya.