Вопрос или проблема
Я хочу расширить виртуальный диск в среде 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 и решить возникшие трудности.
Пошаговая инструкция по расширению виртуального диска и разделов:
-
Проверка текущей конфигурации:
Перед началом убедитесь, что виртуальный диск действительно увеличен в интерфейсе Proxmox и что это изменение отражено в гостевой операционной системе. Использование командыlsblk
илиfdisk -l
поможет вам убедиться, что система видит новый размер диска. -
Создание резервных копий:
Перед тем как приступать к изменениям, крайне важно создать резервную копию всех данных и/или сделать снимок виртуальной машины. Это позволит избежать потери данных в случае ошибки. -
Использование parted для расширения разделов:
Посколькуcfdisk
может вызывать ошибки при изменении размеров активных разделов, вы можете использоватьparted
для низкоуровневого изменения размера разделов.-
Запуск parted:
Откройте терминал и введитеsudo parted /dev/vda
. -
Просмотр свободного пространства:
Введитеprint free
, чтобы увидеть текущее распределение свободного пространства. -
Расширение раздела vda2:
Введитеresizepart 2 100GB
, чтобы расширить вторичный расширенный раздел до конца диска. -
Повторная проверка:
Опять выполните командуprint free
, чтобы подтвердить, что изменения приняты.
-
-
Использование 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. Убедитесь, что у вас есть резервные копии и вы внимательно следуете инструкциям, чтобы минимизировать риски потери данных.