Создание хранилища дисков виртуальной машины в Azure Stack Hub

В этой статье описано создание хранилища для дисков виртуальной машины с помощью портала Azure Stack Hub или PowerShell.

Обзор

Azure Stack Hub поддерживает использование управляемых и неуправляемых дисков в виртуальных машинах в качестве дисков операционной системы и дисков данных.

Управляемые диски упрощают управление дисками виртуальных машин Azure IaaS. Они управляют учетными записями хранения, связанными с этими дисками. Вам нужно только выбрать размер диска, а Azure Stack Hub самостоятельно создаст диск и будет управлять им.

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

Рекомендации

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

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

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

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

Добавление новых дисков

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

Метод Параметры
Пользовательский портал — Добавление нового диска данных на существующую виртуальную машину. Эти диски создаются с помощью Azure Stack Hub.

— Добавление существующего файла диска (VHD) на ранее созданную виртуальную машину. Для этого необходимо подготовить VHD-файл и передать его в Azure Stack Hub.
PowerShell — Создайте виртуальную машину с диском ОС и в то же время добавьте на нее один или несколько дисков данных.

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

Если для создания виртуальной машины используется портал, по умолчанию для большинства элементов Marketplace создается только диск ОС.

После создания виртуальной машины вы можете выполнить на портале следующие операции:

  • создать диск данных и подключить его к виртуальной машине;
  • передать существующий диск данных и подключить его к виртуальной машине.

Поместите каждый добавляемый неуправляемый диск в отдельный контейнер.

Создание и подключение нового диска данных с помощью портала

  1. На портале выберите Все службы, Вычисления и Виртуальные машины. Пример: панель мониторинга виртуальной машины

  2. Выберите ранее созданную виртуальную машину из списка.

  3. Для виртуальной машины последовательно выберите Диски и Add data disk (Добавить диск с данными). Снимок экрана: подключение нового диска к виртуальной машине.

  4. Для диска данных:

    • Введите LUN. Значение LUN должно быть допустимым числом.
    • Выберите Создание диска. Снимок экрана: создание диска данных.
  5. В колонке Создание управляемого диска:

    • Введите имя диска.
    • Выберите существующую Группу ресурсов или создайте новую.
    • Выберите расположение. По умолчанию для расположения установлен тот же контейнер, где размещен диск ОС.
    • Выберите тип учетной записи. Пример. Присоединение нового диска к виртуальной машине

    Примечание

    В основе дисков класса Premium (SSD) и стандартных дисков (HDD) лежит одна инфраструктура системы хранения в Azure Stack Hub. Эти диски обеспечивают одинаковую производительность.

    • Выберите тип источника.

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

      Моментальный снимок. Выберите моментальный снимок, если он доступен. Моментальный снимок должен быть доступен в подписке и расположении виртуальной машины.

      Большой двоичный объект хранилища:

      • Добавьте универсальный код ресурса (URI) для большого двоичного объекта хранилища, который содержит образ диска.
      • Щелкните Просмотреть, чтобы открыть колонку учетных записей хранения. Инструкции см. в разделе Добавление диска с данными из учетной записи хранения.
      • Выберите тип операционной системы изображения: Windows, Linux или нет (диск с данными) .
    • Выберите Размер (ГиБ) .

      Стоимость диска увеличивается в зависимости от его размера.

    • Нажмите кнопку создания. Azure Stack Hub создает и проверяет управляемый диск.

  6. После того как Azure Stack Hub создаст диск и подключит его к виртуальной машине, новый диск будет указан в параметрах диска виртуальной машины в разделе Диски данных.

    Пример Просмотр диска

Добавление диска с данными из учетной записи хранения

Подробные сведения о работе с учетными записями хранения в Azure Stack Hub см. в статье Общие сведения о хранилище Azure Stack Hub.

  1. Выберите используемую учетную запись хранения.

  2. Выберите контейнер, в который необходимо поместить диск данных. В колонке Контейнеры можно создать контейнер, если это необходимо. Затем можно изменить расположение нового диска на собственный контейнер. При использовании отдельного контейнера для каждого диска распространение расположения диска данных может повысить производительность.

  3. Щелкните Выбрать, чтобы сохранить выбор.

    Снимок экрана: выбор контейнера.

Подключение существующего диска данных к виртуальной машине

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

  2. После отправки VHD-файла можно подключить VHD к виртуальной машине. В меню слева выберите Виртуальные машины.
    Снимок экрана: выбранные виртуальные машины.

  3. Выберите виртуальную машину из списка.

  4. На странице виртуальной машины выберите Диски, а затем — Подключить существующую.

    Пример Подключение существующего диска

  5. На странице Подключение существующего диска выберите VHD-файл. Откроется страница Учетные записи хранения.

    Пример Выбор VHD-файла

  6. В разделе Учетные записи хранения выберите нужную учетную запись. Затем выберите контейнер, в который ранее передали VHD-файл. Выберите нужный VHD-файл и щелкните Выбрать, чтобы сохранить выбор.

    Пример Выбор контейнера

  7. В разделе Подключение существующего диска выбранный файл находится в списке VHD-файл. Измените для диска параметр Кэширование узла и щелкните ОК, чтобы сохранить новую конфигурацию диска для виртуальной машины.

    Пример Подключение VHD-файла

  8. После того как Azure Stack Hub создаст диск и подключит его к виртуальной машине, он появится в параметрах дисков виртуальной машины в разделе Диски данных.

    Пример Завершение подключения диска

Добавление нескольких дисков к виртуальной машине с помощью PowerShell

С помощью PowerShell вы можете подготовить виртуальную машину и добавить новые диски данных или подключить имеющийся управляемый диск или VHD-файл в качестве диска данных.

