So verkleinern Sie Ihr Zuhause und fügen mehr Speicherplatz auf CentOS7 hinzu


28

CentOS 7Dateisystem ist XFS, und resize2fsfunktioniert nicht. Ich muss auf /home400G verkleinern und 100G Speicherplatz hinzufügen /. Was sollte ich tun?

# 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

Die Ausgabe von lvs, vgs und pvs ist:

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

Ich habe folgendes gefunden: blog.endpoint.com/2015/01/…, was besagt, dass es nicht möglich ist, aber mit einer Art Antwort fortfährt .
Davey

Antworten:


47

Wie bereits erwähnt, kann das XFS-Dateisystem nicht verkleinert werden.

Daher ist es am besten, das Volume zu sichern, zu entfernen und in einer kleineren Größe neu zu erstellen und den Rest dem Root-Volume zuzuweisen, so wie es Koen van der Rijt in seinem Beitrag beschrieben hat.

• sichern Sie den Inhalt von / home

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

• Testen Sie das Backup

> tar -tvf /root/home.tgz

• Nach Hause aussteigen

> umount /dev/mapper/centos-home

• Entfernen Sie das logische Home-Volume

> lvremove /dev/mapper/centos-home

• Erstellen Sie ein neues logisches 400-GB-Volume für / home, formatieren Sie es und hängen Sie es ein

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

• Erweitern Sie Ihr / root-Volume mit dem gesamten verbleibenden Speicherplatz und ändern Sie dabei die Größe des Dateisystems (-r)

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

• Stellen Sie Ihr Backup wieder her

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

• Überprüfen Sie / etc / fstab auf Zuordnungen von / home volume. Wenn es UUID verwendet, sollten Sie den UUID-Teil aktualisieren. (Seit wir ein neues Volume erstellt haben, hat sich die UUID geändert.)

Das ist es.

Hoffe das hilft.


1
Beim Umounting kann es sein, dass das Ziel einen Busy-Fehler aufweist. Umount -l / dev / mapper / centos-home kann hilfreich sein. und möglicherweise wird ein anderer Fehler angezeigt: "Das logische Volume centos / home enthält ein verwendetes Dateisystem", Fixierstation -kuc / dev / vg_data / backup könnte hilfreich sein.
Buxizhizhoum

Auf den Rat von @ buxizhizhoum hin war ein Befehl yum install psmiscerforderlich fuser, um verfügbar zu sein.
Mythofechelon

Es hat wirklich funktioniert. Vielen Dank! Ich war mit ssh angemeldet und musste die ssh-Verbindung beenden, um "lvremove" zu entfernen. Wie vom bartBenutzer empfohlen, starte ich restorecon -R -v /homenach Abschluss aller oben genannten Schritte.
Ikrom

Danke dir. In meinem Szenario sind mir die genannten Befehle sehr geholfen, es sind nur 10 Minuten Arbeit. Für den schlimmsten Fall habe ich ein Backup der VM erstellt und dann mit den obigen Befehlen fortgefahren. Dann konnte ich das Root-Volume erweitern.
Harsha Vardhana

5

Eine Ergänzung zu Aris Antwort, da ich die Authentifizierung mit öffentlichem Schlüssel nicht verwenden konnte, nachdem ich seine Anweisungen befolgt hatte.

Wenn Selinux aktiviert ist, wird diese Meldung möglicherweise in / var / log / messages (mit aktiviertem Debug in sshd_config) angezeigt, da / home neu erstellt wurde:

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

Beheben Sie es durch:

restorecon -R -v /home

3

Sie können nicht ein XFS - Dateisystem schrumpfen .
Sie können sie nur mit anbauen xfs_growfs.

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

Es ist derzeit nicht möglich, die Größe einer Partition oder eines logischen Volumes mit dem Dateisystem xfs zu reduzieren. Als mögliche Problemumgehung in einigen Umgebungen können Thin Provisioning-LVM-Volumes als zusätzliche Ebene unter dem XFS-Dateisystem betrachtet werden.


Finden Sie heraus, was so viel Speicherplatz beansprucht, /und teilen Sie es als eigenes Dateisystem auf.


alternativ können Sie Backup / Home sehen, seine nur 20 g und töten, dass LV und erstellen Sie es mit den richtigen Abmessungen
Koen van der Rijt

Danke dir. Vielleicht sollte ich den /homeSpeicherplatz nach Bedarf zerstören und neu zuweisen.
GoingMyWay

0

Dies ist auf einem Live-System nur möglich, wenn es mit LVM - Logical Volume Management partitioniert ist. Was ist die Ausgabe von:

lvs -v
vgs -v
pvs -v

Sir, ich habe die Frage aktualisiert, die Ausgabe hinzugefügt.
GoingMyWay

siehe oben, du hast dich in eine ecke gemalt!
Sum1sAdmin

0

Als Erstes müssen Sie überprüfen, ob der gesamte freie Speicherplatz belegt ist. Andernfalls tritt dieses Problem in Zukunft erneut auf.

Wenn Sie wirklich die Größe ändern müssen, wäre mein Ansatz:

  • Sichern Sie den Inhalt von / home. (es ist nur 20g)
  • umount /home
  • zerstöre das logische Home-Volume ( lvremove)
  • Ordnen Sie nach Bedarf Speicherplatz zu, und ändern Sie die Größe der Volumes. ( lvextend, resize2fs)
  • Erstellen Sie ein neues logisches Volume für / home, formatieren Sie es und hängen Sie es ein ( lvcreate, mkfs.xfs)
  • Backup wiederherstellen
  • Überprüfen Sie den Inhalt von / etc / fstab, damit Sie das richtige Volume für / home bereitstellen können
  • laufen mount -aoderreboot
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.