Руководство. Создание и использование дисков с масштабируемым набором виртуальных машин с помощью Azure PowerShell

Масштабируемые наборы виртуальных машин использовать диски для хранения операционной системы, приложений и данных экземпляра виртуальной машины. Для создания масштабируемого набора и управления им важно выбрать размер диска и конфигурацию в соответствии с ожидаемой рабочей нагрузкой. В этом руководстве объясняется, как создать диски виртуальной машины и управлять ими. В этом руководстве вы узнаете:

  • дисках ОС и временных дисках;
  • Диски данных
  • дисками уровня "Стандартный" и "Премиум";
  • Производительность дисков
  • подключение и подготовка дисков данных.

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Диски Azure по умолчанию

При создании или масштабировании масштабируемого набора к каждому экземпляру виртуальной машины автоматически подключаются два диска.

Диск операционной системы. Размер дисков операционной системы может составлять до 2 ТБ. Это диски, содержащие операционную систему экземпляра виртуальной машины. По умолчанию диск ОС помечается как /dev/sda. Конфигурация кэширования диска ОС оптимизирована для производительности операционной системы. Ввиду этой конфигурации на дисках ОС не должны размещаться приложения или данные. Для приложений и данных используйте диски данных, которые описаны далее в этой статье.

Временный диск. Временные диски используют твердотельные накопители, расположенные на том же узле Azure, что и экземпляр виртуальной машины. Это высокопроизводительные диски, которые можно использовать для таких операций, как временная обработка данных. Но если экземпляр виртуальной машины перемещается на новый узел, удаляются все данные, хранящиеся на временном диске. Размер временного диска определяется размером экземпляра виртуальной машины. Временные диски помечаются как /dev/sdb и используют точку подключения /mnt.

Диски данных Azure

Вы можете добавить дополнительные диски данных, чтобы установить приложения и хранить данные. Диски данных следует использовать в любой ситуации, где требуется надежное хранилище данных, обеспечивающее высокую скорость реагирования. Максимальная емкость каждого диска составляет 4 ТБ. От размера экземпляра виртуальной машины зависит, сколько дисков данных можно к ней подключить. Для каждого виртуального ЦП виртуальной машины можно подключить два диска данных.

Типы дисков виртуальной машины

В следующей таблице приведено сравнение пяти типов дисков, которое поможет вам решить, какие из них использовать.

Диск (цен. категория "Ультра") SSD (цен. категория "Премиум") версии 2 Диск SSD (цен. категория "Премиум") SSD (цен. категория "Стандартный") HDD (цен. категория "Стандартный")
Тип диска SSD SSD SSD SSD HDD
Сценарий Рабочие нагрузки с большим числом операций ввода-вывода (например, SAP HANA), базы данных верхнего уровня (например, SQL или Oracle) и рабочие нагрузки с большим количеством транзакций Производственные рабочие нагрузки и рабочие нагрузки, чувствительные к пропускной способности, постоянно требующих низкой задержки, высокая пропускная способность и большое количество операций ввода-вывода в секунду Рабочая среда с высокими требованиями к уровню производительности Веб-серверы, редко используемые корпоративные приложения и сценарии разработки и тестирования Резервное копирование, не критически важный и нечастый доступ
Максимальный размер диска 65,536 Гиб 65,536 Гиб 32 767 ГиБ 32 767 ГиБ 32 767 ГиБ
Максимальная пропускная способность 4000 МБ/с 1200 МБ/с 900 МБ/с 750 МБ/с 500 МБ/с
Maкс. количество операций ввода-вывода в секунду 160 000 80 000 20 000 6000 2,000, 3,000*
Доступный для использования в качестве диска ОС? Нет No Да Да Да

*Применяется только к дискам с включенной производительностью плюс (предварительная версия).

Видео, которое охватывает некоторые высокие различия между различными типами дисков, а также некоторые способы определения того, что влияет на требования рабочей нагрузки, см. в разделе "Параметры блочного хранилища" с помощью служба хранилища диска Azure и эластичной сети SAN.

Создание и подключение дисков

Диски можно создать и присоединить к создаваемому или существующему масштабируемому набору.

В версии 2019-07-01API можно задать размер диска ОС в масштабируемом наборе виртуальных машин с помощью свойства storageProfile.osDisk.diskSizeGb . После подготовки может потребоваться развернуть или повторно развернуть диск, чтобы использовать все пространство. См. дополнительные сведения о том, как расширить том в операционной системе Windows или Linux.

Присоединение дисков при создании масштабируемого набора

