понедельник, 5 ноября 2012 г.

Разделяй и властвуй или сказ о том, как я переделывал тома LVM


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






Дано: Установлен RedHat 5.8 и разбит диск на логические тома (LVM2) следующим образом:
/ - 2 GB   free 1GB  ext4
/usr/ - 4GB  free 3.5GB  ext4
/var/ - 4GB  free 2.5GB  ext4
/var/log/ - 4 GB free 3.5GB  ext4
/tmp/  - 2 GB free 1.8GB  ext4
Стоит задача переразбить разделы так, чтобы в разделе /usr/ стало 6 ГБ свободного места.

wikipedia поясняет:
 LVM — это метод распределения пространства жёсткого диска по логическим
 томам, размер которых можно легко менять, в отличие от разделов. 
Этим приемуществом я и воспользовался. Было принято решение  "откушать" место у остальных томов.
Резать будем /var/log как пример, потому что при работе с ним встретились все препятствия, что и при работе с остальными томами.
Отмантируем /var/log , чтобы избежать потери данных.
# umount /var/log
umount: /var/log: device is busy
umount: /var/log: device is busy
Том используется каким-то процессом. Сначала нужно узнать, какими процессами он используется :
# fuser -m /var/log
/var/log/:           18272    
Проверяем, что за процесс:
# ps       ps aux| grep [1]8272 

root     18272  0.0  0.0   6140   716 ?        Ss   Oct30   0:00 syslogd -m 0

В моем случае, это системная утилита по логированнию, её можно временно остановить, в других случаях действовать лучше предусмотрительно и мягко остановить службы
#/etc/init.d/syslog/stop
Теперь нам нужно уменьшить файловую систему на этом томе. Но прежде всего следует сделать проверку. Все нормально, можно начинать. Под логи было решено оставить 1,5 ГБ Теперь можно смело отмантировать разделю
# umount /var/log
Проверка раздела
 fsck.ext4 -f /dev/mapper/system-var--log
Уменьшаем размер файловой системы до указанного значения
# resize4fs /dev/system/var-log 700M
Уменьшаем сам раздел
# lvreduce -L700M /dev/system/var-log
Опять проверяем раздел, не случилось ли чего
# fsck.ext4 -f /dev/mapper/system-var--log
Все, можно монтировать измененный раздел
# mount /var/log
Не забываем запустить все остановленые службы
#/etc/init.d/syslog/start
Теперь нужно сделать все в точности, да наоборот, а именно сначала увеличить раздел, а потом файловую систему. Начиная с ext3 для увеличения файловой системы отмонтировать ее не обязательно. Узнаем сколько у нас есть неразмеченого места в LVM:
#vgdisplay | grep [F]ree
Увеличиваем раздел
# lvextend -L+3G /dev/system/opt
Увеличиваем файловую систему
# resize4fs /dev/system/opt 6.4G
Проверяем:
# df -h /dev/mapper/system-opt
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/system-opt                      6.3G  3.3G  2.6G  57% /opt 
Вот так легко и непренужденно был увеличен один раздел за счет другого.

Комментариев нет:

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