Come ridurre / home e aggiungere più spazio su CentOS7


28

CentOS 7il file system è XFSe resize2fsnon funziona. Devo ridurre /homea 400G e aggiungere 100G di spazio a /. Cosa dovrei fare?

# 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

L'output di lvs, vgs e pvs sono:

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

Ho trovato questo: blog.endpoint.com/2015/01/… che dice che non è possibile ma continua con una sorta di risposta.
davey,

Risposte:


47

Come altri hanno sottolineato, il filesystem XFS non può essere ridotto.

Quindi la tua scommessa migliore è fare il backup / home, rimuovere e ricreare il suo volume in una dimensione più piccola e dare il resto al tuo volume / root proprio come Koen van der Rijt delineato nel suo post.

• eseguire il backup dei contenuti di / home

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

• testare il backup

> tar -tvf /root/home.tgz

• smontare casa

> umount /dev/mapper/centos-home

• rimuovere il volume logico home

> lvremove /dev/mapper/centos-home

• ricreare un nuovo volume logico da 400 GB per / home, formattarlo e montarlo

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

• estendi il tuo volume / root con TUTTO lo spazio rimanente e ridimensiona (-r) il file system mentre lo fai

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

• ripristinare il backup

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

• controlla / etc / fstab per qualsiasi mappatura del volume / home. SE utilizza UUID, è necessario aggiornare la parte UUID. (Da quando abbiamo creato un nuovo volume, UUID è cambiato)

Questo è tutto.

Spero che sia di aiuto.


1
durante lo smontaggio, potrebbe esserci un errore di destinazione occupato, umount -l / dev / mapper / centos-home potrebbe essere d'aiuto. e potrebbe esserci un altro errore: "Il volume logico centos / home contiene un filesystem in uso", fuser -kuc / dev / vg_data / backup potrebbe essere d'aiuto.
buxizhizhoum,

Seguendo il consiglio di @ buxizhizhoum, yum install psmiscera necessario un comando per fuseressere disponibile.
mythofechelon,

Ha funzionato davvero. Grazie! Ho effettuato l'accesso con ssh e avevo bisogno di terminare la connessione ssh per rimuovere "lvremove". Come bartconsigliato dall'utente corro restorecon -R -v /homedopo aver completato tutti i passaggi precedenti.
Ikrom,

Grazie. Nel mio scenario i comandi citati mi hanno aiutato molto, sono solo 10 minuti di lavoro. nel peggiore dei casi ho eseguito un backup di VM, quindi ho proceduto con i comandi precedenti e sono stato in grado di estendere il volume di root.
Harsha Vardhana,

5

Un'aggiunta alla risposta di Ari poiché non sono stato in grado di utilizzare SSH con l'autenticazione con chiave pubblica dopo aver seguito le sue istruzioni.

Con selinux abilitato potresti ricevere questo messaggio in / var / log / messages (con debug abilitato in sshd_config) perché / home è stata ricreata:

SELinux is preventing /usr/sbin/sshd from read access on the file authorized_keys

Riparalo con:

restorecon -R -v /home

3

Non è possibile ridurre un filesystem XFS .
Puoi solo farli crescere con xfs_growfs.

Vedi: https://access.redhat.com/solutions/540013
e
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html

Al momento non è possibile ridurre la dimensione di una partizione o di un volume logico con il filesystem xfs. Come possibile soluzione alternativa in alcuni ambienti, i volumi LVM con thin provisioning possono essere considerati come un livello aggiuntivo sotto il file system XFS.


Scopri cosa sta occupando così tanto spazio /e suddividilo come proprio file system.


in alternativa, è possibile
eseguire il

grazie. forse dovrei distruggere /homee riallocare lo spazio secondo necessità.
GoingMyWay

0

puoi farlo solo su un sistema live se è partizionato con LVM - gestione del volume logico. qual è l'output di:

lvs -v
vgs -v
pvs -v

Signore, ho aggiornato la domanda, aggiunto l'output.
GoingMyWay

vedi sopra, ti sei dipinto in un angolo!
Sum1sAdmin

0

La prima cosa che devi fare è controllare cosa ha esaurito tutto lo spazio libero su disco, altrimenti questo problema si verificherà di nuovo in futuro.

Se hai davvero bisogno di ridimensionare il mio approccio sarebbe:

  • eseguire il backup dei contenuti di / home. (sono solo 20 g)
  • umount /home
  • distruggere il volume logico home ( lvremove)
  • allocare spazio secondo necessità, ridimensionare i volumi. ( lvextend, resize2fs)
  • ricrea un nuovo volume logico per / home, formattalo e montalo ( lvcreate, mkfs.xfs)
  • ripristinare il backup
  • ricontrolla il contenuto di / etc / fstab che monterai il volume corretto per / home
  • corri mount -aoreboot
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.