40 votes

Comment réduire /home et ajouter plus d'espace sur CentOS7

Le système de fichiers CentOS 7 est XFS, Et resize2fs ne fonctionne pas. Je dois réduire /home à 400G et ajouter 100G d'espace à /. Que dois-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

La sortie de lvs, vgs et pvs est:

[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]~#

69voto

Ari Points 806

Comme d'autres l'ont souligné, le système de fichiers XFS ne peut pas être rétréci.

Donc, votre meilleure option est de sauvegarder /home, supprimer et recréer son volume dans une taille plus petite et donner le reste à votre volume /root, tout comme Koen van der Rijt l'a décrit dans son message.

• sauvegarder le contenu de /home

tar -czvf /root/home.tgz -C /home .

• tester la sauvegarde

tar -tvf /root/home.tgz

• démonter /home

umount /dev/mapper/centos-home

• supprimer le volume logique /home

lvremove /dev/mapper/centos-home

• recréer un nouveau volume logique de 400 Go pour /home, le formater et le monter

lvcreate -L 400GB -n home centos
mkfs.xfs /dev/centos/home
mount /dev/mapper/centos-home

• étendre votre volume /root avec TOUT l'espace restant et redimensionner (-r) le système de fichiers en même temps

lvextend -r -l +100%FREE /dev/mapper/centos-root

• restaurer votre sauvegarde

tar -xzvf /root/home.tgz -C /home

• vérifier /etc/fstab pour toute correspondance du volume /home. SI elle utilise l'UUID, vous devez mettre à jour la partie UUID. (Puisque nous avons créé un nouveau volume, l'UUID a changé)

C'est tout.

J'espère que cela vous aidera.

Veuillez ajouter ceci pour synchroniser les changements:

dracut --regenerate-all --force

6voto

Bart Points 61

Un complément à la réponse d'Ari car je n'ai pas pu me connecter en 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 empêche /usr/sbin/sshd d'accéder en lecture au fichier authorized_keys

Corrigez-le en :

restorecon -R -v /home

4voto

ewwhite Points 193555

Vous ne pouvez pas rétrécir un système de fichiers XFS.
Vous ne pouvez les agrandir qu'avec xfs_growfs.

Voir: https://access.redhat.com/solutions/540013
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 à provisionnement mince peuvent être considérés comme une couche supplémentaire sous le système de fichiers XFS.


Découvrez ce qui prend autant d'espace sous / et séparez-le en son propre système de fichiers.

0voto

Sum1sAdmin Points 1854

Vous ne pouvez faire cela que sur un système en direct s'il est partitionné avec LVM - gestion des volumes logiques. Quelle est la sortie de :

lvs -v
vgs -v
pvs -v

0voto

Koen van der Rijt Points 373

La première chose à faire est de vérifier ce qui a utilisé tout votre espace disque libre, sinon ce problème se reproduira à nouveau à un moment donné à l'avenir.

Si vous avez vraiment besoin de redimensionner, voici mon approche :

  • sauvegardez le contenu de /home. (ce n'est que 20g)
  • umount /home
  • détruisez le volume logique home (lvremove)
  • allouez de l'espace selon les besoins, redimensionnez les volumes. (lvextend, resize2fs)
  • reconfigurez un nouveau volume logique pour /home, formatez-le et montez-le (lvcreate, mkfs.xfs)
  • restaurez la sauvegarde
  • vérifiez à nouveau le contenu de /etc/fstab pour monter le bon volume pour /home
  • exécutez mount -a ou reboot

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X