Расширение раздела PV в Linux

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

У меня есть ситуация, где доступно ~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 и изменить или удалить который вы не можете.

Прежде чем двигаться дальше, важно понять некоторые ключевые концепции.

  1. GPT и MBR: Ваша система использует таблицу разделов GPT. Это открывает перед вами больше возможностей по созданию разделов, чем MBR (Master Boot Record), ограничивающий количество первичных разделов до четырех. GPT поддерживает неограниченное количество разделов, хотя инструменты вроде fdisk могут отображать MBR-секцию, создаваемую для совместимости.

  2. LVM: Это способ управления логическими томами в Linux, который позволяет более гибко распределять дисковое пространство. LVM позволяет расширять или уменьшать размеры логических томов без значительных усилий, что делает его очень удобным инструментом для целей управления дисковым пространством.

  3. Управление разделами: Ваша цель – расширить третий раздел (/dev/sda3) без воздействия на /dev/sda4. Это возможно при использовании инструментов, работающих на уровне GPT, например, parted.

Пример

В вашем случае, parted показывает, что после /dev/sda4 есть свободное пространство размером 307201 МБ. Это именно то, что вы хотите использовать для расширения. Поскольку ваш диск размечен как GPT, вы не ограничены четырьмя первичными разделами, как это случается с MBR.

Применение

Теперь, когда мы прояснили основы, перейдем к шагам, которые позволят вам расширить /dev/sda3.

  1. Резервное копирование данных: Всегда начните с создания резервной копии всех важных данных. Работа с разделами может привести к потере данных, если что-то пойдет не так.

  2. Использование parted для изменения разделов:

    • Запустите parted /dev/sda.
    • Наведите parted на работу с MiB, введя unit MiB.
    • Убедитесь, что ваша файловая система готова к изменениям, используя print free, чтобы увидеть всю карту диска.
    • Переместите /dev/sda4, чтобы освободить место после /dev/sda3. Это делается с помощью команды resizepart.
    • Расширьте /dev/sda3 командой:
      (parted) resizepart 3 614400MiB
    • Убедитесь, что изменения были успешными с помощью команды print.
  3. Расширение PV с помощью pvresize:

    • Введите команду pvresize /dev/sda3.
    • Эта команда позволит LVM использовать новое пространство.
  4. Проверка PV и VG:

    • Убедитесь, что PV теперь использует все свободное место с помощью pvs.
    • Проверьте объемные группы с помощью vgs, чтобы убедиться, что они также обновлены. Теперь вы можете распределять новые логические тома по мере необходимости.
  5. Дополнительные настройки файловой системы:

    • Если необходимо, обновите файловую систему, расширяя её для поддержки нового объема с помощью команды, подходящей для вашей файловой системы, например, resize2fs для ext4.

Заключение

Ваш вопрос требует работы на нескольких уровнях системы, от базового понимания GPT и MBR, до использования инструментов управления разделами и LVM. В вашей ситуации работа с parted позволит предотвратить удаление важной информации с /dev/sda4, но потребует изменения размещения разделов, чтобы использовать свободное пространство. Предложенный план действий позволил бы эффективно и безопасно расширить ваш физический том и, в дальнейшем, логические группы и тома, обеспечивая вас необходимым дисковым пространством. Всегда проверяйте успех каждой операции перед переходом к следующему шагу, чтобы убедиться в целостности данных и правильности настройки.

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

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