Latihan - Menambahkan disk ke simpul penjadwal kluster HPC
Azure CycleCloud mengandalkan templat untuk menentukan konfigurasi kluster. Implementasi defaultnya mencakup templat bawaan untuk penjadwal yang paling umum, tetapi Anda dapat menemukan beberapa lainnya di repositori GitHub Azure CycleCloud.
Ingat bahwa Anda ingin menguji proses penerapan kluster dengan menggunakan templat Azure CycleCloud yang disesuaikan. Untuk tujuan ini, Anda akan memanfaatkan hosting repositori GitHub Azure CycleCloud proyek Slurm yang dikumpulkan Microsoft. Anda akan memodifikasi templat kluster yang ada dari repositori ini dengan mengubah konfigurasi penyimpanan simpul penjadwal, mengimpor templat yang baru dimodifikasi ke aplikasi Azure CycleCloud Anda, menggunakan antarmuka grafis aplikasi 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:
- setidaknya 4 inti vCPU dari seri DSv3
- setidaknya 100 inti vCPU dari seri FSv2
- setidaknya 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 Azure VM yang dapat diakses dengan alamat IP publik yang terkait dengan antarmuka jaringannya.
- Konfigurasikan aplikasi Azure CycleCloud dengan akses tingkat peran Pemilik atau Kontributor ke langganan Azure.
- Memiliki akun pengguna aplikasi Azure CycleCloud dengan peran Administrator.
- Buat subnet jaringan virtual Azure tempat Anda dapat menyebarkan node kluster.
- Memiliki kunci privat pasangan kunci SSH yang digunakan untuk mengonfigurasi aplikasi Azure CycleCloud.
Nota
Untuk informasi tentang mengidentifikasi dan meningkatkan kuota vCPU dalam langganan Azure, lihat dokumentasi berikut:
Nota
Anda akan memerlukan kunci privat untuk terhubung langsung ke node kluster dalam latihan terakhir modul ini.
Dalam 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: Mulai kluster baru dan periksa 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.
Nota
Atau, Anda dapat masuk ke Azure VM yang menghosting aplikasi Azure CycleCloud, tempat Azure CycleCloud CLI sudah diinstal.
Dari komputer Anda, mulai browser web yang kompatibel dengan portal Microsoft Azure, navigasikan ke portal Microsoft 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.
Nota
Portal Microsoft Azure mendukung browser web modern yang paling umum, termasuk versi Microsoft Edge, Google Chrome, Mozilla Firefox, dan Apple Safari saat ini.
Dari portal Microsoft Azure, buka Cloud Shell dengan memilih ikonnya di toolbar di samping kotak teks pencarian.
Jika Anda diminta untuk memilih Bash atau PowerShell, pilih Bash.
Nota
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.
Dalam sesi Bash di panel Azure Cloud Shell, jalankan perintah berikut untuk mengatur nilai variabel ke alamat IP publik server aplikasi Azure CycleCloud (ganti tempat penampung
<public_ip_address>
dengan alamat IP publik yang sebenarnya):PIP=<public_ip_address>
Jalankan perintah berikut untuk mengunduh file .zip yang berisi penginstal CLI khusus instans Azure CycleCloud:
curl -O --insecure https://$PIP/static/tools/cyclecloud-cli.zip
Jalankan perintah berikut secara berurutan untuk mengekstrak dan menjalankan skrip yang melakukan penginstalan Azure CycleCloud CLI:
unzip ./cyclecloud-cli.zip cd ./cyclecloud-cli-installer ./install.sh
Nota
Abaikan pesan apa pun mengenai variabel lingkungan jalur dan lanjutkan ke langkah berikutnya.
Jalankan perintah berikut untuk membuat koneksi ke instans Azure CycleCloud, di mana tempat penampung
<username>
dan<password>
menunjuk kredensial akun pengguna aplikasi Azure CycleCloud Anda dengan peran Administrator:cyclecloud initialize --batch --url=https://$PIP --username=<username> --password=<password> --verify-ssl=false
Nota
Parameter
--verify-ssl
diatur kefalse
mengakomodasi skenario di mana aplikasi Azure CycleCloud dikonfigurasi dengan sertifikat yang ditandatangani sendiri atau sertifikat dari otoritas sertifikasi yang tidak tepercaya.Jalankan perintah berikut untuk memverifikasi koneksi ke instans Azure CycleCloud dengan menampilkan konfigurasi lokernya:
cyclecloud locker list
Nota
Output harus menyertakan nama loker untuk setiap langganan Azure yang terdaftar dengan CycleCloud dan kontainer masing-masing di akun Azure Storage individual. Anda harus merekam 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 tersebut):<locker-name> (az://<storage_account_name>/<container_name>)
Tugas 2: Mengonfigurasi proyek Azure CycleCloud Slurm
Selanjutnya, Anda akan mengonfigurasi sampel proyek Azure CycleCloud Slurm. Anda akan memanfaatkan proyek Slurm yang ada dari repositori GitHub Azure CycleCloud. Anda akan mengambilnya ke direktori beranda di Azure Cloud Shell lalu mengunggahnya ke loker Azure CycleCloud.
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 .
Nota
Pastikan untuk menyertakan periode berikutnya di akhir perintah kedua.
Jalankan perintah berikut untuk menunjuk loker default dan unggah proyek ke dalamnya (ganti tempat penampung
<locker_name>
dengan nama loker yang Anda identifikasi di tugas sebelumnya, seperticc-lab-subscription-storage
):cyclecloud project default_locker <locker_name> cyclecloud project upload
Nota
Atau, Anda dapat menjalankan
cyclecloud project upload <locker_name>
, di mana placeholder<locker_name>
menandakan nama loker.Nota
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 olehUpload failed!
selama salinan individu file proyek berhasil. Untuk mengonfirmasi hal ini, verifikasi bahwa status pekerjaan akhir terdaftar sebagaiCompleted
, dengan nol transfer yang gagal.
Tugas 3: Menerapkan templat Azure CycleCloud kustom
Sekarang, Anda akan mengunduh dan memodifikasi sampel templat Azure CycleCloud yang kompatibel dengan proyek berbasis GitHub yang diambil. Anda akan menggunakannya untuk menentukan konfigurasi penyimpanan kustom yang menyertakan disk tambahan yang terpasang pada node penjadwal dan diekspor melalui sistem file jaringan (NFS). Setelah modifikasi ini, Anda akan mengimpornya ke aplikasi Azure CycleCloud Anda.
Nota
Anda dapat memeriksa konten templat dengan browser web dengan menavigasi ke repositori Azure/cyclecloud-slurm.
Di 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
Jalankan perintah berikut untuk membuat cadangan templat kluster asli:
cp slurm.txt slurm.bak.txt
Jalankan perintah berikut untuk membuka templat yang diunduh di editor nano:
nano slurm.txt
Nota
Alih-alih editor nano, Anda dapat menggunakan editor teks lain yang tersedia untuk Anda, termasuk editor bawaan Azure Cloud Shell.
Di dalam antarmuka editor nano, pindah ke bagian
[[node scheduler]]
. Di bagian tersebut, temukan subbagian[[[volume shared]]]
, pindah ke barisPersistent = ${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
Nota
Jika Anda menggunakan komputer Windows, Anda dapat menempelkan konten Clipboard dengan menggunakan kombinasi tombol Shift + Insert.
Nota
Perubahan Anda menetapkan dua cakram penyimpanan Premium 128 GB dalam volume berbasis stripe yang akan secara otomatis dipasang ke node utama saat penyediaan. Volume akan memakai mountpoint /mnt/exports/ dan akan diformat secara otomatis sebagai filesystem ext4. Pengaturan
Persistent = true
menunjukkan bahwa disk akan bertahan saat Anda mengakhiri kluster, tetapi akan dihapus secara otomatis jika Anda menghapus kluster.Nota
Azure CycleCloud mengimplementasikan volume sebagai disk terkelola Azure.
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 tutup file.
Nota
Pada titik ini, Anda dapat menggunakan koneksi ke aplikasi Azure CycleCloud melalui CLI untuk mengimpor templat.
Jalankan perintah berikut untuk mengimpor templat yang Anda modifikasi dalam tugas sebelumnya ke dalam aplikasi Azure CycleCloud:
cyclecloud import_template -f ~/cyclecloud-slurm/templates/slurm.txt
Nota
Perintah akan menampilkan nama templat yang diimpor, status penjadwal (
scheduler: Off -- --
) dan jumlah total simpul (Total nodes: 1
).
Tugas 4: Mulai kluster baru dan periksa 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.
Di komputer Anda, buka jendela browser lain dan navigasikan ke URL https://<IP_address> (ganti tempat penampung <IP_address> dengan alamat IP publik server aplikasi Azure CycleCloud). Jika diminta, konfirmasikan bahwa Anda ingin melanjutkan.
Jika diminta untuk mengautentikasi, masuk dengan memberikan kredensial akun pengguna aplikasi Azure CycleCloud yang sama dengan yang Anda gunakan untuk mengonfigurasi Azure CycleCloud CLI.
Di antarmuka grafis Azure CycleCloud, navigasikan ke halaman Kluster dan pilih +.
Pada halaman Buat Kluster Baru, pilih ikon berlabel Slurm dalam bentuk segitiga isosceles dengan lingkaran kecil di setiap simpulnya.
Pada tab Tentang dari halaman Kluster Slurm Baru, masukkan contoso-custom-slurm-lab-cluster di kotak teks Nama Kluster.
Pada tab Pengaturan Diperlukan dari halaman Kluster Slurm Baru, konfigurasikan pengaturan berikut (biarkan yang lain dengan nilai default) dan pilih Berikutnya:
Pengaturan Nilai Wilayah Pilih nama wilayah Azure tempat Anda ingin menyebarkan kluster dalam latihan ini. Jenis VM Penjadwal 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. Nota
Pastikan Anda memilih ukuran VM yang mendukung tingkat Premium di Azure Storage, yang diperlukan untuk menyusun disk pada simpul utama sesuai dengan konfigurasi kustom Anda.
Pengaturan Nilai Inti Maksimum HPC Masukkan 100. Inti HTC Maks Masukkan 100. VM Maksimum per Serangkaian Skala Masukkan 40. Subnet ID Pilih cyclecloud-rg: cyclecloud-rg-vnet-contoso-slurm-lab-cluster-subnet. Pada tab Penyimpanan Terlampir Jaringan dari halaman Kluster Slurm Baru, verifikasi bahwa Jenis NFS diatur ke Bawaan, terima nilai default bahwa Ukuran (GB) diatur ke 100, dan pilih Berikutnya.
Pada tab Pengaturan Tingkat Lanjut dari halaman Kluster Slurm Baru, tinjau opsi yang tersedia tanpa membuat perubahan apa pun, dan pilih Berikutnya.
Pada tab Cloud-init halaman Kluster Slurm Baru, tinjau opsi yang tersedia tanpa membuat perubahan apa pun, dan pilih Simpan.
Pada halaman contoso-custom-slurm-lab-cluster, pilih tautan Mulai. Ketika diminta untuk mengonfirmasi, pilih OK.
Pantau proses startup.
Nota
Proses ini melibatkan provisi Azure VM yang melayani peran simpul master kluster, penginstalan, dan konfigurasi penjadwal Swarm, dan membuat dan memasang volume disk. Ini mungkin memakan waktu sekitar lima menit.
Setelah status simpul penjadwal berubah menjadi Siap, pilih entrinya pada tab Simpul, lalu pilih Tampilkan Detail untuk menampilkan tampilan terperincinya.
Di Menampilkan penjadwal di jendela pop-up kluster contoso-custom-slurm-lab-cluster, beralihlah ke tab Simpul, gulir ke bagian Volume, dan verifikasi bahwa entri nfs-1 dan nfs-2 ditampilkan pada daftar volume.
Selamat! Anda berhasil menyelesaikan latihan pertama modul ini. Dalam latihan ini, Anda menerapkan kluster berdasarkan templat Azure CycleCloud yang disesuaikan. Anda menggunakan Azure CycleCloud CLI untuk mengimpor proyek sampel yang dihosting di repositori GitHub Azure CycleCloud, termasuk salinan yang disesuaikan dari salah satu templatnya. Selanjutnya, Anda membuat kluster berdasarkan templat yang diimpor dengan antarmuka grafis Azure CycleCloud, memulainya, dan memverifikasi bahwa perubahan kustom berlaku.
Nota
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.