Lvm изменение размера логического тома.

Сбор информации.
Смотрим какие группы томов установлены.
Volume Group(VG)
root@irt:/home/irt# vgdisplay 
  --- Volume group ---
  VG Name               irt.ds
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  14
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                6
  Open LV               6
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               232,64 GiB
  PE Size               4,00 MiB
  Total PE              59557
  Alloc PE / Size       59557 / 232,64 GiB
  Free  PE / Size       0 / 0
  VG UUID               ed5U2o-Cnfa-dweY-d99r-dQtz-fgxi-mn7pDo
   
root@irt:/home/irt# 
Здесь выводиться информация о доступной группе томов. Имя группы irt.ds, формат lvm2(lvm1 и lvm2 не совместимы), группа томов доступна для чтения записи(VG Access read/write) и ее размер может быть изменен.
Текущий размер группы томов 232,64 GiB, размер блока(PE физический диапазон) 4,00 MiB запомните это значение при изменении размера логических томов данный параметр будет играть ключевую роль в определении объема необходимой области(размера диска). Общее количество блоков(PE) 59557.
Размечено Alloc PE / Size 58594 / 228,88 GiB
Не размеченная область Free PE / Size 0 / 0.

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

Допустим я хочу отрезать 2G от /home и добавить к /usr
Уменьшение размера /home
1. Необходимо размонтировать каталог /home
irt@irt:~$ umount /home
umount: only root can unmount /dev/mapper/irt.ds-home from /home
Только root может делать это получим root доступ и попробуем еще раз
irt@irt:~$ sudo -s 
[sudo] password for irt:
root@irt:/home/irt# umount /home
umount: /home: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
Это сообщение означает что есть открытые файлы из /home.
Если вы работаете в графической оболочке вам необходимо выйти из нее и переключиться на текстовую консоль.
root@irt:/home/irt# lsof | grep /home
bash      2104         irt  cwd       DIR              254,5     4096    1638401 /home/irt
sudo      2133        root  cwd       DIR              254,5     4096    1638401 /home/irt
bash      2135        root  cwd       DIR              254,5     4096    1638401 /home/irt
lsof      2156        root  cwd       DIR              254,5     4096    1638401 /home/irt
grep      2157        root  cwd       DIR              254,5     4096    1638401 /home/irt
lsof      2158        root  cwd       DIR              254,5     4096    1638401 /home/irt
Команда показывает какими программами занят необходимый нам каталог /home
Нужно выйти из консоли root пользователя сменить каталог, чтобы он находился вне /home .
и получить права root вновь.
#umount /home
#

Далее нужно определить в мегабайтах размер /home
root@irt:/home/irt# lvdisplay /dev/irt.ds/home
  --- Logical volume ---
  LV Name                /dev/irt.ds/home
  VG Name                irt.ds
  LV UUID                drrd5F-5BUc-zWPN-POKz-NiW6-h2g6-fPdTre
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                217,10 GiB
  Current LE             55578
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:5
Это кол-во логических блоков Current LE 55578, каждый блок как мы помним 4M. Получается что общий объем /home 222312M мы хотим отрезать от него 2048M в конечном итоге /home должен стать размером 220264M.
Для изменения раздела диска с файловой системой ext2, ext3, ext4 существует специальная утилита
resize2fs ее синтаксис смотрите в man. Перед запуском этой программы необходимо проверить ваш том на целостность и наличие ошибок, утилитой e2fsck

#e2fsck -f /dev/irt.ds/home 
После того как закончиться проверка зададим новый размер диска
#resize2fs /dev/irt.ds/home 220264M
Теперь изменим логический том
# lvreduce -L-2G /dev/irt.ds/home
Проверим что получилось
root@irt:/home/irt# lvdisplay /dev/irt.ds/home 
  --- Logical volume ---
  LV Name                /dev/irt.ds/home
  VG Name                irt.ds
  LV UUID                drrd5F-5BUc-zWPN-POKz-NiW6-h2g6-fPdTre
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                215,10 GiB
  Current LE             55066
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:5
Проверим что с нашей группой томов VG
root@irt:/home/irt# vgdisplay 
  --- Volume group ---
  VG Name               irt.ds
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  17
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                6
  Open LV               6
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               232,64 GiB
  PE Size               4,00 MiB
  Total PE              59557
  Alloc PE / Size       59045 / 230,64 GiB
  Free  PE / Size       512 / 2,00 GiB
  VG UUID               ed5U2o-Cnfa-dweY-d99r-dQtz-fgxi-mn7pDo
как мы видим у нас появилос Free PE / Size 512 / 2,00 GiB свободного места.
Увеличим размер /usr.

root@irt:/home/irt# lvdisplay /dev/irt.ds/usr 
  --- Logical volume ---
  LV Name                /dev/irt.ds/usr
  VG Name                irt.ds
  LV UUID                5x3jPZ-3zzp-0whA-3DYX-aYjf-dllt-rfj0X3
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                8,38 GiB
  Current LE             2145
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:2

Процесс увеличения логического тома намного проще. Не нужно ничего размонтировать
root@irt:/home/irt# lvextend -L+2G /dev/irt.ds/usr 
  Extending logical volume usr to 10,38 GiB
  Logical volume usr successfully resized

root@irt:/home/irt# resize2fs /dev/irt.ds/usr 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/irt.ds/usr is mounted on /usr; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/irt.ds/usr to 2720768 (4k) blocks.
The filesystem on /dev/irt.ds/usr is now 2720768 blocks long.

Читайте далее Lvm, swap изменить размер файла подкачки

Комментарии

  1. Спасибо! Отличная инструкция, мне здорово помогла :) И про swap тоже!

    ОтветитьУдалить
  2. Спасибо большое, статья очень помогла.

    ОтветитьУдалить
  3. Выручил!лик без хороший

    ОтветитьУдалить
  4. Спасибо! Хороший ман, без воды!

    ОтветитьУдалить
  5. Спасибо, всё внятно и понятно!

    ОтветитьУдалить
  6. Большое спасибо, друг! Всё доходчиво расписал :)

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения