Упражнение. Изменение размера диска виртуальной машины

Завершено

Предположим, что вы недооцениваете, насколько большими являются некоторые загруженные файлы, и что ваш диск отправки истекает. Вы решаете увеличить размер диска с 64 до 128 ГБ.

Здесь вы практикуете процесс, о который вы узнали в предыдущих уроках.

Изменение размера диска с данными

Чтобы изменить размер диска, вам потребуется идентификатор или имя диска. В этом случае вы уже знаете имя (*uploadDataDisk1), но в случае, если вы не создали диск или кто-то другой создал диск, можно запустить az disk list , чтобы найти имя.

  1. Выполните команду az disk list, чтобы вывести список управляемых дисков, входящих в группу ресурсов. Этот список может содержать другие диски, если у вас несколько виртуальных машин в одной группе ресурсов.

    az disk list \
      --query '[*].{Name:name,Gb:diskSizeGb,Tier:sku.tier}' \
      --output table
    

    Вы видите диск с именем uploadDataDisk1.

    Name                                                        Tier
    ----------------------------------------------------------  -------
    support-web-vm01_OsDisk_1_a7c59897dfda42dfab2edf4933e713a6  Premium
    uploadDataDisk1                                             Premium
    
  2. Выполните следующую команду az vm deallocate, чтобы остановить и отменить выделение виртуальной машины. Эта команда не удаляет виртуальную машину, но помещает ее в состояние, в котором можно изменить виртуальные диски.

    az vm deallocate --name support-web-vm01
    
  3. Выполните команду az disk update, чтобы изменить размер диска на 128 ГБ.

    az disk update --name uploadDataDisk1 --size-gb 128
    
  4. Выполните команду az vm start, чтобы перезапустить виртуальную машину.

    az vm start --name support-web-vm01
    

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

Развертывание раздела диска

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

  1. Хотя вы можете зарезервировать фиксированный общедоступный IP-адрес для виртуальной машины, по умолчанию виртуальная машина получает новый общедоступный IP-адрес при освобождении и перезапуске виртуальной машины. Выполните следующую команду az vm show, чтобы обновить переменную Bash, указав в ней новый общедоступный IP-адрес виртуальной машины.

    ipaddress=$(az vm show --name support-web-vm01 -d --query [publicIps] -o tsv)
    
  2. Как и раньше, выполните lsblk на виртуальной машине по протоколу SSH, чтобы понять ее текущее состояние.

    ssh azureuser@$ipaddress lsblk
    

    Вы видите, что диск sdc/sdc1 по-прежнему имеет размер 64 ГБ.

    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sdb       8:16   0    7G  0 disk 
    └─sdb1    8:17   0    7G  0 part /mnt
    sdc       8:32   0  128G  0 disk 
    └─sdc1    8:33   0   64G  0 part /uploads
    sda       8:0    0   30G  0 disk 
    ├─sda14   8:14   0    4M  0 part 
    ├─sda15   8:15   0  106M  0 part /boot/efi
    └─sda1    8:1    0 29.9G  0 part /
    
  3. Аналогично тому, что вы сделали ранее для инициализации диска, выполните следующую az vm extension set команду, чтобы сообщить ОС на виртуальной машине о новом доступном пространстве, выполнив предварительно созданный скрипт Bash, чтобы помочь вам.

    az vm extension set \
      --vm-name support-web-vm01 \
      --name customScript \
      --publisher Microsoft.Azure.Extensions \
      --settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-add-and-size-disks-in-azure-virtual-machines/master/resize-data-disk.sh"]}' \
      --protected-settings '{"commandToExecute": "./resize-data-disk.sh"}'
    

    Во время выполнения команды вы можете изучить сценарий Bash в отдельной вкладке браузера.

    Вкратце этот сценарий:

    • Отключает диск /dev/sdc1.
    • Увеличивает раздел 1 до 128 ГБ.
    • Проверяет согласованность разделов.
    • Изменяет размер файловой системы.
    • Подключает диск /dev/sdc1 обратно к точке подключения /uploads.
  4. Чтобы проверить конфигурацию, запустите lsblk на виртуальной машине по протоколу SSH во второй раз.

    ssh azureuser@$ipaddress lsblk
    

    На этот раз вы увидите, что диск sdc/sdc1 расширен и отражает увеличенный размер диска.

    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sdb       8:16   0     7G  0 disk 
    └─sdb1    8:17   0     7G  0 part /mnt
    sdc       8:32   0   128G  0 disk 
    └─sdc1    8:33   0 119.2G  0 part /uploads
    sda       8:0    0    30G  0 disk 
    ├─sda14   8:14   0     4M  0 part 
    ├─sda15   8:15   0   106M  0 part /boot/efi
    └─sda1    8:1    0  29.9G  0 part /
    
  5. В качестве последнего шага проверки запустите служебную программу df в операционной системе на виртуальной машине по протоколу SSH, чтобы убедиться, что операционная система видит увеличенный диск.

    ssh azureuser@$ipaddress df -h
    

    Вы увидите, что размер диска составляет 128 ГБ.

    Filesystem      Size  Used Avail Use% Mounted on
    udev            1.7G     0  1.7G   0% /dev
    tmpfs           345M  9.3M  335M   3% /run
    /dev/sda1        29G  1.9G   28G   7% /
    tmpfs           1.7G     0  1.7G   0% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           1.7G     0  1.7G   0% /sys/fs/cgroup
    /dev/sda15      105M  3.2M  102M   3% /boot/efi
    /dev/sdb1       6.8G   16M  6.4G   1% /mnt
    /dev/sdc1       118G   60M  112G   1% /uploads
    tmpfs           345M     0  345M   0% /run/user/1000