LVM: Уменьшить размер физического тома, освободив место от удаленного логического тома

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

У меня есть следующий LVM-раздел:

# df -h

  Файловая система            Размер  Использовано Доступно Использ% Смонтировано на
  /dev/mapper/data-root       5.3G   4.2G       864M     84% /
  ...
  /dev/mapper/data-install    6.8G   5.7G       783M     89% /install

# vgs
  VG   #PV #LV #SN Атрибут  Размер VG   Свободно
  data   1   2   0 wz--n- <12.50g    0

# vgdisplay
  --- Группа томов ---
  Имя VG               data
  Идентификатор системы
  Формат               lvm2
  Области метаданных   1
  Номер последовательности метаданных  3
  Доступ к VG          чтение/запись
  Состояние VG         изменяемый
  MAX LV               0
  Текущий LV           2
  Открыто LV           2
  Max PV               0
  Текущий PV           1
  Активный PV          1
  Размер VG            <12.50 GiB
  Размер PE            4.00 MiB
  Всего PE             3199
  Выделено PE / Размер 3199 / <12.50 GiB
  Свободно PE / Размер 0 / 0
  UUID VG              jSACsC-wGwy-ki0w-nSCn-kxMy-bLOV-dVN68E


# pvs
  PV         VG   Фmt  Атрибут Размер ПСвободно
  /dev/sda2  data lvm2 a--  <12.50g    0

# pvdisplay
  --- Физический том ---
  Имя PV               /dev/sda2
  Имя VG               data
  Размер PV            <12.50 GiB / не использовано 3.00 MiB
  Могу выделить        да (но заполнено)
  Размер PE            4.00 MiB
  Всего PE             3199
  Свободно PE          0
  Выделено PE          3199
  UUID PV              CPggVR-sUXw-4gfw-lb2v-cq0j-M5ey-Ct7td3

# lvs
  LV      VG   Атрибут       Размер  Пул Происх. Д%  Мета%  Журнал Коп. Синхр. Конверт
  install data -wi-ao----  7.00g
  root    data -wi-ao---- <5.50g


# lvdisplay
  --- Логический том ---
  Путь LV               /dev/data/install
  Имя LV                install
  Имя VG                data
  UUID LV               ZXQmp5-L17b-eQyS-g3An-msk7-Jqso-MTaTIw
  Доступ на запись LV   чтение/запись
  Хост создания LV, время localhost, 2018-09-28 14:42:43 +0000
  Состояние LV          доступен
  открыто               1
  Размер LV             7.00 GiB
  Текущий LE            1792
  Сегменты              1
  Аллокация            унаследовано
  Сектора предварительного чтения авто
  - в настоящее время установлено  8192
  Блочное устройство     253:1



  --- Логический том ---
  Путь LV               /dev/data/root
  Имя LV                root
  Имя VG                data
  UUID LV               i3eMbC-rcm1-H2Gm-JJeF-jRxO-nL9h-toHSHQ
  Доступ на запись LV   чтение/запись
  Хост создания LV, время localhost, 2018-09-28 14:42:55 +0000
  Состояние LV          доступен
  # открыто             1
  Размер LV             <5.50 GiB
  Текущий LE            1407
  Сегменты              1
  Аллокация            унаследовано
  Сектора предварительного чтения авто
  - в настоящее время установлено  8192
  Блочное устройство     253:0

Я удаляю один из логических томов:

# umount /install
# lvremove /dev/data/install
# sed -i 'N;/\/dev\/mapper\/data-install/{s#/dev/mapper/data-install.*\n##}' /etc/fstab

После удаления:

# df -h
  Файловая система             Размер  Использовано Доступно Использ% Смонтировано на
  /dev/mapper/data-root        5.3G   4.2G       867M     84% /
  ...


# vgs
  VG   #PV #LV #SN Атрибут  Размер VG   Свободно
  data   1   1   0 wz--n- <12.50g 7.00g


# vgdisplay
  --- Группа томов ---
  Имя VG               data
  Идентификатор системы
  Формат               lvm2
  Области метаданных   1
  Номер последовательности метаданных  4
  Доступ к VG          чтение/запись
  Состояние VG         изменяемый
  MAX LV               0
  Текущий LV           1
  Открыто LV           1
  Max PV               0
  Текущий PV           1
  Активный PV          1
  Размер VG            <12.50 GiB
  Размер PE            4.00 MiB
  Всего PE             3199
  Выделено PE / Размер 1407 / <5.50 GiB
  Свободно PE / Размер 1792 / 7.00 GiB
  UUID VG              jSACsC-wGwy-ki0w-nSCn-kxMy-bLOV-dVN68E


