Sdílet prostřednictvím


Vytvoření systému souborů Lustre spravovaného Azure pomocí šablon Azure Resource Manageru

Vytvoření systému souborů Lustre spravovaného Azure můžete automatizovat pomocí šablon Azure Resource Manageru (ARM). Tento článek vysvětluje základní postup a uvádí příklady potřebných souborů.

Tento článek obsahuje příklady dvou různých metod pro vytváření šablon ARM:

  • Pomocí KÓDU JSON můžete vytvářet šablony ARM přímo. Další informace najdete v tématu Syntaxe šablony JSON.
  • Použijte Bicep, který k zadání podrobností konfigurace používá jednodušší syntaxi. Při nasazení šablony se soubory Bicep převedou na soubory šablon ARM. Další informace najdete v dokumentaci k Bicep.

Další informace o těchto možnostech najdete v tématu Porovnání json a Bicep pro šablony.

Volba typu a velikosti systému souborů

Než napíšete šablonu, musíte se rozhodnout o systému souborů Azure Managed Lustre. Další informace o možnostech konfigurace najdete v podrobnostech o nastavení v systému souborů Create an Azure Managed Lustre.

Při použití šablony zadejte skladovou položku pro definování základního typu systému souborů Azure Managed Lustre, který se má vytvořit. Skladová položka představuje úroveň produktu. Nastavuje systémové vlastnosti, jako je typ disků, podporovaná velikost úložiště a maximální kapacita propustnosti. Pokud k vytvoření systému souborů Lustre spravované služby Azure použijete Azure Portal, určíte typ systému nepřímo výběrem jeho možností.

V následující tabulce jsou uvedeny hodnoty propustnosti a velikosti úložiště v každé podporované skladové posílce. Tyto skladové položky vytvářejí systém souborů, který používá odolné úložiště SSD.

Skladová jednotka (SKU) Propustnost na úložiště TiB Minimum úložiště Maximální velikost úložiště Přírůstek
AMLFS-Durable-Premium-40 40 MB/s 48 TB 768 TB 48 TB
AMLFS-Durable-Premium-125 125 MB/s 16 TB 128 TB 16 TB
AMLFS-Durable-Premium-250 250 MB/s 8 TB 128 TB 8 TB
AMLFS-Durable-Premium-500 500 MB/s 4 TB 128 TB 4 TB

Pokud požadujete hodnoty úložiště větší než uvedené maximum, můžete otevřít lístek podpory a prozkoumat možnosti.

Pokud chcete zkontrolovat možnosti skladové položky, můžete použít pracovní postup pro vytvoření spravovaného systému souborů Lustre pomocí webu Azure Portal. Nastavení specifická pro skladovou položku jsou na kartě Základy v části Podrobnosti o systému souborů.

Vytvoření souboru šablony

Po rozhodnutí o možnostech konfigurace můžete vytvořit soubor šablony. Soubor šablony je soubor JSON nebo Bicep, který obsahuje podrobnosti konfigurace pro váš systém souborů Lustre spravovaného Azure.

Hodnoty vlastností šablony

Pokud chcete vytvořit systém souborů Lustre spravovaného Azure pomocí šablony ARM, musíte do souboru šablony zahrnout následující informace. Přesná syntaxe se mezi Bicep a JSON liší, proto si projděte příklady hodnot literálů.

Systém souborů

Název Popis Hodnota
type Typ prostředku, který chcete vytvořit. Microsoft.StorageCache/amlFileSystems
apiVersion Verze rozhraní LUstre API spravovaného v Azure, která se má použít. Použijte například aktuální verzi rozhraní API. 2024-03-01
name Jedinečný název systému souborů Azure Managed Lustre. string (povinné)
location Geografické umístění, ve kterém se nachází zdroj. Místo zobrazovaného názvu použijte krátký název, například místo eastus East US. string (povinné)
značky Značky prostředků pro systém souborů Slovník názvů a hodnot značek; Zobrazit značky v šablonách
sku Skladová položka výkonu prostředku Zobrazit název skladové položky
Identity Spravovaná identita, která se má použít pro systém souborů( pokud je nakonfigurovaná). Viz Identita
vlastnosti Vlastnosti systému souborů Zobrazit vlastnosti
zóny Zóny dostupnosti pro prostředky Toto pole by mělo obsahovat pouze jeden prvek v poli. string[]

Identita

Název Popis Hodnota
type Typ identity používané pro prostředek. None, UserAssigned
userAssignedIdentities Slovník, kde každý klíč je ID prostředku identity přiřazené uživatelem a hodnota každého klíče je prázdný slovník. Zobrazení dokumentace k šablonám

Vlastnosti

Název Popis Hodnota
encryptionSettings Nastavení šifrování pro systém souborů. Viz Nastavení šifrování
filesystemSubnet Podsíť, kterou systém souborů používá. string (povinné)
Hsm Nastavení kontejneru Blob Storage pro systém souborů. Viz nastavení HSM
maintenanceWindow Určuje den a čas, kdy může dojít k aktualizacím systému. Viz Časové období údržby (povinné)
rootSquashSettings Určuje nastavení root squash pro systém souborů. Viz Nastavení kořenové squashe
storageCapacityTiB Velikost systému souborů v TiB. Další informace o povolenýchhodnotách int (povinné)

Nastavení šifrování

