Delen via


Een Azure Managed Lustre-bestandssysteem maken met behulp van Azure Resource Manager-sjablonen

U kunt het maken van een Azure Managed Lustre-bestandssysteem automatiseren met behulp van ARM-sjablonen (Azure Resource Manager). In dit artikel wordt de basisprocedure uitgelegd en worden voorbeelden weergegeven van de bestanden die u nodig hebt.

Dit artikel bevat voorbeelden van twee verschillende methoden voor het maken van ARM-sjablonen:

  • Gebruik JSON om RECHTSTREEKS ARM-sjablonen te maken. Zie JSON-sjabloonsyntaxis voor meer informatie.
  • Gebruik Bicep, waarvoor eenvoudigere syntaxis wordt gebruikt om de configuratiedetails op te geven. Wanneer u de sjabloon implementeert, worden de Bicep-bestanden geconverteerd naar ARM-sjabloonbestanden. Zie de Bicep-documentatie voor meer informatie.

Zie JSON en Bicep vergelijken voor sjablonen voor meer informatie over deze opties.

Type en grootte van bestandssysteem kiezen

Voordat u een sjabloon schrijft, moet u enkele beslissingen nemen over uw Azure Managed Lustre-bestandssysteem. Zie de configuratiedetails in Een Azure Managed Lustre-bestandssysteem maken voor meer informatie over de configuratieopties.

Wanneer u een sjabloon gebruikt, geeft u een SKU op om het basistype van het Azure Managed Lustre-bestandssysteem te definiëren dat moet worden gemaakt. De SKU vertegenwoordigt een productlaag. Het stelt systeemkwaliteiten in, zoals het type schijven, de ondersteunde hoeveelheid opslagruimte en de maximale doorvoercapaciteit. Als u Azure Portal gebruikt om uw Azure Managed Lustre-bestandssysteem te maken, geeft u het systeemtype indirect op door de mogelijkheden ervan te selecteren.

In de volgende tabel ziet u de waarden voor doorvoer en opslaggrootte in elke ondersteunde SKU. Deze SKU's maken een bestandssysteem dat gebruikmaakt van duurzame SSD-opslag.

SKU Doorvoer per TiB-opslag Opslag minimum Maximale opslag Verhoging
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

Als u opslagwaarden nodig hebt die groter zijn dan het vermelde maximum, kunt u een ondersteuningsticket openen om opties te verkennen.

Als u de SKU-mogelijkheden wilt controleren, kunt u de werkstroom gebruiken voor het maken van een managed Lustre-bestandssysteem met behulp van Azure Portal. SKU-specifieke instellingen bevinden zich op het tabblad Basisbeginselen onder Bestandssysteemdetails.

Een sjabloonbestand maken

Nadat u de configuratieopties hebt bepaald, kunt u een sjabloonbestand maken. Het sjabloonbestand is een JSON- of Bicep-bestand dat de configuratiegegevens voor uw Azure Managed Lustre-bestandssysteem bevat.

Waarden van sjablooneigenschap

Als u een Azure Managed Lustre-bestandssysteem wilt maken met behulp van een ARM-sjabloon, moet u de volgende informatie opnemen in uw sjabloonbestand. De exacte syntaxis verschilt tussen Bicep en JSON, dus raadpleeg de voorbeelden voor de letterlijke waarden.

Bestandssysteem

Name Beschrijving Waarde
type Het type resource dat moet worden gemaakt. Microsoft.StorageCache/amlFileSystems
apiVersion De versie van de Azure Managed Lustre-API die moet worden gebruikt. Gebruik bijvoorbeeld de huidige API-versie 2024-03-01
naam Een unieke naam voor het Azure Managed Lustre-bestandssysteem. tekenreeks (vereist)
locatie De geografische locatie waar de resource zich bevindt. Gebruik de korte naam in plaats van de weergavenaam, eastus bijvoorbeeld in plaats van East US. tekenreeks (vereist)
tags Resourcetags voor het bestandssysteem. Woordenlijst met tagnamen en -waarden; zie Tags in sjablonen
sku Prestatie-SKU voor de resource. SKU-naam weergeven
identity De beheerde identiteit die moet worden gebruikt voor het bestandssysteem, indien geconfigureerd. Identiteit weergeven
properties Eigenschappen voor het bestandssysteem. Eigenschappen weergeven
Zones Beschikbaarheidszones voor resources. Dit veld mag slechts één element in de matrix bevatten. tekenreeks[]

