CentOS 7
le système de fichiers est XFS
, et resize2fs
ne fonctionne pas. J'ai besoin de rétrécir /home
à 400G et ajoutez 100G d'espace à /
. Que devrais-je faire?
# 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
Les sorties de lvs, vgs et pvs sont:
[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]~#
Comme d'autres l'ont souligné, le système de fichiers XFS ne peut pas être réduit.
Donc, votre meilleur pari est de sauvegarder/home, de supprimer et de recréer son volume dans une taille plus petite et de donner le reste à votre volume/root comme Koen van der Rijt l'a décrit dans son article.
• sauvegarder le contenu de/home
> tar -czvf /root/home.tgz -C /home .
• tester la sauvegarde
> tar -tvf /root/home.tgz
• démonter la maison
> umount /dev/mapper/centos-home
• supprimer le volume logique domestique
> lvremove /dev/mapper/centos-home
• recréer un nouveau volume logique de 400 Go pour/home, formater et monter
> lvcreate -L 400GB -n home centos
> mkfs.xfs /dev/centos/home
> mount /dev/mapper/centos-home
• étendez votre volume/root avec TOUT l’espace restant et redimensionnez (-r) le système de fichiers
> lvextend -r -l +100%FREE /dev/mapper/centos-root
• restaurer votre sauvegarde
> tar -xzvf /root/home.tgz -C /home
• vérifiez/etc/fstab pour tout mappage du volume/home. S'il utilise UUID, vous devez mettre à jour la partie UUID. (Depuis que nous avons créé un nouveau volume, l'UUID a changé)
C'est ça.
J'espère que cela t'aides.
Un ajout à la réponse d'Ari car je n'ai pas pu utiliser ssh en utilisant l'authentification par clé publique après avoir suivi ses instructions.
Avec selinux activé, vous pouvez obtenir ce message dans/var/log/messages (avec le débogage activé dans sshd_config) car/home a été recréé:
SELinux is preventing /usr/sbin/sshd from read access on the file authorized_keys
Réparez-le par:
restorecon -R -v /home
Vous ne pouvez pas réduire un système de fichiers XFS .
Vous ne pouvez les faire pousser qu'avec xfs_growfs
.
Voir: https://access.redhat.com/solutions/54001
et
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html
Il n'est actuellement pas possible de réduire la taille d'une partition ou d'un volume logique avec le système de fichiers xfs. Comme solution de contournement possible dans certains environnements, les volumes LVM à allocation dynamique peuvent être considérés comme une couche supplémentaire sous le système de fichiers XFS.
Découvrez ce qui prend autant de place sous /
et le séparer comme son propre système de fichiers.
vous ne pouvez le faire sur un système actif que s'il est partitionné avec LVM - gestion de volume logique. quelle est la sortie de:
lvs -v
vgs -v
pvs -v
La première chose que vous devez faire est de vérifier ce qui a utilisé tout votre espace disque libre, sinon ce problème se reproduira à l'avenir.
Si vous avez vraiment besoin de redimensionner mon approche, ce serait:
umount /home
lvremove
)lvextend
, resize2fs
)lvcreate
, mkfs.xfs
)mount -a
ou reboot