Не удается расширить виртуальный диск с помощью cfdisk: Ошибка изменения размера раздела

Вопрос или проблема

Я хочу расширить виртуальный диск в среде Proxmox с 64 ГБ до 100 ГБ. Гостевая ОС — Debian 10. Я расширил виртуальный диск в Proxmox (теперь он имеет 100 ГБ) и перезапустил гостевую ОС.

cfdisk корректно показывает, что размер диска теперь составляет 100 ГиБ:

                                             Disk: /dev/vda
                          Size: 100 GiB, 107374182400 bytes, 209715200 sectors
                                   Label: dos, identifier: 0x9f2b12a1

    Device           Boot               Start           End       Sectors      Size     Id Type
>>  /dev/vda1        *                   2048        499711        497664      243M     83 Linux
    /dev/vda2                          501758     134215679     133713922     63.8G      5 Extended
    └─/dev/vda5                        501760     134215679     133713920     63.8G     8e Linux LVM
    Free space                      134215680     209715199      75499520       36G

Однако я не могу расширить ни vda2, ни vda5, получая следующие сообщения об ошибках:

  • /dev/vda2: Максимальный размер — 68461528064 байт
  • /dev/vda5: Не удалось изменить размер раздела №5.

Какие-нибудь идеи, в чем может быть проблема?

У меня была такая же проблема.

Я решил ее, создав новый раздел через cfdisk, а затем создал новый физический том через pvcreate /dev/sda3. Я добавил этот новый pv в мою группу томов: vgextend /dev/VMTEMPLATE-vg /dev/sda3.

Теперь VG должна быть соответствующим образом увеличена.
Затем я изменил размер логического тома: lvresize /dev/VMTEMPLATE-vg/root /dev/sda3.

Наконец, я настроил размер файловой системы: resize2fs /dev/mapper/VMTEMPLATE--vg-root.

В VMware

Отредактируйте гостевую ВМ и добавьте немного дискового пространства на первый диск и сохраните.

Запустите cfdisk, чтобы использовать свободное пространство

$ sudo cfdisk

Создайте новый раздел из свободного пространства. В моем случае это был /dev/sda3

Создайте новый физический том

$ sudo pvcreate /dev/sda3

Физический том “/dev/sda3” успешно создан.

Добавьте новый физический том в мою группу томов

$ sudo vgextend /dev/transfer-vg /dev/sda3

Группа томов “transfer-vg” успешно расширена

Измените размер логического тома

$ sudo lvresize /dev/transfer-vg/root /dev/sda3

Размер логического тома transfer-vg/root изменен с <5.52 GiB (1413 extents) до <17.52 GiB (4485 extents).
Логический том transfer-vg/root успешно изменен в размере.

Найдите имя файловой системы для изменения размера

$ df -hT | grep mapper

/dev/mapper/transfer–vg-root ext4 5.4G 4.2G 911M 83% /

/dev/mapper/transfer-data ext4 79G 14G 61G 19% /var/www/data

Измените размер файловой системы

$ sudo resize2fs /dev/mapper/transfer--vg-root

resize2fs 1.44.1 (24-Mar-2018)
Файловая система на /dev/mapper/transfer–vg-root смонтирована на /; требуется онлайн-изменение размера
старые_desc_блоки = 1, новые_desc_блоки = 2
Файловая система на /dev/mapper/transfer–vg-root теперь 4592640 (4k) блоков в длину.

cfdisk может не позволить вам изменить размер раздела, поскольку он содержит другие используемые разделы. Вместо этого вы можете использовать инструмент, который может работать на низком уровне: parted

Предупреждение: Сделайте снимок ВМ заранее, так как вы можете потерять данные, если сделаете что-то неправильно. Здесь нет записи, сохранения или отмены.

В консоли parted введите resizepart <PART_NUMBER> <NEW_END_POSITION>

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

(parted) print free                                                       
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system  Flags
        32.3kB  1049kB  1016kB            Free Space
 1      1049kB  300MB   299MB   primary   ext2         boot
        300MB   301MB   1048kB            Free Space
 2      301MB   12.9GB  12.6GB  extended
 5      301MB   12.9GB  12.6GB  logical                lvm
        12.9GB  21.5GB  8591MB            Free Space

(parted) resizepart 2 21.5GB                                              

(parted) print free                                                       
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system  Flags
        32.3kB  1049kB  1016kB            Free Space
 1      1049kB  300MB   299MB   primary   ext2         boot
        300MB   301MB   1048kB            Free Space
 2      301MB   21.5GB  21.2GB  extended
 5      301MB   12.9GB  12.6GB  logical                lvm
        12.9GB  21.5GB  8591MB            Free Space

Как видите, конец раздела 2 совпадает с концом свободного пространства. После этого вы можете перейти в дружественный cfdisk, чтобы создать новый логический раздел.

Ответ или решение

Вам нужно расширить виртуальный диск в Proxmox с 64ГБ до 100ГБ, и вы столкнулись с проблемой при попытке расширить раздел с помощью cfdisk. Давайте разберем шаги, которые позволят вам успешно выполнить эту задачу в среде Debian 10 и решить возникшие трудности.

Пошаговая инструкция по расширению виртуального диска и разделов:

  1. Проверка текущей конфигурации:
    Перед началом убедитесь, что виртуальный диск действительно увеличен в интерфейсе Proxmox и что это изменение отражено в гостевой операционной системе. Использование команды lsblk или fdisk -l поможет вам убедиться, что система видит новый размер диска.

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

  3. Использование parted для расширения разделов:
    Поскольку cfdisk может вызывать ошибки при изменении размеров активных разделов, вы можете использовать parted для низкоуровневого изменения размера разделов.

    • Запуск parted:
      Откройте терминал и введите sudo parted /dev/vda.

    • Просмотр свободного пространства:
      Введите print free, чтобы увидеть текущее распределение свободного пространства.

    • Расширение раздела vda2:
      Введите resizepart 2 100GB, чтобы расширить вторичный расширенный раздел до конца диска.

    • Повторная проверка:
      Опять выполните команду print free, чтобы подтвердить, что изменения приняты.

  4. Использование Logical Volume Manager (LVM):
    Если ваши логические разделы используют LVM, следуйте этим шагам для их расширения.

    • Создание нового физического тома:
      После того как расширенный раздел увеличен, создайте новый логический раздел в свободном пространстве с помощью cfdisk или parted, а затем выполните sudo pvcreate /dev/vda3.

    • Расширение группы томов (VG):
      Добавьте новый физический том в вашу группу томов: sudo vgextend <VolumeGroupName> /dev/vda3.

    • Увеличение логического тома (LV):
      Используйте команду sudo lvresize -l +100%FREE <LogicalVolumePath> для увеличения нужного логического тома.

    • Расширение файловой системы:
      Наконец, увеличьте файловую систему с помощью sudo resize2fs <LogicalVolumePath>.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...