Identiteit

Name Beschrijving Waarde
type Het type identiteit dat wordt gebruikt voor de resource. None, UserAssigned
userAssignedIdentities Een woordenlijst waarbij elke sleutel een door de gebruiker toegewezen id is en de waarde van elke sleutel een lege woordenlijst is. Sjabloondocumenten bekijken

Eigenschappen

Name Beschrijving Waarde
encryptionSettings De versleutelingsinstellingen voor het bestandssysteem. Versleutelingsinstellingen weergeven
bestandssysteemSubnet Het subnet dat het bestandssysteem gebruikt. tekenreeks (vereist)
Hsm De Blob Storage-containerinstellingen voor het bestandssysteem. HSM-instellingen weergeven
maintenanceWindow Hiermee geeft u de dag en tijd op waarop systeemupdates kunnen plaatsvinden. Zie het onderhoudsvenster (vereist)
rootSquashSettings Hiermee geeft u root squash-instellingen voor het bestandssysteem. Zie Root squash-instellingen
storageCapacityTiB De grootte van het bestandssysteem, in TiB. Zie Type en grootte van het bestandssysteem kiezen voor meer informatie over de toegestane waarden voor dit veld op basis van de SKU. int (vereist)

Versleutelingsinstellingen

Name Beschrijving Waarde
keyEncryptionKey Hiermee geeft u de locatie van de versleutelingssleutel in Key Vault. Sjabloondocumenten bekijken

HSM-instellingen

Name Beschrijving Waarde
container Resource-id van opslagcontainer die wordt gebruikt voor het hydrateren van de naamruimte en het archiveren van de naamruimte. De resourceprovider moet gemachtigd zijn om SAS-tokens te maken in het opslagaccount. tekenreeks (vereist)
importPrefix Alleen blobs in de container zonder logboekregistratie die beginnen met dit pad/voorvoegsel worden geïmporteerd in de clusternaamruimte. Dit wordt alleen gebruikt tijdens het maken van het Azure Managed Lustre-bestandssysteem. tekenreeks
importPrefixesInitial Alleen blobs in de niet-logboekregistratiecontainer die beginnen met een van de paden/voorvoegsels in deze matrix, worden geïmporteerd in de clusternaamruimte. Deze waarde wordt alleen gebruikt tijdens het maken van het Azure Managed Lustre-bestandssysteem en heeft '/' als standaardwaarde. tekenreeks[]
loggingContainer Resource-id van opslagcontainer die wordt gebruikt voor het vastleggen van gebeurtenissen en fouten. Moet een afzonderlijke container in hetzelfde opslagaccount zijn als de hydratatie- en archiefcontainer. De resourceprovider moet gemachtigd zijn om SAS-tokens te maken in het opslagaccount. tekenreeks (vereist)

Notitie

Met de importPrefixesInitial eigenschap kunt u meerdere voorvoegsels opgeven voor het importeren van gegevens in het bestandssysteem, terwijl importPrefix u één voorvoegsel kunt opgeven. De standaardwaarde voor beide eigenschappen is /. Als u een van de eigenschappen definieert, kunt u de andere niet definiëren. Als u beide eigenschappen definieert, mislukt de implementatie.

Zie Voorvoegsel importeren voor meer informatie.

Onderhoudsvenster

