LVM. Уменьшение (Reduce/Decrease/Shrink) объема раздела LVM: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
== Описание ==
В данной инструкции мы уменьшаем '''системный''' раздел '''root''', но она также подойдет и для уменьшения '''НЕсистменого''' раздела.
== Грузимся с загрузочного LIVE дистрибутива Linux. Например, с SystemRescueCD ==
== Грузимся с загрузочного LIVE дистрибутива Linux. Например, с SystemRescueCD ==
Все действия производим в LIVE системе
Все действия производим в LIVE системе.
 
== Вариант 1. XFS файловая система на разделе LV ==
Активируем LVM разделы


== XFS файловая система на разделе LV ==
<code>vgchange -ay</code>
<code>vgchange -ay</code>


lvs
<code>lvs</code>
 
  LV   VG                    Attr       '''LSize'''   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  LV   VG                    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  '''root centos_centos7-test01''' -wi-ao----  '''28.99g'''
 
  swap centos_centos7-test01 -wi-a-----   2.00g
  root centos_centos7-test01 -wi-ao----  28.99g
  data data                  -wi-a----- 508.00m
 
Создаем директорию для монтирования системы root
  swap centos_centos7-test01 -wi-a-----   2.00g


  data data                  -wi-a----- 508.00m
<code>mkdir /mnt/root_lv</code>


mkdir /mnt/root_lv
Создаем директорию для бэкапа файлов раздела root в образ


mkdir /mnt/root_backup
<code>mkdir /mnt/root_backup</code>


mount /dev/centos_centos7-test01/root /mnt/root_lv/
Монтируем раздел root в директорию


mount -t cifs -o username=admin,password=fTrerior //192.168.17.12/img/tmp/root /mnt/root_backup/
<code>mount /dev/centos_centos7-test01/root /mnt/root_lv/</code>


xfsdump -l 0 -L "root_backup" -M "root_backup" -f /mnt/root_backup/root_backup.img /mnt/root_lv
Монтируем сетевую шару, на которую будем бэкапировать файлы раздела root (для этого подойдет и обычный раздел локального диска, например, подключенного через USB)


umount /mnt/root_lv
<code>mount -t cifs -o username=admin,password=fTrerior //192.168.17.12/img/tmp/root /mnt/root_backup/</code>


lvremove /dev/centos_centos7-test01/root
Бэкапим файлы раздела root в образ


lvcreate -Zy -L 15G -n root centos_centos7-test01
<code>xfsdump -l 0 -L "root_backup" -M "root_backup" -f /mnt/root_backup/root_backup.img /mnt/root_lv</code>


lvs
Демонтируем раздел root


  LV   VG                    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
<code>umount /mnt/root_lv</code>


  root centos_centos7-test01 -wi-a-----  15.00g
Удаляем раздел root, чтобы на его месте создать новый root уменьшенного размера


  swap centos_centos7-test01 -wi-a-----   2.00g
<code>lvremove /dev/centos_centos7-test01/root</code>


  data data                  -wi-a----- 508.00m
Создаем новый root уменьшенного размера


vgs
<code>lvcreate -Zy -L 15G -n root centos_centos7-test01</code>


  VG                    #PV #LV #SN Attr   VSize    VFree
<code>lvs</code>
  LV   VG                    Attr       '''LSize'''   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  '''root centos_centos7-test01''' -wi-a-----  '''15.00g'''
  swap centos_centos7-test01 -wi-a-----   2.00g
  data data                  -wi-a----- 508.00m
<code>vgs</code>
  VG                    #PV #LV #SN Attr   VSize    '''VFree'''
  '''centos_centos7-test01'''   1   2   0 wz--n-  <31.00g '''<14.00g'''
  data                    1   1   0 wz--n- 1020.00m 512.00m
Форматируем новый раздел root<blockquote>В mkfs.xfs (начиная с версии 3.2.4 xfsprogs) недавно стал использоваться по умолчанию суперблок версии 5 с множеством новых улучшений, таких как контрольные суммы метаданных CRC.


  centos_centos7-test01   1   2   0 wz--n-  <31.00g <14.00g
