Поделиться через


Руководство — управление дисками Azure с Azure CLI

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

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

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

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

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

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

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

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

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

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

Azure предоставляет два типа дисков.

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

Премиальные диски — на основе SSD, с высокой производительностью и низкой задержкой. Идеально подходит для виртуальных машин, работающих под рабочей нагрузкой. Размеры виртуальных машин с S в имени размера обычно поддерживают Premium Storage. Например, виртуальные машины серии DS, DSv2, GS-series и FS поддерживают хранилище класса Premium. При выборе размера диска значение округляется до следующего типа. Например, если размер диска превышает 64 ГБ, но меньше 128 ГБ, тип диска — P10.


Размеры SSD категории "Премиум" П1 P2 P3 P4 P6 P10 P15 P20 P30 P40 P50 P60 P70 P80
Размер диска (ГиБ) 4 8 16 32 64 128 256 512 1,024 2,048 4096 8,192 16,384 32,767
Предоставленные базовые операции ввода-вывода в секунду на диск 120 120 120 120 240 500 1,100 2300 5,000 7,500 7,500 16 000 18 000 20 000
Расширенное количество операций ввода-вывода в секунду (IOPS) на диск Не применимо Не применимо Не применимо Не применимо Не применимо Не применимо Не применимо Не применимо 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 МБ/с
Максимальные пиковые IOPS на диск 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 мин Без ограничений Без ограничений Без ограничений Без ограничений Без ограничений Без ограничений
Подходит для резервирования нет нет нет нет нет нет нет нет Да, до одного года Да, до одного года Да, до одного года Да, до одного года Да, до одного года Да, до одного года

*Применяется только к дискам с включенной функцией bursting по требованию.
** Применяется только к дискам с функцией «Performance Plus».

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

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

Запуск 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 Backup, которая позволяет выполнять автоматические резервные копии во время работы виртуальной машины.

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

Перед созданием моментального снимка необходимо указать идентификатор или имя диска. Используйте 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

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

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

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

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