Руководство по управлению дисками Azure с помощью Azure CLI.

Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы

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

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

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

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

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

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

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

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

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

В Azure предоставляются диски двух типов.

Диски ценовой категории "Стандартный". Это жесткие диски, которые обеспечивают экономичность хранения данных и достаточную производительность. Эти диски идеально подходят для экономных рабочих нагрузок разработки и тестирования.

Диски ценовой категории "Премиум". Это высокопроизводительные твердотельные накопители с низкой задержкой. Они идеально подходят для виртуальных машин, выполняющих производственную рабочую нагрузку. Размеры виртуальных машин с литерой S в названии обычно поддерживают хранилище класса Premium. Например, виртуальные машины Azure серий DS, DSv2, GS и FS его поддерживают. При выборе размер диска округляется в большую сторону до следующего типа. Например, если размер диска превышает 64 ГБ, но меньше 128 ГБ, то он имеет тип P10.


Размеры SSD категории "Премиум" P1 P2 P3 P4 P6 P10 P15 P20 P30 P40 P50 P60 P70 P80
Размер диска (ГиБ) 4 8 16 32 64 128 256 512 1024 2048 4096 8,192 16,384 32 767
Базовые подготовленные операции ввода-вывода в секунду на диск 120 120 120 120 240 500 1100 2300 5,000 7500 7500 16 000 18 000 20,000
**Расширенные подготовленные операции ввода-вывода в секунду на диск Неприменимо Н/Д Н/Д Н/Д Н/Д Н/Д Н/Д Неприменимо 8000 16 000 20,000 20,000 20,000 20,000
Базовая подготовленная пропускная способность на диск 25 МБ/с 25 МБ/с 25 МБ/с 25 МБ/с 50 МБ/с 100 МБ/с 125 МБ/с 150 МБ/с 200 МБ/с 250 МБ/с 250 МБ/с 500 МБ/с 750 МБ/с 900 МБ/с
**Расширенная подготовленная пропускная способность на диск Неприменимо Н/Д Н/Д Н/Д Н/Д Н/Д Н/Д Неприменимо 300 МБ/с 600 МБ/с 900 МБ/с 900 МБ/с 900 МБ/с 900 МБ/с
Максимальное пиковое число операций ввода-вывода в секунду на диск 3500 3500 3500 3500 3500 3500 3500 3500 30 000 * 30 000 * 30 000 * 30 000 * 30 000 * 30 000 *
Максимальная пиковая пропускная способность на диск 170 МБ/с 170 МБ/с 170 МБ/с 170 МБ/с 170 МБ/с 170 МБ/с 170 МБ/с 170 МБ/с 1000 МБ/с* 1000 МБ/с* 1000 МБ/с* 1000 МБ/с* 1000 МБ/с* 1000 МБ/с*
Максимальная длительность пика 30 мин 30 мин 30 мин 30 мин 30 мин 30 мин 30 мин 30 мин Без ограничений Без ограничений Без ограничений Без ограничений Без ограничений Без ограничений
Подходит для резервирования No Нет Нет Нет Нет Нет Нет No Да, до одного года Да, до одного года Да, до одного года Да, до одного года Да, до одного года Да, до одного года

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

При подготовке диска хранилища класса Premium, в отличие от хранилища класса Standard, гарантируются определенные показатели емкости, числа операций ввода-вывода в секунду и пропускной способности. Например, при создании диска P50 Azure подготавливает для него 4095 ГБ емкости хранилища, а также пропускную способность 250 МБ в секунду и 7500 операций ввода-вывода в секунду. Приложение может использовать ресурсы емкости и производительности как полностью, так и частично. Диски SSD (цен. категория "Премиум") демонстрируют задержку, выражаемую в миллисекундах одной цифрой, и гарантируют выполнение операций ввода-вывода и пропускную способность в течение 99,9 % рабочего времени, как описано в предыдущей таблице.

Хотя в таблице выше указано максимальное число операций ввода-вывода в секунду на диск, можно обеспечить более высокий уровень производительности, применив чередование нескольких дисков данных. Например, к виртуальной машине Standard_GS5 можно подключить 64 диска данных. Если каждый из этих дисков относится к размеру P30, можно добиться производительности, достигающей 80 000 операций ввода-вывода в секунду. Дополнительные сведения о максимальных количествах операций ввода-вывода в секунду для виртуальных машин см. в статье Размеры виртуальных машин Windows в Azure.

Запуск Azure Cloud Shell

Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.

Чтобы открыть Cloud Shell, выберите Попробовать в правом верхнем углу блока кода. Cloud Shell можно также запустить в отдельной вкладке браузера, перейдя на страницу https://shell.azure.com/powershell. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу "ВВОД", чтобы выполнить его.

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

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

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

Создайте группу ресурсов с помощью команды az group create.

az group create --name myResourceGroupDisk --location eastus

