Уменьшение размера LVM раздела в Centos

Подробности статьи
Ссылка: http://support.hitex.by/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=175
Cтатья №: 175
Создано: 10 Apr 2017 1:08 PM

Ответ

Перед изменением размера раздела его необходимо отмонтировать, но учитывая что редактировать нам надо корневой раздел, лучше загрузится с LiveCD/LiveDVD или с установочного диска в режиме rescue (для этого выбрать соответствующий пункт меню загрузки с диска).

При работе с rescue-диска, к командам LVM надо впереди добавять lvm, либо выполнять их из встроенного интерпретатора lvm:

# lvm pvs
либо
# lvm
lvm> pvs

Проверяем, определился или нет, системой наша LVM группа.

# pvs
  PV         VG         Fmt  Attr PSize   PFree  
  /dev/sda1  VolGroup   lvm2 a-   100,00g      0
# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  VolGroup   1   2   0   wz--n- 100,00g      0
# lvs
  LV         VG         Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  lv_root    VolGroup   -wi-a-  98,00g
  lv_swap    VolGroup   -wi-a-   2,00g

lvreduce урезает размер LVM раздела. Работает она следующим образом, параметр -L указывает на изменение размера раздела, здесь же есть 2 варианта: указание размера и относительное значение, со знаком + или -. Например, -L 83G урежет размер до 83G(то бишь lvm_root станет 83Gb вместо 98Gb), соответственно -L -15G или -L +15G уменьшит или увеличит размер на указанный (lvm_root станет 98G минус 15G или 98G плюс 15G).

Итак, нам надо уменьшить размер раздела следующей командой:

# lvreduce -r -L -15G /dev/Volgroup/lv_root
Наличие опции -r указывает, что надо также изменить размер файловой системы, без неё данные будут утеряны.

Успешность выполнения команды lvreduce проверяется просмотром свободного места в VolGroup.

# vgs

Свободного места должно быть 83G.


Создаём новый раздел для директории home

 lvcreate -L 83GB -n lv_home VolGroup 

и файловую систему на нём.

 mkfs.ext4 -L home /dev/VolGroup/lvm_home

Добавляем запись о разделе в файл /etc/fstab

 /dev/VolGroup/lvm_home  /home   etx4 defaults 1 2 
Перенести всю информацию из директории /home относительно раздела / (корневого раздела) в /home вновь созданого раздела (он будет пустой, если не считать системной директории lost+found)

Для этого:

mkdir /mnt/{root,home}
mount -t ext4 /dev/VolGroup/lv_root /mnt/root
mount -t ext4 /dev/VolGroup/lv_home /mnt/home
mv -v /mnt/root/home /mnt/home

загружаем нашу ОС и проверяем логические разделы LVM

lvdisplay
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_root
  VG Name                VolGroup
       .....
  LV Size                15,00 GiB
       .....
   
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_home
  VG Name                VolGroup
       .....
  LV Size                83,00 GiB
       .....
   
  --- Logical volume ---
  LV Name                /dev/VolGroup/lv_swap
  VG Name                VolGroup
       .....
  LV Size                2,00 GiB