Создайте масштабируемый набор виртуальных машин с помощью New-AzVmss. Когда отобразится запрос, введите имя и пароль для экземпляров виртуальных машин. Чтобы распределить трафик между отдельными экземплярами виртуальных машин, создается еще и подсистема балансировки нагрузки. Подсистема балансировки нагрузки определяет правила передачи трафика на TCP-порт 80, а также разрешает подключение удаленного рабочего стола трафик через TCP-порт 3389 и удаленное взаимодействие PowerShell через TCP-порт 5985.

Создаются два диска с параметром -DataDiskSizeGb. Размер первого диска — 64 ГБ, а второго — 128 ГБ. При появлении запроса введите учетные данные администратора для экземпляров виртуальных машин в масштабируемом наборе:

New-AzResourceGroup -Name "myResourceGroup" -Location "East US"
New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "EastUS" `
  -OrchestrationMode "Flexible" `
  -VMScaleSetName "myScaleSet" `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -DataDiskSizeInGb 64,128

Создание и настройка всех ресурсов и экземпляров виртуальных машин масштабируемого набора занимает несколько минут.

Присоединение диска к существующему масштабируемому набору

Вы также можете присоединить диски к существующему масштабируемому набору. Используйте созданный на предыдущем шаге масштабируемый набор, чтобы добавить другой диск, выполнив командлет Add-AzVmssDataDisk. В следующем примере к имеющемуся масштабируемому набору подключается дополнительный диск размером 128 ГБ.

# Get scale set object
$vmss = Get-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet"

# Attach a 128 GB data disk to LUN 2
Add-AzVmssDataDisk `
  -VirtualMachineScaleSet $vmss `
  -CreateOption Empty `
  -Lun 2 `
  -DiskSizeGB 128

# Update the scale set to apply the change
Update-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -VirtualMachineScaleSet $vmss

Кроме того, если вы хотите добавить диск данных в отдельный экземпляр в масштабируемом наборе, используйте Add-AzVmssVMDataDisk.

$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId 1
Add-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -LUN 2 -DiskSizeInGB 1 -CreateOption Empty -StorageAccountType Standard_LRS
Update-AzVmssVM -VirtualMachineScaleSetVM $VirtualMachine

Отображение списка подключенных дисков

Чтобы просмотреть информацию о дисках, подключенных к масштабируемому набору, выполните командлет Get-AzVmss, как показано ниже.

Get-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet"

В разделе свойства VirtualMachineProfile.StorageProfile отображается список дисков данных (DataDisks). Отобразится информация о размере диска, уровне хранилища и LUN (логическом номере устройства). В следующем примере выходных данных содержатся сведения о трех дисках данных, подключенных к масштабируемому набору.

DataDisks[0]                            :
  Lun                                   : 0
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 64
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS
DataDisks[1]                            :
  Lun                                   : 1
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 128
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS
DataDisks[2]                            :
  Lun                                   : 2
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 128
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS

Отсоединение диска

Если конкретный диск больше не нужен, его можно отключить от масштабируемого набора. Диск удаляется из всех экземпляров виртуальных машин в масштабируемом наборе. Чтобы отключить диск от масштабируемого набора, используйте командлет Remove-AzVmssDataDisk и укажите номер LUN диска. Эти номера отображаются в выходных данных, полученных с помощью командлета Get-AzVmss в предыдущем разделе. В следующем примере диск с LUN 3 отключается от масштабируемого набора.

# Get scale set object
$vmss = Get-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet"

# Detach a disk from the scale set
Remove-AzVmssDataDisk `
  -VirtualMachineScaleSet $vmss `
  -Lun 2

# Update the scale set and detach the disk from the VM instances
Update-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -VirtualMachineScaleSet $vmss

Кроме того, если вы хотите удалить диск данных в отдельный экземпляр в масштабируемом наборе, используйте Remove-AzVmssVMDataDisk.

$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "c91dfbd9"
Remove-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -Lun 2
Update-AzVmssVM -VirtualMachineScaleSetVM -VM $VirtualMachine

Очистка ресурсов

Чтобы удалить масштабируемый набор и диски, удалите группу ресурсов и все ее ресурсы с помощью командлета Remove-AzResourceGroup. Параметр -Force подтверждает, что вы хотите удалить ресурсы без дополнительного запроса. При использовании параметра -AsJob управление возвращается в командную строку без ожидания завершения операции.

Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob

Следующие шаги

Из этого руководства вы узнали, как создавать и использовать диски с масштабируемыми наборами с помощью Azure PowerShell:

  • дисках ОС и временных дисках;
  • Диски данных
  • дисками уровня "Стандартный" и "Премиум";
  • Производительность дисков
  • подключение и подготовка дисков данных.

Перейдите к следующему руководству, чтобы узнать, как использовать пользовательский образ для экземпляров виртуальных машин масштабируемого набора.