Název Popis Hodnota
keyEncryptionKey Určuje umístění šifrovacího klíče ve službě Key Vault. Zobrazení dokumentace k šablonám

Nastavení HSM

Název Popis Hodnota
kontejner ID prostředku kontejneru úložiště používaného pro hydrataci oboru názvů a archivace z oboru názvů. Poskytovatel prostředků musí mít oprávnění k vytváření tokenů SAS v účtu úložiště. string (povinné)
importPrefix Do oboru názvů clusteru se naimportují pouze objekty blob v kontejneru bez protokolování, které začínají touto cestou nebo předponou. Používá se pouze při počátečním vytváření systému souborů Azure Managed Lustre. string
importPrefixesInitial Do oboru názvů clusteru se naimportují pouze objekty blob v kontejneru bez protokolování, které začínají jednou z cest nebo předpon v tomto poli. Tato hodnota se používá pouze při počátečním vytváření systému souborů Azure Managed Lustre a má výchozí hodnotu /. string[]
loggingContainer ID prostředku kontejneru úložiště používaného k protokolování událostí a chyb Musí být samostatný kontejner ve stejném účtu úložiště jako hydrace a archivní kontejner. Poskytovatel prostředků musí mít oprávnění k vytváření tokenů SAS v účtu úložiště. string (povinné)

Poznámka:

Vlastnost importPrefixesInitial umožňuje zadat více předpon pro import dat do systému souborů, zatímco importPrefix umožňuje zadat jednu předponu. Výchozí hodnota obou vlastností je /. Pokud definujete jednu z vlastností, nemůžete definovat druhou. Pokud definujete obě vlastnosti, nasazení selže.

Další informace najdete v tématu Import předpony.

Časové období údržby

Název Popis Hodnota
denOfWeek Den v týdnu, kdy může dojít k časovému období údržby. Sunday, Monday, Tuesday, Wednesday, Thursday, , FridaySaturday
timeOfDayUTC K času dne (v UTC) může dojít k časovému období údržby. Příklad řetězce
: 22:30

Vlastnost timeOfDayUTC používá 24hodinový formát hodin. Například 22:30 představuje 10:30 PM. Vzor je ^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$.

Nastavení kořenové squashe

Název Popis Hodnota
režim Squash režim systému souborů AML. All (Vše): ID uživatelů a skupin u souborů se zamknou na zadané hodnoty pro všechny uživatele v nedůvěryhodných systémech. RootOnly: ID uživatelů a skupin v souborech jsou zamyšlovány na zadané hodnoty výhradně uživatele root v nedůvěryhodných systémech. Žádná: Žádné zmáčknutí ID uživatelů a skupin se neprovádí pro všechny uživatele v jakémkoli systému. All, , NoneRootOnly
noSquashNidLists Středník oddělený seznam IP adres NID, který se má přidat do trustedSystems. string
squashGID ID skupiny, na které se má squashovat. int
squashUID ID uživatele, na které se má squashovat. int

Název skladové položky

Název Popis Hodnota
name Název skladové položky prostředku AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, , AMLFS-Durable-Premium-250AMLFS-Durable-Premium-500

Nasazení systému souborů pomocí šablony

Následující příklad kroků používá příkazy Azure CLI k vytvoření nové skupiny prostředků a vytvoření systému souborů Azure Managed Lustre v něm. Kroky předpokládají, že jste již zvolili typ a velikost systému souborů a vytvořili soubor šablony, jak je popsáno výše v tomto článku. Ujistěte se také, že splňujete všechny požadavky.

  1. Nastavení výchozího předplatného:

    az account set --subscription "<subscription-id>"
    az account show
    
  2. Volitelně můžete vytvořit novou skupinu prostředků pro systém souborů Azure Managed Lustre. Pokud chcete použít existující skupinu prostředků, přeskočte tento krok a při spuštění příkazu šablony zadejte název existující skupiny prostředků.

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

    Váš systém souborů může používat prostředky mimo vlastní skupinu prostředků, pokud jsou ve stejném předplatném.

  3. Pomocí šablony nasaďte systém souborů Azure Managed Lustre. Syntaxe závisí na tom, jestli používáte soubory JSON nebo Bicep spolu s počtem souborů.

    Šablony Bicep a JSON můžete nasadit jako jednotlivé soubory nebo více souborů. Další informace a přesné syntaxe jednotlivých možností najdete v dokumentaci k šabloně ARM.

    Příklad příkazu JSON:

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

    Příklad příkazu Bicep:

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

Příklad JSON

Tato část ukazuje příklad obsahu souboru šablony JSON. Volitelné parametry můžete odebrat při vytváření vlastní šablony ARM.

{
    "$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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>"
                  }
                }
              },
              "filesystemSubnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<rg-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>",
              "hsm": {
                "settings": {
                  "container": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<rg-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>",
                  "loggingContainer": "/subscriptions/00000000-0000-0000-0000-000000000000/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": {}
}

Příklad Bicep

Tato část ukazuje příklad obsahu souboru Bicep. Při vytváření vlastních parametrů můžete odebrat volitelné parametry.

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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>'
        }
      }
    }
    filesystemSubnet: '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<rg-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>'
    hsm: {
      settings: {
        container: '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<rg-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>'
        importPrefixesInitial: [
          '/'
        ]
        loggingContainer: '/subscriptions/00000000-0000-0000-0000-000000000000/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'
  ]
}