Вы здесь

Изменение размера тома в LVM2

Так вышло, что на одном из файловых серверов, у меня есть 3 логических раздела, созданные с помощью LVM2.
На разделе с системными файлам root стало заканчиваться свободное место, и я задумался об увеличении данного раздела. Используемая файловая система Ext4.

Для начала смотрим список логических разделов в системе:

  1. lvdisplay

Сокращенный вывод примерно такой:

  1. --- Logical volume ---
  2. LV Path /dev/debian7/root
  3. LV Name root
  4. VG Name debian7
  5. LV UUID jhHPG1-36ZH-azBd-a3Nr-WTDu-W1Cu-MuSF04
  6. LV Write Access read/write
  7. LV Creation host, time debian7, 2013-07-11 20:31:51 +0600
  8. LV Status available
  9. # open 1
  10. LV Size 10.04 GiB
  11.  
  12. --- Logical volume ---
  13. LV Path /dev/debian7/swap_1
  14. LV Name swap_1
  15. VG Name debian7
  16. LV UUID RR7LZQ-QjAK-Ri1a-XQeT-AHvS-aVXC-6D0Hsd
  17. LV Write Access read/write
  18. LV Creation host, time debian7, 2013-07-11 20:31:51 +0600
  19. LV Status available
  20. # open 0
  21. LV Size 15.00 GiB
  22.  
  23. --- Logical volume ---
  24. LV Path /dev/debian7/home
  25. LV Name home
  26. VG Name debian7
  27. LV UUID Ud0k3v-EEaB-i2W5-dJWx-Nzr6-16py-vACXO5
  28. LV Write Access read/write
  29. LV Creation host, time debian7, 2013-07-11 20:31:52 +0600
  30. LV Status available
  31. # open 1
  32. LV Size 350.00 GiB

Отключим своп, чтобы впоследствии не получить ошибку:

  1. swapoff /dev/debian7/swap_1

Уменьшим раздел со свопом с 15 до 10 гигабайт:

  1. lvresize -L 10G /dev/debian7/swap_1

параметр -L задает размер раздела, в нашем случае это 10 гигабайт. Вместо lvresize можно использовать команду lvreduce:

  1. lvreduce -L 10G /dev/debian7/swap_1

Теперь увеличим размер раздела /dev/debian7/root на 5 освободившихся гигов:

  1. e2fsck -f /dev/debian7/root - проверяем раздел root на ошибки
  2. lvextend -L +5G /dev/debian7/root - увеличиваем размер логического тома
  3. resize2fs /dev/debian7/root - увеличиваем размер файловой системы

Вместо lvextend можно использовать lvresize

  1. lvresize -L +5G /dev/debian7/root

После этого проверяем изменения размеров логических томов:

  1. lvdisplay
  1. --- Logical volume ---
  2. LV Path /dev/debian7/root
  3. LV Name root
  4. VG Name debian7
  5. LV UUID jhHPG1-36ZH-azBd-a3Nr-WTDu-W1Cu-MuSF04
  6. LV Write Access read/write
  7. LV Creation host, time debian7, 2013-07-11 20:31:51 +0600
  8. LV Status available
  9. # open 1
  10. LV Size 15.04 GiB
  11.  
  12. --- Logical volume ---
  13. LV Path /dev/debian7/swap_1
  14. LV Name swap_1
  15. VG Name debian7
  16. LV UUID RR7LZQ-QjAK-Ri1a-XQeT-AHvS-aVXC-6D0Hsd
  17. LV Write Access read/write
  18. LV Creation host, time debian7, 2013-07-11 20:31:51 +0600
  19. LV Status available
  20. # open 0
  21. LV Size 10.00 GiB
  22.  
  23. --- Logical volume ---
  24. LV Path /dev/debian7/home
  25. LV Name home
  26. VG Name debian7
  27. LV UUID Ud0k3v-EEaB-i2W5-dJWx-Nzr6-16py-vACXO5
  28. LV Write Access read/write
  29. LV Creation host, time debian7, 2013-07-11 20:31:52 +0600
  30. LV Status available
  31. # open 1
  32. LV Size 350.00 GiB

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

Комментарии

Я по вашей инструкции отрезал от /home и добавил к /tmp. Но после перезагрузки /home не монтируется...Что делать?

Посмотрите в /etc/fstab прописаны параметры монтирования каталога /home?

В том то и дело, что там всё, как было прописано, так и не менялось.Выдает ошибку, что блоков больше, чем физический раздел вроде.

В общем - пришлось отформатировать (

В целом странно, не должно быть такого. А какая файловая система использовалась?

Я просто первый раз вообще делал. Тут дело наверно вот в чем. Нужно было с начало сузить фс /home, потом том. А расширять, как тут написано. Теперь у меня голый /home и не могу войти под старым юзером. Что делать?

ПО идее как сузить в статье тоже расписано. У вас /home и /tmp в одной VG (VolumeGroup)? Если да, то по данной инструкции все должно получиться. Но т.к у вас уже не получилось, и вы сейчас под юзером не можете зайти в раздел /home, попробуйбе залогиниться из под root, и сменить пароль у простого пользователя - команда passwd username

Надеюсь, вы не забыли предварительно уменьшить файловую систему тома /home.
корректная последовательность:
1. завершаем логин пользователем, логинимся администратором, убеждаемся, что на /home нет открытых файлов. Либо загружаемся с liveUSB
2. отмонтируем /home
3. уменьшаем размер файловой системы тома home
4. уменьшаем размер тома home

Crazy Script, вы забыли написать, что предварительно нужно исключить том из свопинга:
swapoff /dev/debian7/swap_1
Иначе при уменьшении тома можно получить kernel panic

Спасибо, поправил в статье.

Также рекомендуем