Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете автоматизировать создание управляемой файловой системы Lustre Azure с помощью шаблонов Azure Resource Manager (ARM). В этой статье описана базовая процедура и приведены примеры необходимых файлов.
В этой статье приведены примеры двух различных методов создания шаблонов ARM:
- Используйте JSON для непосредственного создания шаблонов ARM. Дополнительные сведения см. в разделе «Синтаксис шаблона JSON».
- Используйте Bicep, который использует более простой синтаксис для предоставления сведений о конфигурации. При развертывании шаблона файлы Bicep преобразуются в файлы шаблонов ARM. Дополнительные сведения см. в документации по Bicep.
Дополнительные сведения об этих параметрах см. в статье "Сравнение JSON и Bicep" для шаблонов.
Выбор типа файловой системы и размера
Прежде чем писать шаблон, необходимо принять некоторые решения об управляемой файловой системе Lustre Azure. Дополнительные сведения о параметрах конфигурации см. в статье "Создание управляемой файловой системы Lustre Azure".
При использовании шаблона укажите номер SKU для определения базового типа создаваемой файловой системы Управляемая Azure система Lustre. Номер SKU представляет уровень продукта. Он задает системные качества, такие как тип дисков, поддерживаемый объем хранилища и максимальная пропускная способность. Если вы используете портал Azure для создания файловой системы Управляемая Azure система Lustre, укажите тип системы косвенно, выбрав его возможности.
В следующей таблице показаны значения пропускной способности и емкости хранилища для каждого поддерживаемого номера SKU. Эти номера SKU создают файловую систему, которая использует устойчивое хранилище SSD. Максимальное значение по умолчанию — это ограничение емкости, доступное для подписки по умолчанию. Вы можете запросить увеличение до максимальной поддерживаемой емкости, открыв запрос в службу поддержки.
| Номер SKU | Уровень пропускной способности | Минимальный объем хранилища | Максимальное значение по умолчанию | Максимальная поддерживаемая емкость | Приращение |
|---|---|---|---|---|---|
| AMLFS-Durable-Premium-20 | 20 МБИТ/с | 96 ТиБ | 3072 ТиБ | 25 632 ТиБ | 96 ТиБ |
| AMLFS-Durable-Premium-40 | 40 Мбит/с | 48 ТиБ | 1536 ТиБ | 12 816 ТиБ | 48 ТиБ |
| AMLFS-Durable-Premium-125 | 125 Мбит/с | 16 ТиБ | 512 ТиБ | 4096 ТиБ | 16 ТиБ |
| AMLFS-Durable-Premium-250 | 250 Мбит/с | 8 ТиБ | 256 ТиБ | 2048 ТиБ | 8 ТиБ |
| AMLFS-Durable-Premium-500 | 500 Мбит/с | 4 ТиБ | 128 ТиБ | 1024 ТиБ | 4 ТиБ |
Чтобы включить подписку для развертывания файловой системы с емкостью, превышающей максимальное значение по умолчанию, откройте запрос в службу поддержки.
Чтобы проверить возможности SKU, можно использовать инструкцию по созданию файловой системы Managed Lustre с помощью портала Azure. Параметры SKU находятся на вкладке "Основные сведения о файловой системе".
Создание файла шаблона
После выбора параметров конфигурации можно создать файл шаблона. Файл шаблона — это JSON или Bicep-файл, содержащий сведения о конфигурации для файловой системы Управляемая Azure система Lustre.
Значения свойств шаблона
Чтобы создать управляемую файловую систему Lustre Azure с помощью шаблона ARM, необходимо включить в файл шаблона следующие сведения. Точный синтаксис отличается от Bicep и JSON, поэтому ознакомьтесь с примерами для литеральных значений.
Файловая система
| Имя | Описание | Значение |
|---|---|---|
| тип | Тип создаваемого ресурса. | Microsoft.StorageCache/amlFileSystems |
| apiVersion | Версия API Управляемая Azure система Lustre, которую следует использовать. | Используйте текущую версию API, например 2024-03-01 |
| имя | Уникальное имя файловой системы Управляемая Azure система Lustre. | строка (обязательно) |
| расположение | Географическое расположение, в котором находится ресурс. Используйте короткое имя, а не отображаемое имя, например, используйте eastus вместо East US. |
строка (обязательно) |
| теги | Теги ресурсов для файловой системы. | Словарь имен и значений тегов; см . теги в шаблонах |
| sku | Номер SKU производительности для ресурса. | См. имя SKU |
| идентичность | Управляемая идентификация, используемая для файловой системы, если она настроена. | См. раздел "Удостоверение" |
| свойства | Свойства файловой системы. | См. статью "Свойства" |
| зоны | Зоны доступности для ресурсов. Это поле должно содержать только один элемент в массиве. | string[] |
Идентификация
| Имя | Описание | Значение |
|---|---|---|
| тип | Тип идентификатора, используемого ресурсом. |
None, UserAssigned |
| userAssignedIdentities | Словарь, в котором каждый ключ является идентификатором ресурса удостоверения, назначенным пользователем, и значение каждого ключа является пустым словарем. | См. документы по шаблону |
Свойства
| Имя | Описание | Значение |
|---|---|---|
| Параметры шифрования | Параметры шифрования файловой системы. | См. раздел "Параметры шифрования" |
| filesystemSubnet | Подсеть, которую использует файловая система. | строка (обязательно) |
| hsm | Параметры контейнера Хранилище BLOB-объектов для файловой системы. | См. раздел параметров HSM |
| окно обслуживания | Указывает день и время возникновения обновлений системы. | См. окно обслуживания (обязательно) |
| rootSquashSettings | Задает параметры подмены прав суперпользователя (root squash) для файловой системы. | См. параметры подмены прав суперпользователя |
| storageCapacityTiB | Размер файловой системы в TiB. Дополнительные сведения о допустимых значениях этого поля на основе номера SKU см. в разделе "Выбор типа файловой системы" и размера. | int (обязательно) |
Параметры шифрования
| Имя | Описание | Значение |
|---|---|---|
| ключ шифрования ключа | Указывает расположение ключа шифрования в Key Vault. | См. документы по шаблону |
Параметры HSM
| Имя | Описание | Значение |
|---|---|---|
| контейнер | Идентификатор ресурса контейнера хранилища, используемого для заполнения пространства имен и архивирования данных из пространства имен. Поставщик ресурсов должен иметь разрешение на создание маркеров SAS в учетной записи хранения. | строка (обязательно) |
| importPrefix | В пространство имён кластера импортируются только BLOB-объекты в контейнере без журналирования, имя которых начинается с этого пути или префикса. Это используется только во время первоначального создания управляемой файловой системы Lustre Azure. | строка |
| importPrefixesInitial | В пространство имён кластера импортируются только те BLOB-объекты в контейнере без журналирования, которые начинаются с одного из путей или префиксов, указанных в этом массиве. Это значение используется только во время первоначального создания управляемой файловой системы Lustre Azure и имеет значение по умолчанию ./. | string[] |
| loggingContainer | Идентификатор ресурса контейнера хранилища, используемого для ведения журнала событий и ошибок. Должен быть отдельным контейнером в той же учетной записи хранения, что и контейнеры регидратации и архива. Поставщик ресурсов должен иметь разрешение на создание маркеров SAS в учетной записи хранения. | строка (обязательно) |
Примечание.
Свойство importPrefixesInitial позволяет указать несколько префиксов для импорта данных в файловую систему, а importPrefix также указать один префикс. Значением по умолчанию для обоих свойств является /. Если определить одно из свойств, вы не можете определить другое. Если определить оба свойства, развертывание завершается сбоем.
Дополнительные сведения см. в разделе Префикс импорта.
Окно обслуживания
| Имя | Описание | Значение |
|---|---|---|
| dayOfWeek | День недели, на которой может произойти период обслуживания. |
Sunday, Monday, TuesdayWednesdayThursdayFridaySaturday |
| timeOfDayUTC | Время суток (по UTC), в которое может происходить окно обслуживания. | Пример строки : 22:30 |
Свойство timeOfDayUTC использует 24-часовой формат часов. Например, 22:30 представляет 10:30 вечера. Шаблон: ^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$.
Настройки Root squash
| Имя | Описание | Значение |
|---|---|---|
| режим | Режим Squash файловой системы AML. «Все»: идентификаторы пользователей и групп для файлов заменяются указанными значениями для всех пользователей в недоверенных системах. 'RootOnly': идентификаторы пользователей и групп для файлов заменяются указанными значениями только для пользователя root в недоверенных системах. "Нет": для всех пользователей в любых системах не выполняется скваширование идентификаторов пользователей и групп. |
All, None, RootOnly |
| noSquashNidLists | Разделенный точками с запятой список IP-адресов NID для добавления в TrustedSystems. | строка |
| squashGID | Идентификатор группы для объединения. | INT |
| squashUID | Идентификатор пользователя, к которому нужно выполнить объединение. | INT |
Номер SKU
| Имя | Описание | Значение |
|---|---|---|
| имя | Имя номера SKU для ресурса. |
AMLFS-Durable-Premium-40, AMLFS-Durable-Premium-125, AMLFS-Durable-Premium-250, AMLFS-Durable-Premium-500 |
Развертывание файловой системы с помощью шаблона
В следующем примере используются команды Azure CLI для создания новой группы ресурсов и создания в ней файловой системы Управляемая Azure система Lustre. В шагах предполагается, что вы уже выбрали тип файловой системы и размер и создали файл шаблона, как описано ранее в этой статье. Кроме того, убедитесь, что выполнены все предварительные требования.
Задайте подписку по умолчанию:
az account set --subscription "<subscription-id>" az account showПри необходимости создайте новую группу ресурсов для управляемой файловой системы Lustre Azure. Если вы хотите использовать существующую группу ресурсов, пропустите этот шаг и укажите имя существующей группы ресурсов при выполнении команды шаблона.
az group create --name <rg-name> --location <region-short-name>Файловая система может использовать ресурсы вне собственной группы ресурсов, если они находятся в той же подписке.
Разверните файловую систему Управляемая Azure система Lustre с помощью шаблона. Синтаксис зависит от того, используете ли вы файлы JSON или Bicep, а также количество файлов.
Вы можете развертывать шаблоны Bicep и JSON в виде отдельных файлов или нескольких файлов. Дополнительные сведения и точный синтаксис каждого параметра см. в документации по шаблонам ARM.
Пример команды JSON:
az deployment group create \ --name <example-deployment> \ --resource-group <resource-group-name> \ --template-file azlustre-template.jsonПример команды Bicep:
az deployment group create \ --resource-group <ResourceGroupName> \ --template-file azlustre.bicep
Пример JSON
В этом разделе показан пример содержимого файла шаблона JSON. При создании собственного шаблона 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/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
В этом разделе показан пример содержимого файла Bicep. При создании собственных можно удалить необязательные параметры.
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'
]
}