Membuat sistem file Azure Managed Lustre dengan menggunakan templat Azure Resource Manager
Anda dapat mengotomatiskan pembuatan sistem file Azure Managed Lustre dengan menggunakan templat Azure Resource Manager (ARM). Artikel ini menjelaskan prosedur dasar dan memberikan contoh file yang Anda butuhkan.
Artikel ini memberikan contoh dua metode berbeda untuk membuat templat ARM:
- Gunakan JSON untuk membuat templat ARM secara langsung. Untuk mempelajari selengkapnya, lihat sintaks templat JSON.
- Gunakan Bicep, yang menggunakan sintaks yang lebih sederhana untuk menyediakan detail konfigurasi. Saat Anda menyebarkan templat, file Bicep dikonversi menjadi file templat ARM. Untuk mempelajari selengkapnya, lihat Dokumentasi Bicep.
Untuk mempelajari selengkapnya tentang opsi ini, lihat Membandingkan JSON dan Bicep untuk templat.
Pilih jenis dan ukuran sistem file
Sebelum menulis templat, Anda harus membuat beberapa keputusan tentang sistem file Azure Managed Lustre Anda. Untuk mempelajari selengkapnya tentang opsi konfigurasi, lihat detail penyiapan di Membuat sistem file Azure Managed Lustre.
Saat Anda menggunakan templat, tentukan SKU untuk menentukan jenis dasar sistem file Azure Managed Lustre untuk dibuat. SKU mewakili tingkat produk. Ini menetapkan kualitas sistem seperti jenis disk, jumlah penyimpanan yang didukung, dan kapasitas throughput maksimum. Jika Anda menggunakan portal Azure untuk membuat sistem file Azure Managed Lustre, Anda menentukan jenis sistem secara tidak langsung dengan memilih kemampuannya.
Tabel berikut ini memperlihatkan nilai untuk throughput dan ukuran penyimpanan di setiap SKU yang didukung. SKU ini membuat sistem file yang menggunakan penyimpanan SSD tahan lama.
SKU | Throughput per penyimpanan TiB | Minimum penyimpanan | Maksimum penyimpanan | Peningkatan |
---|---|---|---|---|
AMLFS-Durable-Premium-40 | 40 MBps | 48 TB | 768 TB | 48 TB |
AMLFS-Durable-Premium-125 | 125 MBps | 16 TB | 128 TB | 16 TB |
AMLFS-Durable-Premium-250 | 250 MBps | 8 TB | 128 TB | 8 TB |
AMLFS-Durable-Premium-500 | 500 MBps | 4 TB | 128 TB | 4 TB |
Jika Anda memerlukan nilai penyimpanan yang lebih besar dari maksimum yang tercantum, Anda dapat membuka tiket dukungan untuk menjelajahi opsi.
Untuk memeriksa kemampuan SKU, Anda dapat menggunakan alur kerja untuk membuat sistem file Lustre Terkelola dengan menggunakan portal Azure. Pengaturan khusus SKU ada di tab Dasar di bawah Detail sistem file.
Membuat file templat
Setelah memutuskan opsi konfigurasi, Anda dapat membuat file templat. File templat adalah file JSON atau Bicep yang berisi detail konfigurasi untuk sistem file Azure Managed Lustre Anda.
Nilai properti templat
Untuk membuat sistem file Azure Managed Lustre dengan menggunakan templat ARM, Anda perlu menyertakan informasi berikut dalam file templat Anda. Sintaks yang tepat berbeda antara Bicep dan JSON, jadi lihat contoh untuk nilai harfiah.
Sistem file
Nama | Deskripsi | Nilai |
---|---|---|
jenis | Jenis sumber daya yang akan dibuat. | Microsoft.StorageCache/amlFileSystems |
apiVersion | Versi Api Azure Managed Lustre yang akan digunakan. | Gunakan versi API saat ini, misalnya, 2024-03-01 |
nama | Nama unik untuk sistem file Azure Managed Lustre. | string (diperlukan) |
lokasi | Lokasi geografis tempat sumber daya berada. Gunakan nama pendek daripada nama tampilan, misalnya, gunakan eastus alih-alih East US . |
string (diperlukan) |
tag | Tag sumber daya untuk sistem file. | Kamus nama dan nilai tag; lihat Tag dalam templat |
sku | SKU performa untuk sumber daya. | Lihat nama SKU |
identitas | Identitas terkelola yang digunakan untuk sistem file, jika dikonfigurasi. | Lihat Identitas |
properti | Properti untuk sistem file. | Lihat Properti |
zona | Zona ketersediaan untuk sumber daya. Bidang ini hanya boleh berisi satu elemen dalam array. | string[] |
Identitas
Nama | Deskripsi | Nilai |
---|---|---|
jenis | Jenis identitas yang digunakan untuk sumber daya. | None , UserAssigned |
userAssignedIdentities | Kamus di mana setiap kunci adalah ID sumber daya identitas yang ditetapkan pengguna, dan setiap nilai kunci adalah kamus kosong. | Lihat dokumen templat |
Properti
Nama | Deskripsi | Nilai |
---|---|---|
encryptionSettings | Pengaturan enkripsi untuk sistem file. | Lihat Pengaturan enkripsi |
filesystemSubnet | Subnet yang digunakan sistem file. | string (diperlukan) |
Hsm | Pengaturan kontainer Blob Storage untuk sistem file. | Lihat pengaturan HSM |
maintenanceWindow | Menentukan hari dan waktu ketika pembaruan sistem dapat terjadi. | Lihat Jendela pemeliharaan (diperlukan) |
rootSquashSettings | Menentukan pengaturan root squash untuk sistem file. | Lihat Pengaturan root squash |
storageCapacityTiB | Ukuran sistem file, di TiB. Untuk mempelajari selengkapnya tentang nilai yang diizinkan untuk bidang ini berdasarkan SKU, lihat Memilih jenis dan ukuran sistem file. | int (diperlukan) |
Pengaturan enkripsi
Nama | Deskripsi | Nilai |
---|---|---|
keyEncryptionKey | Menentukan lokasi kunci enkripsi di Key Vault. | Lihat dokumen templat |
Pengaturan HSM
Nama | Deskripsi | Nilai |
---|---|---|
kontainer | ID sumber daya kontainer penyimpanan yang digunakan untuk menghidrasi namespace layanan dan pengarsipan dari namespace. Penyedia sumber daya harus memiliki izin untuk membuat token SAS di akun penyimpanan. | string (diperlukan) |
importPrefix | Hanya blob dalam kontainer non-pengelogan yang dimulai dengan jalur/awalan ini yang diimpor ke namespace kluster. Ini hanya digunakan selama pembuatan awal sistem file Azure Managed Lustre. | string |
importPrefixesInitial | Hanya blob dalam kontainer non-pengelogan yang dimulai dengan salah satu jalur/awalan dalam array ini yang diimpor ke namespace kluster. Nilai ini hanya digunakan selama pembuatan awal sistem file Azure Managed Lustre dan memiliki '/' sebagai nilai default. | string[] |
loggingContainer | ID sumber daya kontainer penyimpanan yang digunakan untuk mencatat peristiwa dan kesalahan. Harus berupa kontainer terpisah di akun penyimpanan yang sama dengan kontainer hidrasi dan arsip. Penyedia sumber daya harus memiliki izin untuk membuat token SAS di akun penyimpanan. | string (diperlukan) |
Catatan
Properti importPrefixesInitial
ini memungkinkan Anda menentukan beberapa awalan untuk mengimpor data ke dalam sistem file, sambil importPrefix
memungkinkan Anda menentukan satu awalan. Nilai default untuk kedua properti adalah /
. Jika Anda menentukan salah satu properti, Anda tidak dapat menentukan properti lainnya. Jika Anda menentukan kedua properti, penyebaran gagal.
Untuk mempelajari selengkapnya, lihat Mengimpor awalan.
Jendela pemeliharaan
Nama | Deskripsi | Nilai |
---|---|---|
dayOfWeek | Hari dalam seminggu di mana jendela pemeliharaan dapat terjadi. | Sunday , , Monday Tuesday , Wednesday , Thursday , , Friday ,Saturday |
timeOfDayUTC | Waktu hari (dalam UTC) jendela pemeliharaan dapat terjadi. | Contoh string : 22:30 |
Properti timeOfDayUTC
menggunakan format jam 24 jam. Misalnya, 22:30
mewakili 22.30. Polanya adalah ^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
.
Pengaturan root squash
Nama | Deskripsi | Nilai |
---|---|---|
mode | Mode squash dari sistem file AML. 'Semua': ID Pengguna dan Grup pada file digencet ke nilai yang disediakan untuk semua pengguna pada sistem yang tidak tepercaya. 'RootOnly': ID Pengguna dan Grup pada file digencet ke nilai yang disediakan hanya untuk pengguna root pada sistem yang tidak tepercaya. 'None': Tidak ada squashing ID Pengguna dan Grup yang dilakukan untuk setiap pengguna pada sistem apa pun. | All , , None RootOnly |
noSquashNidLists | Daftar alamat IP NID yang dipisahkan titik koma untuk ditambahkan ke TrustedSystems. | string |
squashGID | ID Grup untuk di-squash. | int |
squashUID | ID pengguna untuk di-squash. | int |
Nama SKU
Nama | Deskripsi | Nilai |
---|---|---|
nama | Nama SKU untuk sumber daya. | AMLFS-Durable-Premium-40 , , AMLFS-Durable-Premium-125 AMLFS-Durable-Premium-250 ,AMLFS-Durable-Premium-500 |
Menyebarkan sistem file dengan menggunakan templat
Contoh langkah-langkah berikut menggunakan perintah Azure CLI untuk membuat grup sumber daya baru dan membuat sistem file Azure Managed Lustre di dalamnya. Langkah-langkah mengasumsikan bahwa Anda sudah memilih jenis dan ukuran sistem file dan membuat file templat, seperti yang dijelaskan sebelumnya dalam artikel ini. Pastikan juga Anda memenuhi semua prasyarat.
Atur langganan default Anda:
az account set --subscription "<subscription-id>" az account show
Secara opsional, buat grup sumber daya baru untuk sistem file Azure Managed Lustre Anda. Jika Anda ingin menggunakan grup sumber daya yang sudah ada, lewati langkah ini dan berikan nama grup sumber daya yang ada saat Anda menjalankan perintah templat.
az group create --name <rg-name> --location <region-short-name>
Sistem file Anda dapat menggunakan sumber daya di luar grup sumber dayanya sendiri, selama mereka berada dalam langganan yang sama.
Sebarkan sistem file Azure Managed Lustre dengan menggunakan templat. Sintaks tergantung pada apakah Anda menggunakan file JSON atau Bicep, bersama dengan jumlah file.
Anda dapat menyebarkan templat Bicep dan JSON sebagai file tunggal atau beberapa file. Untuk informasi selengkapnya dan untuk melihat sintaks yang tepat untuk setiap opsi, lihat dokumentasi templat ARM.
Contoh perintah JSON:
az deployment group create \ --name <example-deployment> \ --resource-group <resource-group-name> \ --template-file azlustre-template.json
Contoh perintah Bicep:
az deployment group create \ --resource-group <ResourceGroupName> \ --template-file azlustre.bicep
Contoh JSON
Bagian ini memperlihatkan contoh konten untuk file templat JSON. Anda dapat menghapus parameter opsional saat membuat templat ARM Anda sendiri.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.StorageCache/amlFilesystems",
"apiVersion": "2024-03-01",
"name": "amlfs-example",
"location": "eastus",
"tags": {
"Dept": "ContosoAds"
},
"sku": {
"name": "AMLFS-Durable-Premium-250"
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>": {}
}
},
"properties": {
"encryptionSettings": {
"keyEncryptionKey": {
"keyUrl": "https://<keyvault-name>.vault.azure.net/keys/kvk/<key>",
"sourceVault": {
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>"
}
}
},
"filesystemSubnet": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>",
"hsm": {
"settings": {
"container": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>",
"loggingContainer": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<logging-container-name>",
"importPrefixesInitial": [
"/"
]
}
},
"maintenanceWindow": {
"dayOfWeek": "Saturday",
"timeOfDayUTC": "22:00"
},
"rootSquashSettings": {
"mode": "All",
"noSquashNidLists": "10.0.0.[5-6]@tcp;10.0.1.2@tcp",
"squashGID": "99",
"squashUID": "99"
},
"storageCapacityTiB": "16"
},
"zones": [
"1"
],
}
],
"outputs": {}
}
Contoh Bicep
Bagian ini memperlihatkan contoh konten untuk file Bicep. Anda dapat menghapus parameter opsional saat membuat parameter Anda sendiri.
resource filesystem 'Microsoft.StorageCache/amlFilesystems@2024-03-01' = {
name: 'amlfs-example'
location: 'eastus'
tags: {
Dept: 'ContosoAds'
}
sku: {
name: 'AMLFS-Durable-Premium-250'
}
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>': {}
}
}
properties: {
encryptionSettings: {
keyEncryptionKey: {
keyUrl: 'https://<keyvault-name>.vault.azure.net/keys/kvk/<key>'
sourceVault: {
id: '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>'
}
}
}
filesystemSubnet: '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>'
hsm: {
settings: {
container: '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>'
importPrefixesInitial: [
'/'
]
loggingContainer: '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/<rg-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<logging-container-name>'
}
}
maintenanceWindow: {
dayOfWeek: 'Saturday'
timeOfDayUTC: '22:00'
}
rootSquashSettings: {
mode: 'All'
noSquashNidLists: '10.0.0.[5-6]@tcp;10.0.1.2@tcp'
squashGID: 99
squashUID: 99
}
storageCapacityTiB: 16
}
zones: [
'1'
]
}