Вопрос или проблема
У меня есть ситуация, где доступно ~300G на /dev/sda
, и я хочу расширить раздел /dev/sda3
с добавлением этих ~300G.
Однако, из того, что я читал в интернете, если существует /dev/sda4
, я не могу увеличить /dev/sda3
, если не удалю /dev/sda4
, который содержит /boot/efi
(что, как я полагаю, не является вариантом).
fdisk -l /dev/sda
Disk /dev/sda: 644.2 GB, 644245094400 bytes, 1258291200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sda1 * 1 629145599 314572799+ ee GPT
Что также интересно, так это то, что “Disk label type” – это dos, хотя я думаю, что это GPT. Это, похоже, мешает отображению /dev/sda2
, /dev/sda3
и /dev/sda4
при выполнении fdisk -l
. У меня на этой системе нет gparted.
Я знаю, что эти разделы существуют, потому что их можно увидеть в df -h
:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg-root 10G 5.4G 4.7G 54% /
devtmpfs 24G 0 24G 0% /dev
tmpfs 24G 39M 24G 1% /dev/shm
tmpfs 24G 209M 24G 1% /run
tmpfs 24G 0 24G 0% /sys/fs/cgroup
/dev/sda2 509M 124M 386M 25% /boot
/dev/sda4 200M 5.1M 195M 3% /boot/efi
/dev/mapper/vg-tmp 8.0G 33M 8.0G 1% /tmp
/dev/mapper/vg-var 3.0G 268M 2.8G 9% /var
/dev/mapper/vg-home 509M 28M 482M 6% /home
/dev/mapper/vg-var_log 5.0G 215M 4.8G 5% /var/log
/dev/mapper/vg-var_log_audit 2.0G 65M 2.0G 4% /var/log/audit
/dev/sda3
использует lvm, и это позволит мне расширить /dev/mapper
, как только у меня будет добавлено 300GB на PV.
Я вижу свободное место с помощью команды parted
:
parted /dev/sda unit MiB print free
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 614400MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot
Number Start End Size File system Name Flags
0.02MiB 1.00MiB 0.98MiB Free Space
1 1.00MiB 2.00MiB 1.00MiB bios_grub
2 2.00MiB 514MiB 512MiB xfs
3 514MiB 306999MiB 306485MiB lvm
4 306999MiB 307199MiB 200MiB fat16
307199MiB 614400MiB 307201MiB Free Space
Мой вопрос: Есть ли какой-то способ увеличить PV /dev/sda3
без удаления /dev/sda4
, чтобы я мог увеличить существующие на /dev/sda3
VGs на дополнительные 300GB?
Во-первых, вы смешиваете старое с новым. LVM не заботится о том, где находится диск, пока он отформатирован для LVM. Во-вторых, у вас небольшая проблема, так как ваша четвертая разделительная таблица должна быть расширенной, а не FAT16. Диски MBR могут обрабатывать только до 4 первичных или расширенных разделов.
Чтобы обойти это ограничение, системы по умолчанию создают первые три раздела как первичные, а все дополнительные — как логические разделы внутри одного большого расширенного раздела. Если вы хотите сохранить текущую настройку, вам необходимо избавиться от этого 4-го раздела или использовать редактор разделов для перемещения раздела в конец диска.
Поскольку это ВМ, не должно иметь значения, где физически находятся разделы. Есть ли причина для нахождения этого FAT16 раздела? Я вижу, у вас уже есть загрузочный раздел — хотя бы у вас есть BIOS_GRUB раздел… Загрузите инструмент, например GPartEd, чтобы переместить раздел и расширить sda3
.
После этого, после загрузки обратно в ОС, пройдите через ваш LVM-урок, чтобы убедиться, что используется дополнительное 300GB в разделе. Вы можете проверить это, запустив от имени root pvs
. После того как вы убедитесь, что весь физический объем используется, запустите vgs
, чтобы проверить, что группы томов, к которым он прикреплен, также увеличились. Если это так, вы можете управлять разделами так, как было задумано в LVM.
Ответ или решение
Теория
Ваша ситуация касается управления дисками в Linux с использованием LVM (Logical Volume Manager) на диске с разметкой GPT. Вы хотите расширить физический том (PV) на /dev/sda3, чтобы использовать дополнительные 300 ГБ, которые сейчас являются неиспользуемым пространством на /dev/sda. Однако, это пространство находится после /dev/sda4, который содержит раздел /boot/efi и изменить или удалить который вы не можете.
Прежде чем двигаться дальше, важно понять некоторые ключевые концепции.
-
GPT и MBR: Ваша система использует таблицу разделов GPT. Это открывает перед вами больше возможностей по созданию разделов, чем MBR (Master Boot Record), ограничивающий количество первичных разделов до четырех. GPT поддерживает неограниченное количество разделов, хотя инструменты вроде
fdisk
могут отображать MBR-секцию, создаваемую для совместимости. -
LVM: Это способ управления логическими томами в Linux, который позволяет более гибко распределять дисковое пространство. LVM позволяет расширять или уменьшать размеры логических томов без значительных усилий, что делает его очень удобным инструментом для целей управления дисковым пространством.
-
Управление разделами: Ваша цель – расширить третий раздел (/dev/sda3) без воздействия на /dev/sda4. Это возможно при использовании инструментов, работающих на уровне GPT, например,
parted
.
Пример
В вашем случае, parted
показывает, что после /dev/sda4 есть свободное пространство размером 307201 МБ. Это именно то, что вы хотите использовать для расширения. Поскольку ваш диск размечен как GPT, вы не ограничены четырьмя первичными разделами, как это случается с MBR.
Применение
Теперь, когда мы прояснили основы, перейдем к шагам, которые позволят вам расширить /dev/sda3.
-
Резервное копирование данных: Всегда начните с создания резервной копии всех важных данных. Работа с разделами может привести к потере данных, если что-то пойдет не так.
-
Использование
parted
для изменения разделов:- Запустите
parted /dev/sda
. - Наведите
parted
на работу с MiB, введяunit MiB
. - Убедитесь, что ваша файловая система готова к изменениям, используя
print free
, чтобы увидеть всю карту диска. - Переместите /dev/sda4, чтобы освободить место после /dev/sda3. Это делается с помощью команды
resizepart
. - Расширьте /dev/sda3 командой:
(parted) resizepart 3 614400MiB
- Убедитесь, что изменения были успешными с помощью команды
print
.
- Запустите
-
Расширение PV с помощью
pvresize
:- Введите команду
pvresize /dev/sda3
. - Эта команда позволит LVM использовать новое пространство.
- Введите команду
-
Проверка PV и VG:
- Убедитесь, что PV теперь использует все свободное место с помощью
pvs
. - Проверьте объемные группы с помощью
vgs
, чтобы убедиться, что они также обновлены. Теперь вы можете распределять новые логические тома по мере необходимости.
- Убедитесь, что PV теперь использует все свободное место с помощью
-
Дополнительные настройки файловой системы:
- Если необходимо, обновите файловую систему, расширяя её для поддержки нового объема с помощью команды, подходящей для вашей файловой системы, например,
resize2fs
для ext4.
- Если необходимо, обновите файловую систему, расширяя её для поддержки нового объема с помощью команды, подходящей для вашей файловой системы, например,
Заключение
Ваш вопрос требует работы на нескольких уровнях системы, от базового понимания GPT и MBR, до использования инструментов управления разделами и LVM. В вашей ситуации работа с parted
позволит предотвратить удаление важной информации с /dev/sda4, но потребует изменения размещения разделов, чтобы использовать свободное пространство. Предложенный план действий позволил бы эффективно и безопасно расширить ваш физический том и, в дальнейшем, логические группы и тома, обеспечивая вас необходимым дисковым пространством. Всегда проверяйте успех каждой операции перед переходом к следующему шагу, чтобы убедиться в целостности данных и правильности настройки.