Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
languagebash
titleИсходные данные:
df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            7,5G     0  7,5G   0% /dev
tmpfs                           1,6G  2,5M  1,6G   1% /run
/dev/mapper/system-root          30G   17G   12G  58% /
tmpfs                           7,6G     0  7,6G   0% /dev/shm
tmpfs                           5,0M     0  5,0M   0% /run/lock
tmpfs                           7,6G     0  7,6G   0% /sys/fs/cgroup
/dev/mapper/system-lib           30G  8,0G   20G  29% /var/lib
/dev/mapper/system-log          9,8G  5,4G  4,0G  58% /var/log
/dev/mapper/system-home          29G  956M   27G   4% /home
/dev/mapper/system-glusterfs     15G   43M   14G   1% /var/lib/ecss/restfs
/dev/mapper/system-ecss--mysql   15G   54M   14G   1% /var/lib/ecss-mysql
/dev/mapper/system-mysql        9,8G  243M  9,0G   3% /var/lib/mysql
/dev/nvme0n1p1                  1,1G  4,4M  1,1G   1% /boot/efi

Для примера, возьмем раздел /dev/mapper/system-glusterfs. В первую очередь необходимо отмонтировать раздел. 

...

Блок кода
languagebash
sudo umount /dev/mapper/system-glusterfs
[sudo] password for dima:
umount: /var/lib/ecss/restfs: target is busy.

Если  в результате выполнения команды возникнет ошибка "target is busy", то необходимо остановить сервисы, которые используют этот раздел.

Посмотрим, какие сервисы используют раздел командой lsof

Блок кода
languagebash
titleПроверяем кто использует этот раздел
sudo lsof /dev/mapper/system-glusterfs
COMMAND    PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
unitd     1406 www-data  cwd    DIR  253,6     4096    2 /var/lib/ecss/restfs
unitd     2007 www-data  cwd    DIR  253,6     4096    2 /var/lib/ecss/restfs
ecss-rest 2041 www-data  cwd    DIR  253,6     4096    2 /var/lib/ecss/restfs
unitd     2102 www-data  cwd    DIR  253,6     4096    2 /var/lib/ecss/restfs
unitd     2139 www-data  cwd    DIR  253,6     4096    2 /var/lib/ecss/restfs
unitd     2211 www-data  cwd    DIR  253,6     4096    2 /var/lib/ecss/restfs
unitd     2285 www-data  cwd    DIR  253,6     4096    2 /var/lib/ecss/restfs
unitd     2341 www-data  cwd    DIR  253,6     4096    2 /var/lib/ecss/restfs

Видим какие процессы висят, и останавливаем их через kill -9 <PID>, либо, через остановку сервиса systemd.


Блок кода
languagebash
titleОстанавливаем ecss-restfs, т.к он используется /var/lib/ecss/glusterfs
sudo systemctl stop ecss-restfs


Блок кода
languagebash
titleПроверяем статус остановленного сервиса
sudo systemctl status ecss-restfs
● ecss-restfs.service - nginx - high performance web server
Loaded: loaded (/lib/systemd/system/ecss-restfs.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2023-02-17 15:28:36 +07; 3s ago
Docs: http://nginx.org/en/docs/
Process: 24667 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/ecss-restfs-nginx.pid (code=exited, status=0/SUCCESS)
Process: 24251 ExecStart=/usr/sbin/ecss-restfs (code=exited, status=0/SUCCESS)
Process: 24212 ExecStartPre=/usr/sbin/ecss-restfs -t -q (code=exited, status=0/SUCCESS)
Main PID: 24253 (code=exited, status=0/SUCCESS)

фев 17 15:28:25 ecss1 systemd[1]: Starting nginx - high performance web server...
фев 17 15:28:25 ecss1 systemd[1]: Started nginx - high performance web server.
фев 17 15:28:35 ecss1 systemd[1]: Stopping nginx - high performance web server...
фев 17 15:28:36 ecss1 systemd[1]: Stopped nginx - high performance web server.


Блок кода
languagebash
titleУбиваем оставшиеся процессы
sudo umount /dev/mapper/system-glusterfs
umount: /var/lib/ecss/restfs: target is busy.
sudo lsof /dev/mapper/system-glusterfs
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ecss-rest 24367 www-data cwd DIR 253,6 4096 2 /var/lib/ecss/restfs
sudo kill 24367
sudo lsof /dev/mapper/system-glusterfs
sudo umount /dev/mapper/system-gluster

...

Блок кода
languagebash
sudo lvresize --resizefs -L-5G /dev/mapper/system-glusterfs
Do you want to unmount "/var/lib/ecss/restfs" ? [Y|n] y
fsck from util-linux 2.31.1
/dev/mapper/system-glusterfs: /lost+found not found. CREATED.
/dev/mapper/system-glusterfs: 601/983040 files (0.5% non-contiguous), 99133/3932160 blocks
resize2fs 1.44.1 (24-Mar-2018)
Resizing the filesystem on /dev/mapper/system-glusterfs to 2621440 (4k) blocks.
The filesystem on /dev/mapper/system-glusterfs is now 2621440 (4k) blocks long.

Size of logical volume system/glusterfs changed from 15,00 GiB (3840 extents) to 10,00 GiB (2560 extents).
Logical volume system/glusterfs successfully resized.


Предупреждение

Обязательно используйте ключ --resizefs или -r. Он используется для того, чтобы в момент изменения размера, сам LVM пересчитал итоговый размер и чтобы система определила этот раздел с правильным размером. 

Если же нужно добавить места, то после -L ставим +<необходимый размер>G

После всех проделанных процедур, снова подключаем раздел и включаем сервисы, которые выключали.

Блок кода
languagebash
titleВ результате имеем вот это
sudo mount -a
df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            7,5G     0  7,5G   0% /dev
tmpfs                           1,6G  2,5M  1,6G   1% /run
/dev/mapper/system-root          30G   17G   12G  58% /
tmpfs                           7,6G     0  7,6G   0% /dev/shm
tmpfs                           5,0M     0  5,0M   0% /run/lock
tmpfs                           7,6G     0  7,6G   0% /sys/fs/cgroup
/dev/mapper/system-lib           30G  8,0G   20G  29% /var/lib
/dev/mapper/system-log          9,8G  5,4G  4,0G  58% /var/log
/dev/mapper/system-home          29G  956M   27G   4% /home
/dev/mapper/system-ecss--mysql   15G   54M   14G   1% /var/lib/ecss-mysql
/dev/mapper/system-mysql        9,8G  243M  9,0G   3% /var/lib/mysql
/dev/nvme0n1p1                  1,1G  4,4M  1,1G   1% /boot/efi
/dev/mapper/system-glusterfs    9,8G   43M  9,2G   1% /var/lib/ecss/restfs
sudo systemctl start ecss-restfs