Bagikan melalui


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, , MondayTuesday, 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, , NoneRootOnly
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-125AMLFS-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.

  1. Atur langganan default Anda:

    az account set --subscription "<subscription-id>"
    az account show
    
  2. 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.

  3. 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'
  ]
}