Место на сервере имеет свойство заканчиваться. Происходит это всегда неожиданно и в самый неподходящий момент.
Шлифуем админское кунг-фу. Расширим раздел диска и файловую систему на лету без перезагрузки и без потери данных. Ранее я уже расширял разделы с помощью fdisk или growpart. Сегодня у меня ещё более интересный вариант: расширить нужно LVM раздел.
Подготовка
Посмотрим сначала, что нам нужно увеличить.
df -hT/dev/mapper/centos_mp1-root используется на 100%, файловая система XFS. Мне уже не нравится всё что со словом mapper.
pvs
lvs
vgsВы только посмотрите на это, кто-то на виртуальной машине расширял LVM раздел сервера путём добавления новых виртуальных дисков. У нас имеется 7 дисков с sda по sdg (12 разделов), все собраны в группу, которая разбита на три тома: root, home и swap. Мы можем точно таким же образом добавить новый диск и подключить его в LVM, что я делать категорически не хочу.
Давайте сделаем иначе, расширим один из дисков, к примеру sdg со 100 ГБ до 250 ГБ. Увеличиваем диск на виртуальной машине VMware. Затем делаем снапшот на всякий случай. Если сначала сделать снапшот, то не получится увеличить размер диска.
Меняю размер последнего диска на 250 ГБ. OK.
Расширяем раздел
Заходим на виртуалку по SSH под рутом. Мы увеличили диск sdg но система об этом не знает, нужно заставить сделать рескан диска.
echo 1>/sys/class/block/sdg/device/rescanА может не sdg, там было несколько дисков по 100 ГБ? Делаем так:
for D in $(ls /sys/block/sd?/device/rescan ); do echo ${D}; echo 1 > ${D}; doneПроверяем, что диск увеличился:
lsblk | grep sdgДа, это тот диск, его размер стал 250 ГБ. Выводим список дисков в LVM.
pvdisplayИ увеличиваем нужный:
pvresize /dev/sdgХочется заметить, что процедура удалась, поскольку на диске было немного места. Если места нет совсем, то получится как-то так:
[root@srv60]# pvresize /dev/sdg Couldn't create temporary archive name. Volume group "centos_mp1" metadata archive failed. 0 physical volume(s) resized / 1 physical volume(s) not resized
Тогда нужно что-нибудь ненужное удалить/перенести, освободить немного места и повторить.
pvdisplayРазмер физического тома LVM увеличился до 250 ГБ.
pvs
lvs
vgsИмеем 150 ГБ нераспределённого пространства. Добавим в root:
lvextend -l +100%FREE /dev/centos_mp1/root
lvsМесто добавилось. Расширяем файловую систему XFS:
xfs_growfs /dev/mapper/centos_mp1-rootМесто появилось. Теперь можно поставить в план задачу по созданию нового нормального сервера с нормальными дисками.
Ссылки
Linux — расширяем раздел на лету
Linux — расширяем раздел на лету 2
Linux — расширяем раздел на лету 3
Linux — расширяем раздел на лету 4









