Erstellen eines Azure Managed Lustre-Dateisystems mithilfe von Azure Resource Manager-Vorlagen
Sie können die Erstellung eines Azure Managed Lustre-Dateisystems automatisieren, indem Sie Azure Resource Manager (ARM)-Vorlagen verwenden. In diesem Artikel wird das grundlegende Verfahren erläutert und Beispiele für die benötigten Dateien bereitgestellt.
Dieser Artikel enthält Beispiele für zwei verschiedene Methoden zum Erstellen von ARM-Vorlagen:
- Verwenden Sie JSON, um ARM-Vorlagen direkt zu erstellen. Weitere Informationen finden Sie unter JSON-Vorlagensyntax.
- Verwenden Sie Bicep, die eine einfachere Syntax verwendet, um die Konfigurationsdetails zu liefern. Wenn Sie die Vorlage bereitstellen, werden die Bicep-Dateien in ARM-Vorlagendateien konvertiert. Weitere Informationen finden Sie in der Bicep-Dokumentation.
Weitere Informationen zu diesen Optionen finden Sie unter Vergleich von JSON und Bicep für Vorlagen.
Dateisystemtyp und -größe auswählen
Bevor Sie eine Vorlage schreiben, müssen Sie einige Entscheidungen zu Ihrem Azure Managed Lustre-Dateisystem treffen. Weitere Informationen zu den Konfigurationsoptionen finden Sie in den Setupdetails unter Erstellen eines Azure Managed Lustre-Dateisystems.
Wenn Sie eine Vorlage verwenden, geben Sie eine SKU an, um den grundlegenden Typ des zu erstellenden Azure Managed Lustre-Dateisystems zu definieren. Die SKU stellt eine Produktebene dar. Es legt Systemqualitäten wie den Typ der Datenträger, die unterstützte Speichermenge und die maximale Durchsatzkapazität fest. Wenn Sie das Azure-Portal verwenden, um Ihr Azure Managed Lustre-Dateisystem zu erstellen, geben Sie den Systemtyp indirekt an, indem Sie dessen Funktionen auswählen.
In der folgenden Tabelle sind die Werte für Durchsatz und Speichergröße in jeder unterstützten SKU aufgeführt. Diese SKUs erstellen ein Dateisystem, das dauerhaften SSD-Speicher verwendet.
SKU | Durchsatz pro TiB Speicher | Mindestspeicher | Maximaler Speicher | Increment |
---|---|---|---|---|
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 |
Wenn Sie Speicherwerte benötigen, die größer als das aufgeführte Maximum sind, können Sie ein Supportticket öffnen, um Optionen zu erkunden.
Um SKU-Funktionen zu überprüfen, können Sie den Workflow zum Erstellen eines Managed Lustre-Dateisystems mithilfe der Azure-Portal verwenden. SKU-spezifische Einstellungen befinden sich auf der Registerkarte "Grundlagen " unter "Dateisystemdetails".
Erstellen einer Vorlagendatei
Nachdem Sie sich für Die Konfigurationsoptionen entschieden haben, können Sie eine Vorlagendatei erstellen. Die Vorlagendatei ist eine JSON- oder Bicep-Datei, die die Konfigurationsdetails für Ihr Azure Managed Lustre-Dateisystem enthält.
Vorlageneigenschaftenwerte
Um ein Azure Managed Lustre-Dateisystem mithilfe einer ARM-Vorlage zu erstellen, müssen Sie die folgenden Informationen in die Vorlagendatei aufnehmen. Die genaue Syntax unterscheidet sich zwischen Bicep und JSON. Lesen Sie daher die Beispiele für die Literalwerte.
Dateisystem
Name | Beschreibung | Wert |
---|---|---|
Typ | Der Typ der zu erstellenden Ressource. | Microsoft.StorageCache/amlFileSystems |
apiVersion | Die zu verwendende Version der Azure Managed Lustre-API. | Verwenden Der aktuellen API-Version, z. B. 2024-03-01 |
name | Ein eindeutiger Name für das Azure Managed Lustre-Dateisystem. | Zeichenfolge (erforderlich) |
location | Der geografische Standort, an dem sich die Ressource befindet. Verwenden Sie den Kurznamen anstelle des Anzeigenamens, z. B. anstelle eastus von East US . |
Zeichenfolge (erforderlich) |
Tags | Ressourcentags für das Dateisystem. | Wörterbuch von Tagnamen und Werten; siehe Kategorien in Vorlagen |
sku | Leistungs-SKU für die Ressource. | Siehe SKU-Name |
identity | Die verwaltete Identität, die für das Dateisystem verwendet werden soll, falls konfiguriert. | Identität anzeigen |
properties | Eigenschaften für das Dateisystem. | Eigenschaften anzeigen |
zonen | Verfügbarkeitszonen für Ressourcen. Dieses Feld darf nur ein einzelnes Element im Array enthalten. | string[] |
Identität
Eigenschaften
Name des Dataflows | Beschreibung | Wert |
---|---|---|
encryptionSettings | Die Verschlüsselungseinstellungen für das Dateisystem. | Siehe Verschlüsselungseinstellungen |
filesystemSubnet | Das Subnetz, das vom Dateisystem verwendet wird. | Zeichenfolge (erforderlich) |
Hsm | Die Blob Storage-Containereinstellungen für das Dateisystem. | Siehe HSM-Einstellungen |
maintenanceWindow | Gibt Tag und Uhrzeit an, zu dem Systemupdates auftreten können. | Siehe Wartungsfenster (erforderlich) |
rootSquashSettings | Gibt Stammeinstellungen für das Dateisystem an. | Siehe Stamm-Root-Einstellungen |
storageCapacityTiB | Die Größe des Dateisystems in TiB. Weitere Informationen zu den zulässigen Werten für dieses Feld basierend auf der SKU finden Sie unter Auswählen des Dateisystemtyps und der Größe. | int (erforderlich) |
Verschlüsselungseinstellungen
Name | Beschreibung | Wert |
---|---|---|
keyEncryptionKey | Gibt den Speicherort des Verschlüsselungsschlüssels im Key Vault an. | Vorlagendokumente anzeigen |
HSM-Einstellungen
Name | Beschreibung | Wert |
---|---|---|
Container | Ressourcen-ID des Speichercontainers, der für die Hydratisierung des Namespace und die Archivierung aus dem Namespace verwendet wird. Der Ressourcenanbieter muss über die Berechtigung zum Erstellen von SAS-Token für das Speicherkonto verfügen. | Zeichenfolge (erforderlich) |
importPrefix | Nur Blobs im Nichtprotokollierungscontainer, die mit diesem Pfad/Präfix beginnen, werden in den Clusternamespace importiert. Dies wird nur bei der ersten Erstellung des Azure Managed Lustre-Dateisystems verwendet. | Zeichenfolge |
importPrefixesInitial | Nur Blobs im Nichtprotokollierungscontainer, die mit einem der Pfade/Präfixe in diesem Array beginnen, werden in den Clusternamespace importiert. Dieser Wert wird nur bei der ersten Erstellung des Azure Managed Lustre-Dateisystems verwendet und hat "/" als Standardwert. | string[] |
loggingContainer | Ressourcen-ID des Speichercontainers, der zum Protokollieren von Ereignissen und Fehlern verwendet wird. Muss ein separater Container im selben Speicherkonto wie der Hydratations- und Archivcontainer sein. Der Ressourcenanbieter muss über die Berechtigung zum Erstellen von SAS-Token für das Speicherkonto verfügen. | Zeichenfolge (erforderlich) |
Hinweis
Mit der importPrefixesInitial
Eigenschaft können Sie mehrere Präfixe für das Importieren von Daten in das Dateisystem angeben, während importPrefix
Sie ein einzelnes Präfix angeben können. Der Standardwert für beide Eigenschaften lautet /
. Wenn Sie eine der Eigenschaften definieren, können Sie die andere nicht definieren. Wenn Sie beide Eigenschaften definieren, schlägt die Bereitstellung fehl.
Weitere Informationen finden Sie unter "Präfix importieren".
Wartungsfenster
Name | Beschreibung | Wert |
---|---|---|
dayOfWeek | Tag der Woche, an dem das Wartungsfenster auftreten kann. | Sunday , , Monday Tuesday , Wednesday , Thursday , , Friday Saturday |
timeOfDayUTC | Die Tageszeit (in UTC) kann das Wartungsfenster auftreten. | Zeichenfolgenbeispiel : 22:30 |
Die timeOfDayUTC
Eigenschaft verwendet ein 24-Stunden-Format. Stellt beispielsweise 22:30
10:30 Uhr dar. Das Muster lautet ^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
.
Stamm-Root-Einstellungen
Name | Beschreibung | Wert |
---|---|---|
Modus | Moderationsmodus des AML-Dateisystems. "Alle": Benutzer- und Gruppen-IDs für Dateien werden auf die bereitgestellten Werte für alle Benutzer auf nicht vertrauenswürdigen Systemen ausgerichtet. 'RootOnly': Benutzer- und Gruppen-IDs für Dateien werden auf bereitgestellte Werte für den Stammbenutzer auf nicht vertrauenswürdigen Systemen ausgerichtet. "Keine": Für Benutzer- und Gruppen-IDs auf allen Systemen wird keine Zwischenspeicherung durchgeführt. | All , None RootOnly |
noSquashNidLists | Semikolonstrennte NID-IP-Adressliste, die der TrustedSystems hinzugefügt werden soll. | Zeichenfolge |
rückungGID | Gruppen-ID, auf die sie eingerückt werden sollen. | int |
uiUID | Benutzer-ID, auf die zu drücken ist. | int |
SKU-Name
Name | Beschreibung | Wert |
---|---|---|
name | SKU-Name für die Ressource. | AMLFS-Durable-Premium-40 , , AMLFS-Durable-Premium-125 AMLFS-Durable-Premium-250 AMLFS-Durable-Premium-500 |
Bereitstellen des Dateisystems mithilfe der Vorlage
In den folgenden Beispielschritten werden Azure CLI-Befehle zum Erstellen einer neuen Ressourcengruppe und zum Erstellen eines Azure Managed Lustre-Dateisystems verwendet. Bei den Schritten wird davon ausgegangen, dass Sie bereits einen Dateisystemtyp und eine Größe ausgewählt und eine Vorlagendatei erstellt haben, wie weiter oben in diesem Artikel beschrieben. Stellen Sie außerdem sicher, dass Sie alle Voraussetzungen erfüllen.
Legen Sie Ihr Standardabonnement fest:
az account set --subscription "<subscription-id>" az account show
Erstellen Sie optional eine neue Ressourcengruppe für Ihr Azure Managed Lustre-Dateisystem. Wenn Sie eine vorhandene Ressourcengruppe verwenden möchten, überspringen Sie diesen Schritt, und geben Sie den Namen der vorhandenen Ressourcengruppe an, wenn Sie den Vorlagenbefehl ausführen.
az group create --name <rg-name> --location <region-short-name>
Ihr Dateisystem kann Ressourcen außerhalb der eigenen Ressourcengruppe verwenden, solange sie sich im selben Abonnement befinden.
Stellen Sie das Azure Managed Lustre-Dateisystem mithilfe der Vorlage bereit. Die Syntax hängt davon ab, ob Sie JSON- oder Bicep-Dateien zusammen mit der Anzahl der Dateien verwenden.
Sie können Bicep- und JSON-Vorlagen als einzelne Dateien oder mehrere Dateien bereitstellen. Weitere Informationen und die genaue Syntax für jede Option finden Sie in der ARM-Vorlagendokumentation.
Beispiel-JSON-Befehl:
az deployment group create \ --name <example-deployment> \ --resource-group <resource-group-name> \ --template-file azlustre-template.json
Beispielbefehl Bicep:
az deployment group create \ --resource-group <ResourceGroupName> \ --template-file azlustre.bicep
JSON-Beispiel
Dieser Abschnitt zeigt Beispielinhalte für eine JSON-Vorlagendatei. Sie können optionale Parameter entfernen, wenn Sie eine eigene ARM-Vorlage erstellen.
{
"$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-Beispiele
Dieser Abschnitt zeigt Beispielinhalte für eine Bicep-Datei. Beim Erstellen eigener Parameter können Sie optionale Parameter entfernen.
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'
]
}