Создайте виртуальную машину с помощью команды az vm create. В следующем примере создаются виртуальная машина с именем myVM, добавляется учетная запись пользователя с именем azureuser и создаются ключи SSH, если они еще не существуют. Аргумент --datadisk-sizes-gb указывает, что должен быть создан дополнительный диск, подключаемый к виртуальной машине. Чтобы создать и подключить несколько дисков, используйте список значений размеров дисков, разделенный пробелами. В следующем примере создается виртуальная машина с двумя дисками емкостью по 128 ГБ. Так как размеры дисков составляют 128 ГБ, они настроены как диски типа P10, которые обеспечивают до 500 операций ввода-вывода на диск.

az vm create \
  --resource-group myResourceGroupDisk \
  --name myVM \
  --image Ubuntu2204 \
  --size Standard_DS2_v2 \
  --admin-username azureuser \
  --generate-ssh-keys \
  --data-disk-sizes-gb 128 128

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

Чтобы создать диск и подключить его к существующей виртуальной машине, выполните команду az vm disk attach. Приведенный ниже пример создает диск уровня "Премиум" размера в 128 ГБ и подключает его к виртуальной машине, созданной на предыдущем шаге.

az vm disk attach \
    --resource-group myResourceGroupDisk \
    --vm-name myVM \
    --name myDataDisk \
    --size-gb 128 \
    --sku Premium_LRS \
    --new

Подготовка дисков данных

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

Создайте SSH-подключение к виртуальной машине. Замените IP-адреса в примере общедоступным IP-адресом виртуальной машины.

ssh azureuser@10.101.10.10

Создание разделы на диске с помощью parted.

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%

Запишите файловую систему на раздел, выполнив команду mkfs. Используйте partprobe, чтобы предоставить ОС сведения об изменении.

sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

Подключите новый диск, чтобы он был доступен в операционной системе.

sudo mkdir /datadrive && sudo mount /dev/sdc1 /datadrive

Теперь этот диск доступен через точку подключения /datadrive, которую можно проверить с помощью команды df -h.

df -h | grep -i "sd"

Ее результат показывает, что новый диск подключен к /datadrive.

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.0G   27G   7% /
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1        14G   41M   13G   1% /mnt
/dev/sdc1        50G   52M   47G   1% /datadrive

Чтобы обеспечить повторное подключение диска после перезагрузки, его необходимо добавить в файл /etc/fstab. Для этого получите UUID диска с помощью служебной программы blkid.

sudo -i blkid

На экране отображается UUID диска, в данном случае это /dev/sdc1.

/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs"

Примечание.

Некорректное изменение файла /etc/fstab может привести к невозможности загрузить систему. Если у вас есть сомнения, см. инструкции по правильному изменению этого файла в документации дистрибутива. Также рекомендуется перед внесением изменений создать резервную копию файла /etc/fstab.

/etc/fstab Откройте файл в текстовом редакторе следующим образом:

sudo nano /etc/fstab

Добавьте в файл /etc/fstab строку следующего вида, заменив значение UUID собственным.

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive  xfs    defaults,nofail   1  2

Выполнив редактирование файла, запишите его с помощью сочетания клавиш Ctrl+O, а затем щелкните Ctrl+X, чтобы выйти из редактора.

Теперь, когда диск настроен, закройте сеанс SSH.

exit

Создание моментального снимка диска

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

Создать моментальный снимок

Перед созданием моментального снимка потребуется идентификатор или имя диска. Чтобы получить идентификатор диска, выполните команду az vm show. В этом примере идентификатор диска сохраняется в переменной и может использоваться в дальнейшем.

osdiskid=$(az vm show \
   -g myResourceGroupDisk \
   -n myVM \
   --query "storageProfile.osDisk.managedDisk.id" \
   -o tsv)

Получив идентификатор, создайте моментальный снимок диска с помощью команды az snapshot create.

az snapshot create \
    --resource-group myResourceGroupDisk \
    --source "$osdiskid" \
    --name osDisk-backup

Создание диска на основе моментального снимка

Этот моментальный снимок можно преобразовать в диск (используя команду az disk create), с помощью которого можно повторно создать виртуальную машину.

az disk create \
   --resource-group myResourceGroupDisk \
   --name mySnapshotDisk \
   --source osDisk-backup

Восстановление виртуальной машины на основе моментального снимка

Чтобы продемонстрировать восстановление виртуальной машины, удалите имеющуюся виртуальную машину с помощью команды az vm delete.

az vm delete \
--resource-group myResourceGroupDisk \
--name myVM

Создайте виртуальную машину на основе диска моментального снимка.

az vm create \
    --resource-group myResourceGroupDisk \
    --name myVM \
    --attach-os-disk mySnapshotDisk \
    --os-type linux

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

Все диски данных нужно повторно подключить к виртуальной машине.

Найдите имя диска данных, выполнив команду az disk list. В этом примере имя диска помещается в переменную datadisk, которая будет использоваться в следующем шаге.

datadisk=$(az disk list \
   -g myResourceGroupDisk \
   --query "[?contains(name,'myVM')].[id]" \
   -o tsv)

Подключите диск, выполнив команду az vm disk attach.

az vm disk attach \
   –g myResourceGroupDisk \
   --vm-name myVM \
   --name $datadisk

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

В этом руководстве вы ознакомились с дисками виртуальных машин, а именно с:

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

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