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
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 , , Monday Tuesday , Wednesday , , Thursday , , Friday Saturday |
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 , , None RootOnly |
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-125 AMLFS-Durable-Premium-250 AMLFS-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.
Stel uw standaardabonnement in:
az account set --subscription "<subscription-id>" az account show
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.
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'
]
}