Чтобы избежать ошибки, требуется '''"-m reflink=0"''', что отключает несовместимую поддержку копирования при записи reflink.</blockquote><code>mkfs.xfs -m reflink=0 /dev/centos_centos7-test01/root</code>


  data                    1   1   0 wz--n- 1020.00m 512.00m
Монтируем новый раздел в директорию


<nowiki>#</nowiki> В mkfs.xfs (начиная с версии 3.2.4 xfsprogs) недавно стал использоваться по умолчанию суперблок версии 5 с множеством новых улучшений, таких как контрольные суммы метаданных CRC.
<code>mount /dev/centos_centos7-test01/root /mnt/root_lv/</code>


<nowiki>#</nowiki> Чтобы избежать ошибки, требуется "-m reflink=0", что отключает несовместимую поддержку копирования при записи reflink.
Восстанавливаем файлы root из сохраненного образа


mkfs.xfs -m reflink=0 /dev/centos_centos7-test01/root
<code>xfsrestore -f /mnt/root_backup/root_backup.img /mnt/root_lv</code>


mount /dev/centos_centos7-test01/root /mnt/root_lv/
Демонтируем раздел root и директорию для бэкапа


xfsrestore -f /mnt/root_backup/root_backup.img /mnt/root_lv
<code>umount /mnt/root_*</code>


umount /mnt/root_*
Перезагружаемся, систем должна загрузиться


reboot
<code>reboot</code>
[[Категория:LVM]]
[[Категория:LVM]]
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__

Версия 19:36, 25 декабря 2021

Описание

В данной инструкции мы уменьшаем системный раздел root, но она также подойдет и для уменьшения НЕсистменого раздела.

Грузимся с загрузочного LIVE дистрибутива Linux. Например, с SystemRescueCD

Все действия производим в LIVE системе.

Вариант 1. XFS файловая система на разделе LV

Активируем LVM разделы

vgchange -ay

lvs

  LV   VG                    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos_centos7-test01 -wi-ao----  28.99g
  swap centos_centos7-test01 -wi-a-----   2.00g
  data data                  -wi-a----- 508.00m

Создаем директорию для монтирования системы root

mkdir /mnt/root_lv

Создаем директорию для бэкапа файлов раздела root в образ

mkdir /mnt/root_backup

Монтируем раздел root в директорию

mount /dev/centos_centos7-test01/root /mnt/root_lv/

Монтируем сетевую шару, на которую будем бэкапировать файлы раздела root (для этого подойдет и обычный раздел локального диска, например, подключенного через USB)

mount -t cifs -o username=admin,password=fTrerior //192.168.17.12/img/tmp/root /mnt/root_backup/

Бэкапим файлы раздела root в образ

xfsdump -l 0 -L "root_backup" -M "root_backup" -f /mnt/root_backup/root_backup.img /mnt/root_lv

Демонтируем раздел root

umount /mnt/root_lv

Удаляем раздел root, чтобы на его месте создать новый root уменьшенного размера

lvremove /dev/centos_centos7-test01/root

Создаем новый root уменьшенного размера

lvcreate -Zy -L 15G -n root centos_centos7-test01

lvs

  LV   VG                    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos_centos7-test01 -wi-a-----  15.00g
  swap centos_centos7-test01 -wi-a-----   2.00g
  data data                  -wi-a----- 508.00m

vgs

  VG                    #PV #LV #SN Attr   VSize    VFree
  centos_centos7-test01   1   2   0 wz--n-  <31.00g <14.00g
  data                    1   1   0 wz--n- 1020.00m 512.00m

Форматируем новый раздел root

В mkfs.xfs (начиная с версии 3.2.4 xfsprogs) недавно стал использоваться по умолчанию суперблок версии 5 с множеством новых улучшений, таких как контрольные суммы метаданных CRC. Чтобы избежать ошибки, требуется "-m reflink=0", что отключает несовместимую поддержку копирования при записи reflink.

mkfs.xfs -m reflink=0 /dev/centos_centos7-test01/root

Монтируем новый раздел в директорию

mount /dev/centos_centos7-test01/root /mnt/root_lv/

Восстанавливаем файлы root из сохраненного образа

xfsrestore -f /mnt/root_backup/root_backup.img /mnt/root_lv

Демонтируем раздел root и директорию для бэкапа

umount /mnt/root_*

Перезагружаемся, систем должна загрузиться

reboot