Шлифуем админское кунг-фу. Снова столкнулись с проблемой нехватки места на виртуальной машине. Увеличили диск, но в операционной системе LVM и новые приключения. На борту CentOS.
Скриншоты сделать не успел, но описание порядка действий имеется.
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 50G 50G 0G 100% /
/dev/mapper/centos-data xfs 241G 122G 120G 51% /data
/dev/sda1 xfs 1014M 178M 837M 18% /boot
Всё, нет места в корне.
sda 8:0 0 300G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 299G 0 part
Увеличить нужно /dev/sda2 раздел LVM.
На виртуальной машине добавляю 50 ГБ к диску. Командуем операционной системе выполнить сканирование диска sda и смотрим что получилось:
echo 1>/sys/class/block/sda/device/rescan
lsblk
sda 8:0 0 350G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 299G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 8G 0 lvm
└─centos-data 253:2 0 241G 0 lvm /data
Да, на sda диске уже 350 ГБ, но на /dev/sda2 всё точно так же 300 Гб.
Везде рекомендуют добавить новый диск Physical Volume, потом пристегнуть его к LVM, да сколько после этого дисков там будет? Бесит. Будем расширять по-другому. Естественно, без остановки сервера, как мы любим.
Переходим к управлению разделами диска.
fdisk /dev/sda
Удаляем второй раздел LVM.
d
2
Создаём второй LVM раздел.
n
p
2
2
2
8e
Посмотрим разделы командой p.
Command (m for help): p
Disk /dev/sda: 375.8 GB, 375809638400 bytes, 734003200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000b1b01
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 734003199 365952000 8e Linux LVM
Сохраняемся.
w
Таблица разделов изменена. Обновляем таблицу разделов диска sda.
partx -u /dev/sda
lsblk
sda 8:0 0 350G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 349G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 8G 0 lvm
└─centos-data 253:2 0 241G 0 lvm /data
Ага, у нас /dev/sda2 теперь 350 ГБ. Дальше пилим LVM.
pvresize /dev/sda2
vgchange -a y centos
lvextend -l +100%FREE /dev/centos/root
Расширяем файловую систему XFS до конца раздела.
xfs_growfs /
Смотрим и радуемся.
df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 100G 50G 51G 50% /
/dev/mapper/centos-data xfs 241G 122G 119G 51% /data
/dev/sda1 xfs 1014M 178M 837M 18% /boot
Задача выполнена. Раздел и файловая система расширены на лету без перезагрузки и без потери данных. И без остановки сервисов, работающих с этим разделом.
Ссылки
Linux — расширяем раздел на лету
Linux — расширяем раздел на лету 2
Linux — расширяем раздел на лету 3
Linux — расширяем раздел на лету 4