Name Beschrijving Waarde
dayOfWeek Dag van de week waarop het onderhoudsvenster kan plaatsvinden. Sunday, , MondayTuesday, Wednesday, , Thursday, , FridaySaturday
timeOfDayUTC Het onderhoudsvenster kan plaatsvinden op het tijdstip van de dag (in UTC). tekenreeksvoorbeeld
: 22:30

De timeOfDayUTC eigenschap maakt gebruik van een 24-uurs kloknotatie. Vertegenwoordigt bijvoorbeeld 22:30 10:30 PM. Het patroon is ^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$.

Root squashinstellingen

Name Beschrijving Waarde
modus Squashmodus van het AML-bestandssysteem. 'Alle': gebruikers- en groeps-id's op bestanden worden verpletterd tot de opgegeven waarden voor alle gebruikers op niet-vertrouwde systemen. 'RootOnly': gebruikers- en groeps-id's op bestanden worden verpletterd tot opgegeven waarden voor alleen de hoofdgebruiker op niet-vertrouwde systemen. 'Geen': er worden geen gebruikers- en groeps-id's geplet voor alle gebruikers op systemen. All, , NoneRootOnly
noSquashNidLists Door puntkomma's gescheiden NID IP-adreslijst die moet worden toegevoegd aan de TrustedSystems. tekenreeks
squashGID Groeps-id waaraan moet worden geplet. int
squashUID Gebruikers-id waaraan moet worden geplet. int

SKU-naam

Name Beschrijving Waarde
naam SKU-naam voor de resource. AMLFS-Durable-Premium-40, , , AMLFS-Durable-Premium-125AMLFS-Durable-Premium-250AMLFS-Durable-Premium-500

Het bestandssysteem implementeren met behulp van de sjabloon

In de volgende voorbeeldstappen worden Azure CLI-opdrachten gebruikt om een nieuwe resourcegroep te maken en er een Azure Managed Lustre-bestandssysteem in te maken. Bij de stappen wordt ervan uitgegaan dat u al een bestandssysteemtype en -grootte hebt gekozen en een sjabloonbestand hebt gemaakt, zoals eerder in dit artikel is beschreven. Zorg er ook voor dat u aan alle vereisten voldoet.

  1. Stel uw standaardabonnement in:

    az account set --subscription "<subscription-id>"
    az account show
    
  2. Maak desgewenst een nieuwe resourcegroep voor uw Azure Managed Lustre-bestandssysteem. Als u een bestaande resourcegroep wilt gebruiken, slaat u deze stap over en geeft u de naam van de bestaande resourcegroep op wanneer u de sjabloonopdracht uitvoert.

    az group create --name <rg-name> --location <region-short-name>
    

    Uw bestandssysteem kan resources buiten een eigen resourcegroep gebruiken, zolang ze zich in hetzelfde abonnement bevinden.

  3. Implementeer het Azure Managed Lustre-bestandssysteem met behulp van de sjabloon. De syntaxis is afhankelijk van of u JSON- of Bicep-bestanden gebruikt, samen met het aantal bestanden.

    U kunt zowel Bicep- als JSON-sjablonen implementeren als één of meerdere bestanden. Zie de documentatie van de ARM-sjabloon voor meer informatie en om de exacte syntaxis voor elke optie te zien.

    Voorbeeld van JSON-opdracht:

    az deployment group create \
      --name <example-deployment> \
      --resource-group <resource-group-name> \
      --template-file azlustre-template.json
    

    Voorbeeld van Bicep-opdracht:

    az deployment group create \
     --resource-group <ResourceGroupName> \
     --template-file azlustre.bicep
    

JSON-voorbeeld

In deze sectie ziet u voorbeeldinhoud voor een JSON-sjabloonbestand. U kunt optionele parameters verwijderen bij het maken van uw eigen ARM-sjabloon.

{
    "$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": {}
}

Bicep-voorbeeld

In deze sectie ziet u voorbeeldinhoud voor een Bicep-bestand. U kunt optionele parameters verwijderen bij het maken van uw eigen parameters.

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