web-dev-qa-db-fra.com

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

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]~# 
31
GoingMyWay

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.

50
Ari

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
6
Bart

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.

3
ewwhite

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
0
Sum1sAdmin

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:

  • sauvegarder le contenu de/home. (c'est seulement 20g)
  • umount /home
  • détruire le volume logique d'origine (lvremove)
  • allouer de l'espace selon les besoins, redimensionner les volumes. (lvextend, resize2fs)
  • recréer un nouveau volume logique pour/home, formater et monter (lvcreate, mkfs.xfs)
  • restaurer la sauvegarde
  • revérifiez le contenu de/etc/fstab pour monter le volume correct pour/home
  • courir mount -a ou reboot
0
Koen van der Rijt