Skapa ett Azure Managed Lustre-filsystem med hjälp av Azure Resource Manager-mallar
Du kan automatisera skapandet av ett Azure Managed Lustre-filsystem med hjälp av ARM-mallar (Azure Resource Manager). Den här artikeln förklarar den grundläggande proceduren och ger exempel på de filer som du behöver.
Den här artikeln innehåller exempel på två olika metoder för att skapa ARM-mallar:
- Använd JSON för att skapa ARM-mallar direkt. Mer information finns i JSON-mallsyntax.
- Använd Bicep, som använder enklare syntax för att ange konfigurationsinformationen. När du distribuerar mallen konverteras Bicep-filerna till ARM-mallfiler. Mer information finns i Bicep-dokumentationen.
Mer information om de här alternativen finns i Jämföra JSON och Bicep för mallar.
Välj filsystemtyp och storlek
Innan du skriver en mall måste du fatta några beslut om ditt Azure Managed Lustre-filsystem. Mer information om konfigurationsalternativen finns i konfigurationsinformationen i Skapa ett Azure Managed Lustre-filsystem.
När du använder en mall anger du en SKU för att definiera den grundläggande typen av Azure Managed Lustre-filsystem som ska skapas. SKU:n representerar en produktnivå. Den anger systemkvaliteter som typ av diskar, mängden lagringsutrymme som stöds och den maximala dataflödeskapaciteten. Om du använder Azure-portalen för att skapa ditt Azure Managed Lustre-filsystem anger du systemtypen indirekt genom att välja dess funktioner.
I följande tabell visas värdena för dataflöde och lagringsstorlek i varje SKU som stöds. Dessa SKU:er skapar ett filsystem som använder beständig SSD-lagring.
SKU | Dataflöde per TiB-lagring | Lagringsminimum | Maximal lagring | Stegvis |
---|---|---|---|---|
AMLFS-Durable-Premium-40 | 40 Mbit/s | 48 TB | 768 TB | 48 TB |
AMLFS-Durable-Premium-125 | 125 Mbit/s | 16 TB | 128 TB | 16 TB |
AMLFS-Durable-Premium-250 | 250 Mbit/s | 8 TB | 128 TB | 8 TB |
AMLFS-Durable-Premium-500 | 500 Mbit/s | 4 TB | 128 TB | 4 TB |
Om du behöver lagringsvärden som är större än det angivna maxvärdet kan du öppna ett supportärende för att utforska alternativ.
Om du vill kontrollera SKU-funktionerna kan du använda arbetsflödet för att skapa ett Hanterat Lustre-filsystem med hjälp av Azure-portalen. SKU-specifika inställningar finns på fliken Grundläggande under Information om filsystem.
Skapa en mallfil
När du har bestämt dig för konfigurationsalternativ kan du skapa en mallfil. Mallfilen är en JSON- eller Bicep-fil som innehåller konfigurationsinformationen för ditt Azure Managed Lustre-filsystem.
Egenskapsvärden för mallar
Om du vill skapa ett Azure Managed Lustre-filsystem med hjälp av en ARM-mall måste du inkludera följande information i mallfilen. Den exakta syntaxen skiljer sig mellan Bicep och JSON, så se exemplen för literalvärdena.
Filsystem
Name | Beskrivning | Värde |
---|---|---|
type | Vilken typ av resurs som ska skapas. | Microsoft.StorageCache/amlFileSystems |
apiVersion | Den version av Azure Managed Lustre-API:et som ska användas. | Använd den aktuella API-versionen, till exempel 2024-03-01 |
name | Ett unikt namn för Azure Managed Lustre-filsystemet. | sträng (krävs) |
plats | Den geo-plats där resursen finns. Använd det korta namnet i stället för visningsnamnet, till exempel i eastus stället för East US . |
sträng (krävs) |
taggar | Resurstaggar för filsystemet. | Ordlista med taggnamn och -värden; se Taggar i mallar |
sku | Prestanda-SKU för resursen. | Se SKU-namn |
identitet | Den hanterade identitet som ska användas för filsystemet, om den är konfigurerad. | Se Identitet |
egenskaper | Egenskaper för filsystemet. | Se Egenskaper |
Zoner | Tillgänglighetszoner för resurser. Det här fältet får bara innehålla ett enda element i matrisen. | string[] |
Identitet
Name | Beskrivning | Värde |
---|---|---|
type | Den typ av identitet som används för resursen. | None , UserAssigned |
userAssignedIdentities | En ordlista där varje nyckel är ett användartilldelat identitetsresurs-ID och varje nyckels värde är en tom ordlista. | Se malldokument |
Egenskaper
Name | Beskrivning | Värde |
---|---|---|
encryptionSettings | Krypteringsinställningarna för filsystemet. | Se Krypteringsinställningar |
filesystemSubnet | Det undernät som filsystemet använder. | sträng (krävs) |
Hsm | Containerinställningarna för Blob Storage för filsystemet. | Se HSM-inställningar |
underhållWindow | Anger dag och tid när systemuppdateringar kan ske. | Se Underhållsperiod (krävs) |
rootSquashSettings | Anger rot squash-inställningar för filsystemet. | Se Inställningar för rot squash |
storageCapacityTiB | Filsystemets storlek i TiB. Mer information om de tillåtna värdena för det här fältet baserat på SKU finns i Välj filsystemtyp och storlek. | int (krävs) |
Krypteringsinställningar
Name | Beskrivning | Värde |
---|---|---|
keyEncryptionKey | Anger platsen för krypteringsnyckeln i Key Vault. | Se malldokument |
HSM-inställningar
Name | Beskrivning | Värde |
---|---|---|
container | Resurs-ID för lagringscontainer som används för att hydratisera namnområdet och arkivering från namnområdet. Resursprovidern måste ha behörighet att skapa SAS-token på lagringskontot. | sträng (krävs) |
importPrefix | Endast blobar i containern som inte loggar som börjar med den här sökvägen/prefixet importeras till klusternamnområdet. Detta används endast när Azure Managed Lustre-filsystemet skapas. | sträng |
importPrefixesInitial | Endast blobar i containern som inte loggar som börjar med någon av sökvägarna/prefixen i den här matrisen importeras till klusternamnområdet. Det här värdet används endast när Azure Managed Lustre-filsystemet skapas och har /som standardvärde. | string[] |
loggingContainer | Resurs-ID för lagringscontainer som används för loggning av händelser och fel. Måste vara en separat container i samma lagringskonto som hydrerings- och arkivcontainern. Resursprovidern måste ha behörighet att skapa SAS-token på lagringskontot. | sträng (krävs) |
Kommentar
Med importPrefixesInitial
egenskapen kan du ange flera prefix för att importera data till filsystemet, samtidigt importPrefix
som du kan ange ett enda prefix. Standardvärdet för båda egenskaperna är /
. Om du definierar en av egenskaperna kan du inte definiera den andra. Om du definierar båda egenskaperna misslyckas distributionen.
Mer information finns i Importera prefix.
Underhållsperiod
Name | Beskrivning | Värde |
---|---|---|
dayOfWeek | Dag i veckan då underhållsfönstret kan inträffa. | Sunday , Monday , Tuesday , Wednesday , Thursday , , , Friday Saturday |
timeOfDayUTC | Tid på dagen (i UTC) underhållsfönstret kan inträffa. | strängExempel : 22:30 |
Egenskapen timeOfDayUTC
använder ett 24-timmars klockformat. Representerar till exempel 22:30
22:30. Mönstret är ^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
.
Inställningar för rot squash
Name | Beskrivning | Värde |
---|---|---|
läge | Squash-läge för AML-filsystemet. "Alla": Användar- och grupp-ID:t för filer är krossade till de angivna värdena för alla användare i icke-betrodda system. "RootOnly": Användar- och grupp-ID:t för filer krossas till angivna värden enbart för rotanvändaren i icke-betrodda system. "Ingen": Ingen squashing av användar- och grupp-ID:n utförs för alla användare i några system. | All , , None RootOnly |
noSquashNidLists | Semikolonavgränsad NID IP-adresslista som ska läggas till i TrustedSystems. | sträng |
squashGID | Grupp-ID att mosa till. | heltal |
squashUID | Användar-ID att mosa till. | heltal |
SKU-namn
Name | Beskrivning | Värde |
---|---|---|
name | SKU-namn för resursen. | AMLFS-Durable-Premium-40 , AMLFS-Durable-Premium-125 , , AMLFS-Durable-Premium-250 AMLFS-Durable-Premium-500 |
Distribuera filsystemet med hjälp av mallen
Följande exempelsteg använder Azure CLI-kommandon för att skapa en ny resursgrupp och skapa ett Azure Managed Lustre-filsystem i den. Stegen förutsätter att du redan har valt en filsystemtyp och storlek och skapat en mallfil enligt beskrivningen tidigare i den här artikeln. Se också till att du uppfyller alla krav.
Ange din standardprenumeration:
az account set --subscription "<subscription-id>" az account show
Du kan också skapa en ny resursgrupp för ditt Azure Managed Lustre-filsystem. Om du vill använda en befintlig resursgrupp hoppar du över det här steget och anger namnet på den befintliga resursgruppen när du kör mallkommandot.
az group create --name <rg-name> --location <region-short-name>
Filsystemet kan använda resurser utanför sin egen resursgrupp, så länge de finns i samma prenumeration.
Distribuera Azure Managed Lustre-filsystemet med hjälp av mallen. Syntaxen beror på om du använder JSON- eller Bicep-filer, tillsammans med antalet filer.
Du kan distribuera både Bicep- och JSON-mallar som enskilda filer eller flera filer. Mer information och om du vill se den exakta syntaxen för varje alternativ finns i dokumentationen för ARM-mallen.
Exempel på JSON-kommando:
az deployment group create \ --name <example-deployment> \ --resource-group <resource-group-name> \ --template-file azlustre-template.json
Exempel på Bicep-kommando:
az deployment group create \ --resource-group <ResourceGroupName> \ --template-file azlustre.bicep
JSON-exempel
Det här avsnittet visar exempelinnehåll för en JSON-mallfil. Du kan ta bort valfria parametrar när du skapar en egen ARM-mall.
{
"$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-exempel
Det här avsnittet visar exempelinnehåll för en Bicep-fil. Du kan ta bort valfria parametrar när du skapar egna.
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'
]
}