Командлет Add-AzVMDataDisk добавляет диск данных к виртуальной машине. Диск данных можно добавить к новой виртуальной машине при ее создании или к имеющейся виртуальной машине. Для неуправляемого диска укажите параметр VhdUri, чтобы распределить диски в разные контейнеры.

Добавление дисков данных в новую виртуальную машину

В следующих примерах используются команды PowerShell для создания виртуальной машины с тремя дисками данных. Команды предоставляются частями из-за незначительных различий при использовании управляемых и неуправляемых дисков.

Создание конфигурации виртуальной машины и сетевых ресурсов

Следующий скрипт создает объект виртуальной машины и сохраняет его в переменной $VirtualMachine. Команды назначают имя и размер виртуальной машине, а затем создают сетевые ресурсы (виртуальная сеть, подсеть, виртуальный сетевой адаптер, группа безопасности сети и общедоступный IP-адрес) для виртуальной машины.

# Create new virtual machine configuration
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine" `
                                      -VMSize "Standard_A2"

# Set variables
$rgName = "myResourceGroup"
$location = "local"

# Create a subnet configuration
$subnetName = "mySubNet"
$singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24

# Create a vnet configuration
$vnetName = "myVnetName"
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location `
                                  -AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet

# Create a public IP
$ipName = "myIP"
$pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location `
                                  -AllocationMethod Dynamic

# Create a network security group configuration
$nsgName = "myNsg"
$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
                                                -Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
                                                -SourceAddressPrefix Internet -SourcePortRange * `
                                                -DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
                                       -Name $nsgName -SecurityRules $rdpRule

# Create a NIC configuration
$nicName = "myNicName"
$nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName `
                                   -Location $location -SubnetId $vnet.Subnets[0].Id `
                                   -NetworkSecurityGroupId $nsg.Id -PublicIpAddressId $pip.Id

Добавление управляемых дисков

Следующие три команды добавляют управляемые диски данных в виртуальную машину, заданную в переменной $VirtualMachine. Каждая команда задает имя и дополнительные свойства диска.

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
                                        -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
                                        -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
                                        -CreateOption Empty

Следующая команда добавляет диск ОС в качестве управляемого диска к виртуальной машине, заданной в переменной $VirtualMachine.

# Set OS Disk
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName  `
                                      -CreateOption FromImage -Windows

Добавление неуправляемых дисков

Следующие три команды назначают пути трех неуправляемых дисков данных переменным $DataDiskVhdUri01, $DataDiskVhdUri02и $DataDiskVhdUri03. Задайте разные имена путей в URL-адресе для распределения дисков в различных контейнерах:

$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"

Следующие три команды добавляют диски данных в виртуальную машину, заданную в переменной $VirtualMachine. Каждая команда указывает имя и дополнительные свойства диска. Универсальный код ресурса (URI) каждого диска хранится в $DataDiskVhdUri01, $DataDiskVhdUri02и $DataDiskVhdUri03.

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
                                        -VhdUri $DataDiskVhdUri01 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
                                        -VhdUri $DataDiskVhdUri02 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
                                        -VhdUri $DataDiskVhdUri03 -CreateOption Empty

Следующие команды добавляют неуправляемый диск ОС к виртуальной машине, заданной в переменной $VirtualMachine.

# Set OS Disk
$osDiskUri = "https://contoso.blob.local.azurestack.external/vhds/osDisk.vhd"
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName -VhdUri $osDiskUri `
                                      -CreateOption FromImage -Windows

Создание виртуальной машины

Используйте следующие команды PowerShell, чтобы настроить образ ОС, добавить сетевую конфигурацию к виртуальной машине, а затем запустите новую виртуальную машину.

#Create the new VM
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName VirtualMachine -ProvisionVMAgent | `
                  Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer `
                  -Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nic.Id

New-AzVM -ResourceGroupName $rgName -Location $location -VM $VirtualMachine

Добавление диска данных на существующую виртуальную машину

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

Получение виртуальной машины

Первая команда возвращает виртуальную машину с именем VirtualMachine с помощью командлета Get-AzVM . Она сохраняет виртуальную машину в переменной $VirtualMachine:

$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" `
                                -Name "VirtualMachine"

Добавление управляемых дисков

Следующие три команды добавляют управляемые диски данных к виртуальной машине, заданной в переменной $VirtualMachine. Каждая команда задает имя и дополнительные свойства диска.

Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" -Lun 0 `
                      -Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" -Lun 1 `
                      -Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" -Lun 2 `
                      -Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty

Добавление неуправляемого диска

Следующие три команды назначают пути для трех дисков данных переменным $DataDiskVhdUri01, $DataDiskVhdUri02и $DataDiskVhdUri03. Разные имена путей в универсальных кодах ресурсов (URI) VHD указывают различные контейнеры для размещения диска:

$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"

Следующие три команды добавляют диски данных к виртуальной машине, заданной в переменной $VirtualMachine. Каждая команда указывает имя, расположение и дополнительные свойства диска. Универсальный код ресурса (URI) каждого диска хранится в $DataDiskVhdUri01, $DataDiskVhdUri02и $DataDiskVhdUri03.

Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" `
                      -VhdUri $DataDiskVhdUri01 -LUN 0 `
                      -Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" `
                      -VhdUri $DataDiskVhdUri02 -LUN 1 `
                      -Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" `
                      -VhdUri $DataDiskVhdUri03 -LUN 2 `
                      -Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty

Обновление состояния виртуальной машины

Эта команда обновляет состояние виртуальной машины, заданной в переменной $VirtualMachine в -ResourceGroupName:

Update-AzVM -ResourceGroupName "myResourceGroup" -VM $VirtualMachine

Дальнейшие действия

Дополнительные сведения о виртуальных машинах Azure Stack Hub см. в статье Возможности виртуальных машин Azure Stack Hub.