Как сжать / домой и добавить больше места на CentOS7
CentOS 7 файловая система XFS, А также resize2fs не работает Мне нужно сжать /home до 400G и добавить 100G место /, Что я должен делать?
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 50G 341M 100% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 84K 7.8G 1% /dev/shm
tmpfs 7.8G 778M 7.0G 10% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda1 497M 241M 257M 49% /boot
tmpfs 1.6G 16K 1.6G 1% /run/user/42
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/mapper/centos-home 500G 20G 480G 4% /home
Вывод lvs, vgs и pvs:
[root@localhost]~# lvs -v
Using logical volume(s) on command line.
LV VG #Seg Attr LSize Maj Min KMaj KMin Pool Origin Data% Meta% Move Cpy%Sync Log Convert LV UUID LProfile
home centos 1 -wi-ao---- 499.38g -1 -1 253 2 4I53D9-7VSm-HN9H-QsSp-FvFU-5R9D-y5VwsN
root centos 1 -wi-ao---- 50.00g -1 -1 253 0 LGRoEL-0EHz-G135-p6vx-Lt2s-RvI5-qdT9Sm
swap centos 1 -wi-ao---- 7.81g -1 -1 253 1 UYB5xP-cEyV-lWvn-blIq-8s13-9kVB-ykjIWI
[root@localhost]~# vgs -v
Using volume group(s) on command line.
VG Attr Ext #PV #LV #SN VSize VFree VG UUID VProfile
centos wz--n- 4.00m 1 3 0 557.26g 64.00m Gd5c08-ujdQ-fsix-o7z6-Wfsv-C0uW-XzDois
[root@localhost]~# pvs -v
Using physical volume(s) on command line.
Found same device /dev/sda2 with same pvid TCmreQr93apETNoTl8bMc54l57FZ5hut
PV VG Fmt Attr PSize PFree DevSize PV UUID
/dev/sda2 centos lvm2 a-- 557.26g 64.00m 557.26g TCmreQ-r93a-pETN-oTl8-bMc5-4l57-FZ5hut
[root@localhost]~#
5 ответов
Как уже отмечали другие, файловая система XFS не может быть сокращена.
Поэтому лучше всего сделать резервную копию /home, удалить и воссоздать его том в меньшем размере, а остальное отдать тому / root, как об этом говорил Коен ван дер Рийт в своем посте.
• сделать резервную копию содержимого / home
> tar -czvf /root/home.tgz -C /home .
• проверить резервную копию
> tar -tvf /root/home.tgz
• размонтировать дом
> umount /dev/mapper/centos-home
• удалить домашний логический том
> lvremove /dev/mapper/centos-home
• воссоздать новый логический том 400 ГБ для /home, отформатировать и смонтировать его
> lvcreate -L 400GB -n home centos
> mkfs.xfs /dev/centos/home
> mount /dev/mapper/centos-home
• Расширьте свой / корневой том ВСЕМ оставшегося места и измените размер (-r) файловой системы при этом
> lvextend -r -l +100%FREE /dev/mapper/centos-root
• восстановить резервную копию
> tar -xzvf /root/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
Вы не можете сжать файловую систему XFS.
Вы можете вырастить их только с xfs_growfs,
Смотрите: https://access.redhat.com/solutions/540013
а также
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html
В настоящее время невозможно уменьшить размер раздела или логического тома с помощью файловой системы xfs. В качестве возможного обходного пути в некоторых средах тома LVM с тонким предоставлением можно рассматривать как дополнительный уровень ниже файловой системы XFS.
Узнайте, что занимает так много места под / и разделить его как свою собственную файловую систему.
Первое, что вам нужно сделать, это проверить, что заняло все свободное место на диске, иначе эта проблема снова возникнет когда-нибудь в будущем.
Если вам действительно нужно изменить размер, мой подход будет:
- сделайте резервную копию содержимого /home. (его всего 20 г)
umount /home- уничтожить домашний логический том (
lvremove) - выделите место по мере необходимости, измените размеры томов. (
lvextend,resize2fs) - пересоздать новый логический том для /home, отформатировать и смонтировать его (
lvcreate,mkfs.xfs) - восстановление резервной копии
- перепроверьте содержимое /etc/fstab, что вы будете монтировать правильный том для / home
- бежать
mount -aили жеreboot
Вы можете сделать это только в действующей системе, если она разделена с помощью LVM - управление логическими томами. какой вывод:
lvs -v
vgs -v
pvs -v