# pvs
  PV         VG   Фmt  Атрибут Размер ПСвободно
  /dev/sda2  data lvm2 a--  <12.50g 7.00g


# pvdisplay
  --- Физический том ---
  Имя PV               /dev/sda2
  Имя VG               data
  Размер PV            <12.50 GiB / не использовано 3.00 MiB
  Могу выделить        да
  Размер PE            4.00 MiB
  Всего PE             3199
  Свободно PE          1792
  Выделено PE          1407
  UUID PV              CPggVR-sUXw-4gfw-lb2v-cq0j-M5ey-Ct7td3


# lvs
  LV   VG   Атрибут       Размер  Пул Происх. Д%  Мета%  Журнал Коп. Синхр. Конверт
  root data -wi-ao---- <5.50g


# lvdisplay
  --- Логический том ---
  Путь LV               /dev/data/root
  Имя LV                root
  Имя VG                data
  UUID LV               i3eMbC-rcm1-H2Gm-JJeF-jRxO-nL9h-toHSHQ
  Доступ на запись LV   чтение/запись
  Хост создания LV, время localhost, 2018-09-28 14:42:55 +0000
  Состояние LV          доступен
  # открыто             1
  Размер LV             <5.50 GiB
  Текущий LE            1407
  Сегменты              1
  Аллокация            унаследовано
  Сектора предварительного чтения авто
  - в настоящее время установлено  8192
  Блочное устройство     253:0

Как я могу уменьшить физический том, группу томов и в конечном итоге раздел, учитывая размер свободного пространства после удаления логического тома? Предпочтительно, чтобы это делалось с указанием относительных значений (для pvresize?) или что-то похожее на lvextend -l 100%FREE . Также я хотел бы достичь этого, используя только командную строку (без графического интерфейса). Также стоит отметить, что логический том root/system активен и используется постоянно.

Ну, pvresize не имеет опции для относительных значений, как у lvextend, поэтому вам нужно указать точный размер, который вы хотите. Вот что вы можете сделать:

  1. Уменьшите физический том: pvresize --setphysicalvolumesize 5.5G /dev/sda2
  2. Уменьшите раздел с помощью инструмента на ваш выбор. Если вы хотите автоматизировать это, вы можете использовать parted. Сделайте раздел немного больше, чем 5.5G, чтобы учесть различные способы расчета размера в байтах, или убедитесь, что вы используете одну и ту же единицу в обоих инструментах.
  3. Если единицы между инструментами различались, увеличьте физический том, чтобы занять весь раздел: pvresize /dev/sda2

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

Уменьшение размера физического тома в LVM: Пошаговая инструкция

Логическая система управления томами (LVM) предоставляет множество возможностей для управления разделами диска, включая увеличение и уменьшение логических и физических томов. В вашем случае, после удаления одного из логических томов в группе data, у вас образовалось свободное пространство, которое можно использовать для уменьшения размера физического тома, а также связанного с ним раздела на диске. Данная инструкция содержит шаги, как это сделать с использованием командной строки.

Шаг 1: Убедитесь в наличии свободного пространства

После удаления логического тома с помощью следующей команды:

umount /install
lvremove /dev/data/install

Вы можете увидеть, что у вас появилось свободное пространство:

vgs
# Вывод команд должен показать 1792 свободных физических единиц

Это свободное пространство будет использовано для уменьшения размера физического тома.

Шаг 2: Уменьшение размера физического тома

Для изменения размера физического тома используйте следующую команду:

pvresize --setphysicalvolumesize 5.5G /dev/sda2

При этом вы указываете, что новый размер физического тома будет 5.5 ГБ, так как именно столько требуется для логического тома root, который вы оставили активным.

Шаг 3: Уменьшение размера раздела на диске

Теперь, когда размер физического тома уменьшен, вам необходимо также привести в соответствие размер раздела на диске. Для этого можно использовать утилиту parted, которая обеспечивает возможность работы с разделами на дисках.

  1. Запустите утилиту parted:

    parted /dev/sda
  2. Проверьте текущие разделы:

    print
  3. Уменьшите размер раздела (предположим, что это второй раздел, который вы хотите уменьшить):

    resizepart 2 5.5GB

При этом убедитесь, что вы задаете размер немного больше, чем 5.5 ГБ, для того чтобы избежать проблем с округлением.

Шаг 4: Корректировка размера физического тома

Если у вас возникли ситуации, когда размер измерялся по-разному между различными инструментами (такими как pvresize и parted), вы можете расширить физический том до использования всего пространства в разделе:

pvresize /dev/sda2

Заключение

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

Также полезно периодически проверять состояние ваших томов, используя команды pvdisplay, vgdisplay и lvdisplay, чтобы оставаться в курсе используемого и свободного пространства.

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

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