Latihan — Menambahkan disk ke node penjadwal kluster HPC
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.
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.
Dari portal Microsoft Azure, buka Cloud Shell dengan memilih ikon dari toolbar di samping kotak teks pencarian.
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.
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>
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
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.
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 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
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.
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.
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, misalnyacc-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 selamaUpload failed!
salinan individu file proyek berhasil. Untuk mengonfirmasi hal ini, verifikasi bahwa status pekerjaan akhir terdaftar sebagaiCompleted
, 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.
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
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
Catatan
Selain editor nano, Anda dapat menggunakan editor teks lain yang tersedia untuk Anda, termasuk editor bawaan Azure Cloud Shell.
Dalam antarmuka editor nano, pindah ke bagian
[[node scheduler]]
. Di bagian tersebut[[[volume shared]]]
, temukan subbagian, 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
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.
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.
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.
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.
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.
Di antarmuka grafis Azure CycleCloud, navigasikan ke halaman Kluster dan pilih +.
Pada halaman Buat Kluster Baru, pilih ikon berlabel Slurm dalam bentuk segitiga sama kaki dengan lingkaran kecil di setiap nodenya.
Pada tab Tentang dari halaman Kluster Slurm Baru, masukkan contoso-custom-slurm-lab-cluster di kotak teks Nama Kluster.
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. 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.
Pada tab Pengaturan Tingkat Lanjut dari halaman Kluster Slurm Baru, tinjau opsi yang tersedia tanpa membuat perubahan apa pun, lalu pilih Berikutnya.
Pada tab Cloud-init dari halaman Kluster Slurm Baru, pantau opsi yang tersedia tanpa membuat perubahan apa pun, lalu pilih Simpan.
Pada halaman contoso-custom-slurm-lab-cluster, pilih tautan Mulai. Ketika diminta untuk mengonfirmasi, pilih OK.
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.
Setelah status simpul penjadwal berubah menjadi Siap, pilih entrinya pada tab Simpul , lalu pilih Perlihatkan Detail untuk menampilkan tampilan terperincinya.
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.
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.