Изменить место между /centos-home и /centos-root в Centos 7
Самая главная проблема, что просто нельзя изменить размер между /centos-home и /centos-root и для реализации необходимо сделать резервную копию /home, затем удалить /centos-home, увеличить место на /centos-root, заного создать /centos-home, разархивировать /home.
Текущая ситуация:
# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 40K 16G 1% /dev/shm
tmpfs 16G 9,2M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 46G 4,9G 91% /
/dev/nvme0n1p2 1014M 228M 787M 23% /boot
/dev/nvme0n1p1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos-home 172G 36G 136G 21% /home
tmpfs 3,2G 0 3,2G 0% /run/user/997
tmpfs 3,2G 0 3,2G 0% /run/user/0
Подсоединяю внешний диск для резервной копии и создаю папку для монтирования:
# mkdir /mnt/backup
Ищу диск:
# ls /dev/sd*
/dev/sda
Форматирую диск в EXT4:
# mkfs -t ext4 /dev/sda
Монтирую диск к созданной папке:
# mount /dev/sda /mnt/backup
Сделать резервную копию /home:
# tar -czvf /mnt/backup/home.tgz -C /home .
Проверить резервную копию:
# tar -tvf /mnt/backup/home.tgz
Размонтировать /centos-home:
# umount /dev/mapper/centos-home
Удалить домашний логический том:
# lvremove /dev/mapper/centos-home
Воссоздать новый логический том на нужный объем для /home, отформатировать и смонтировать его:
# lvcreate -L 62GB -n home centos
# mkfs.xfs /dev/centos/home
# mount /dev/mapper/centos-home
Расширьте / корневой том ВСЕМ оставшегося места и измените размер (-r) файловой системы при этом:
# lvextend -r -l +110%FREE /dev/mapper/centos-root
Восстановить резервную копию:
# tar -xzvf /mnt/backup/home.tgz -C /home
Нужно проверить /etc/fstab на предмет соответствия тома /home. Если он использует UUID, нужно обновить часть UUID. (Поскольку был создан новый том, UUID изменился)
Ошибки
Если после не работает SSH авторизация пользователей
С включенным selinux вы можете получить это сообщение в /var/log/messages (с включенной отладкой в sshd_config), потому что /home был воссоздан
SELinux is preventing /usr/sbin/sshd from read access on the file authorized_keys
Для исправления выполнить команду:
# restorecon -R -v /home
при монтировании может быть ошибка:
target is busy
может помочь:
# umount -l /dev/mapper/centos-home
Если появилась ошибка: Логический том centos /home содержит используемую файловую систему
может помочь:
# fuser -kuc /dev/vg_data /backup
Для работы команды fuser нужно установить пакет:
# yum install psmisc
Источник: https://qastack.ru/server/771921/how-to-shrink-home-and-add-more-space-on-centos7