Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
В этой статье рассматриваются расширения дисков операционной системы и дисков данных для виртуальной машины Linux. Вы можете добавить диски данных , чтобы обеспечить больше места в хранилище, а также расширить существующий диск данных. Размер виртуального жесткого диска по умолчанию для ОС обычно составляет 30 ГБ на виртуальной машине Linux в Azure. В этой статье рассматривается расширение дисков ОС или дисков данных. Невозможно развернуть размер полосатых томов.
Диск ОС имеет максимальную емкость 4095 ГиБ. Однако многие операционные системы секционируются с основной загрузочной записью (MBR) по умолчанию. Формат MBR ограничивает доступный размер до 2 ТиБ. Если требуется более 2 ТиБ, рекомендуется подключить диски данных для хранилища данных. Если необходимо хранить данные на диске ОС и требовать дополнительного места, преобразуйте его в таблицу секций GUID (GPT).
Предупреждение
Всегда убедитесь, что файловая система находится в работоспособном состоянии, а тип таблицы секций диска (GPT или MBR) может поддерживать новый размер. Резервное копирование данных перед выполнением операций расширения диска. Дополнительные сведения см. в кратком руководстве Azure по резервному копированию.
Определение объекта диска данных Azure в операционной системе
При развертывании диска данных с несколькими дисками данных на виртуальной машине может быть трудно связать номера логических единиц Azure с устройствами Linux. Если диск ОС нуждается в расширении, он четко помечен на портале Azure как диск ОС.
Сначала определите связь между использованием диска, точкой подключения и устройством df
с помощью команды.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
Здесь можно увидеть, например, что /opt/db/data
файловая система почти полна и находится в /dev/sdd1
разделе. Выходные данные df
отображают путь к устройству, определяя, подключен ли диск с использованием пути устройства или предпочтительного UUID в файле конфигурации fstab. Обратите внимание на столбец Type, указывающий формат файловой системы. Формат важен позже.
Теперь найдите LUN, который коррелирует с /dev/sdd
/dev/disk/azure/scsi1
содержимым. Выходные данные следующей ls
команды показывают, что устройство, известное как /dev/sdd
в ОС Linux, находится LUN1
при просмотре на портале Azure.
sudo ls -alF /dev/disk/azure/scsi1/
total 0
drwxr-xr-x. 2 root root 140 Sep 9 21:54 ./
drwxr-xr-x. 4 root root 80 Sep 9 21:48 ../
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun0 -> ../../../sdc
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun1 -> ../../../sdd
lrwxrwxrwx. 1 root root 13 Sep 9 21:48 lun1-part1 -> ../../../sdd1
lrwxrwxrwx. 1 root root 12 Sep 9 21:54 lun2 -> ../../../sde
lrwxrwxrwx. 1 root root 13 Sep 9 21:54 lun2-part1 -> ../../../sde1
Расширение управляемого диска Azure
Расширение без простоя
Вы можете развернуть управляемые диски без освобождения виртуальной машины. Параметр кэша узла диска не изменяет, можно ли развернуть диск данных без освобождения виртуальной машины.
Эта функция имеет следующие ограничения.
Внимание
Это ограничение не применяется к дискам SSD уровня "Премиум" версии 2 или "Ультра".
Если диск "Стандартный HDD", "Стандартный SSD" или "Премиум SSD" составляет 4 ТиБ или меньше, деактивируйте вашу виртуальную машину и отсоедините диск перед его расширением свыше 4 ТиБ. Если один из этих типов дисков уже больше 4 ТиБ, его можно развернуть, не переключив виртуальную машину и отсоединив диск.
- Поддерживается только для дисков данных.
- Не поддерживается для общих дисков.
- Необходимо установить и использовать один из следующих вариантов:
- Последняя версия Azure CLI.
- Последний модуль Azure PowerShell.
- Портал Azure.
- Шаблон Azure Resource Manager с версией API, которая равна
2021-04-01
или новее.
- Недоступно на некоторых классических виртуальных машинах. Используйте этот скрипт, чтобы получить список классических продуктов виртуальной машины, которые поддерживают расширение без простоя.
Расширение с использованием Ultra-дисков и SSD 2-го уровня "Премиум"
Расширение дисков ценовой категории "Ультра" и ssd уровня "Премиум" версии 2 без простоя имеет следующие дополнительные ограничения:
- Вы не можете расширить диск, если на этом диске также выполняется фоновое копирование данных. Пример заключается в том, что диск заполняется из моментальных снимков.
- Вы можете расширить виртуальные машины, используя контроллеры NVMe с дисками уровня "Ультра" или SSD уровня "Премиум" версии 2, без простоя благодаря этой общедоступной предварительной версии. Так как этот выпуск является общедоступной предварительной версией, его следует использовать только для тестирования функциональности расширения без простоя. Не развертывайте виртуальные машины в рабочей среде.
В следующих регионах можно развернуть виртуальные машины, использующие контроллеры NVMe с дисками Категории "Ультра" или SSD уровня "Премиум" версии 2 без простоя. Используйте портал Azure, Azure CLI или модуль Azure PowerShell:
- Юго-Восточная Азия
- Бразилия (Юг)
- Центральная Канада
- Западно-Центральная Германия
- Центральная Индия (в настоящее время не поддерживается на виртуальных машинах версии 6)
В следующих регионах можно развернуть виртуальные машины, использующие контроллеры NVMe с дисками Категории "Ультра" или SSD уровня "Премиум" версии 2 без простоя. Используйте только Azure CLI или модуль Azure PowerShell. В настоящее время нельзя использовать портал Azure:
- Восточная Азия
- Западная центральная часть США (в настоящее время не поддерживается на виртуальных машинах V6)
Разрешите до 10 минут правильного размера, отражаемого на виртуальных машинах Windows и виртуальных машинах Linux. Для виртуальных машин Linux необходимо выполнить функцию повторного сканирования Linux. Для виртуальной машины Windows, которая не имеет рабочей нагрузки, необходимо выполнить функцию повторного сканирования Windows. Вы можете выполнить повторное сканирование сразу, но если время находится в течение 10 минут, может потребоваться повторно выполнить повторное сканирование, чтобы отобразить правильный размер.
Расширение управляемого диска Azure
Обязательно установите последнюю версию Azure CLI и войдите в учетную запись Azure с помощью команды az login.
Для этой статьи потребуется существующая виртуальная машина в Azure с хотя бы одним подключенным и подготовленным диском данных. Если у вас еще нет виртуальной машины, которую можно использовать, см. статью "Создание и подготовка виртуальной машины с дисками данных".
В следующих примерах замените имена параметров заполнителя, такие как myResourceGroup и myVM собственными значениями.
Внимание
Если ваш диск соответствует требованиям для расширения без простоя, можно пропустить шаги 1 и 3.
Сжатие существующего диска не поддерживается и может привести к потере данных.
После расширения дисков расширьте том в ОС, чтобы использовать больший объем диска.
Нельзя выполнять операции с виртуальными жесткими дисками на работающей виртуальной машине. Отмените подготовку виртуальной машины, выполнив команду az vm deallocate. В следующем примере отменяется распределение виртуальной машины myVM, входящей в группу ресурсов с именем myResourceGroup.
az vm deallocate --resource-group myResourceGroup --name myVM
Для расширения виртуального жесткого диска следует отменить распределение виртуальной машины. Остановка виртуальной машины
az vm stop
с не освобождает вычислительные ресурсы. Чтобы освободить вычислительные ресурсы, используйтеaz vm deallocate
.Просмотрите список управляемых дисков в группе ресурсов, выполнив команду az disk list. В следующем примере показан список управляемых дисков в группе ресурсов с именем myResourceGroup:
az disk list \ --resource-group myResourceGroup \ --query '[*].{Name:name,size:diskSizeGB,Tier:sku.tier}' \ --output table
Расширьте диск, выполнив команду az disk update. В следующем примере размер управляемого диска myDataDisk увеличивается до 200 ГБ:
az disk update \ --resource-group myResourceGroup \ --name myDataDisk \ --size-gb 200
При расширении управляемого диска его новый размер округляется до ближайшего размера управляемого диска.
Запустите виртуальную машину, выполнив команду az vm start. В следующем примере запускается виртуальная машина myVM, входящая в группу ресурсов с именем myResourceGroup.
az vm start --resource-group myResourceGroup --name myVM
Развертывание раздела диска и файловой системы
Для изменения размера разделов можно использовать множество средств. Средства, описанные в оставшейся части этой статьи, совпадают с теми, которые используют определенные автоматизированные процессы, такие как cloud-init. Как описано здесь, средство growpart
с пакетом gdisk
обеспечивает универсальную совместимость с дисками GPT, поскольку старые версии некоторых средств, таких как fdisk
, не поддерживали GPT.
Обнаружение измененного размера диска
Если вы использовали указанную ранее процедуру для расширения диска данных без простоя, размер указанного диска не изменяется, пока устройство не будет пересканировано. Повторное сканирование обычно происходит только во время загрузки. Чтобы вызвать эту повторное сканирование по запросу, используйте следующую процедуру. При использовании методов в этой статье обратите внимание, что в этом примере диск данных в настоящее время /dev/sda
был изменён с 256 ГиБ до 512 ГиБ.
Найдите текущий распознанный размер в первой строке выходных данных из
fdisk -l /dev/sda
.sudo fdisk -l /dev/sda
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
1
Вставьте символ в файл повторного сканирования для этого устройства. Обратите внимание на ссылку наsda
в примере. Идентификатор диска изменяется, если размер другого дискового устройства изменяется.echo 1 | sudo tee /sys/class/block/sda/device/rescan
Убедитесь, что новый размер диска теперь распознается.
sudo fdisk -l /dev/sda
Disk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
Остаток статьи использует диск ОС на примерах процедуры увеличения размера тома на уровне ОС. Если развернутый диск является диском данных, используйте предыдущее руководство для идентификации устройства диска данных. Следуйте этим инструкциям в качестве руководства. При необходимости замените устройство диска данных (например, /dev/sda
), номера разделов, имена томов, точки монтирования и форматы файловой системы.
Следует рассматривать все рекомендации по ОС Linux как универсальные, которые могут применяться к любому дистрибутиву, но, как правило, они соответствуют соглашениям наименованного поставщика на рынке. Ознакомьтесь с документацией от Red Hat, чтобы узнать о требованиях к пакетам для дистрибутивов, основанных на Red Hat, или совместимых с Red Hat.
Увеличение размера диска ОС
Следующие инструкции применяются к утвержденным дистрибутивам Linux.
Прежде чем продолжить, сделайте полную резервную копию виртуальной машины или, как минимум, создайте моментальный снимок диска ОС.
В Ubuntu 16.x и более поздней версии корневая секция диска и файловой системы ОС автоматически развертываются, чтобы использовать все свободное непрерывное пространство на корневом диске с помощью cloud-init. Для операции изменения размера должно быть доступно небольшое свободное место. В этом случае последовательность состоит в следующем:
- Увеличьте размер диска ОС, как описано ранее.
- Перезапустите виртуальную машину и получите доступ к виртуальной машине с помощью учетной записи корневого пользователя.
- Убедитесь, что диск ОС теперь отображает увеличенный размер файловой системы.
Как показано в следующем примере, диск ОС был изменен с портала на 100 ГБ. Файловая система /dev/sda1
, смонтированная на /
, теперь отображает 97 ГБ.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 314M 0 314M 0% /dev
tmpfs tmpfs 65M 2.3M 63M 4% /run
/dev/sda1 ext4 97G 1.8G 95G 2% /
tmpfs tmpfs 324M 0 324M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 324M 0 324M 0% /sys/fs/cgroup
/dev/sda15 vfat 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 ext4 20G 44M 19G 1% /mnt
tmpfs tmpfs 65M 0 65M 0% /run/user/1000
user@ubuntu:~#
Расширение поддержки SKU классической виртуальной машины без простоя.
Если вы используете классический номер SKU виртуальной машины, он может не поддерживать расширение дисков без простоя.
Используйте следующий скрипт PowerShell для определения доступных номеров SKU виртуальных машин:
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}