Wie verkleinere ich ein XFS-Dateisystem? [geschlossen]

11

Wir haben einen RHEL 7 Server mit 2 Festplatten ( sdaund sdb). Unsere /, /var/logund swapsind auf sda, /varist auf sdb. Wir verwenden LVM und XFS.

sdaist zu groß (160 GB) und wir möchten es auf 40 GB verkleinern. Wir können dann die kostenlosen 120 GB zum Erweitern verwenden sdb.

[root@foo ~]# pvs
  PV         VG        Fmt  Attr PSize   PFree
  /dev/sda2  rhel      lvm2 a--  134.77g 9.77g
  /dev/sdb1  vg_var    lvm2 a--  200.00g    0


[root@foo ~]# lvs
  LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root      rhel      -wi-ao---- 117.19g
  swap      rhel      -wi-ao----   3.91g
  var_log   rhel      -wi-ao----   3.91g
  lv_var    vg_var    -wi-ao---- 200.00g

[root@foo ~]# fdisk -l

Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x3235298e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   419430399   209714176   8e  Linux LVM

Disk /dev/sda: 161.1 GB, 161061273600 bytes, 314572800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x0009b153

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   283656191   141315072   8e  Linux LVM

Disk /dev/mapper/rhel-root: 125.8 GB, 125829120000 bytes, 245760000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/rhel-swap: 4194 MB, 4194304000 bytes, 8192000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/vg_var-lv_var: 214.7 GB, 214744170496 bytes, 419422208 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/rhel-var_log: 4194 MB, 4194304000 bytes, 8192000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Wie können wir dies sicher erreichen? Ich habe dies mit einer Testmaschine versucht, aber es ist fehlgeschlagen:

  1. Fügen Sie eine neue Festplatte hinzu
  2. Erstellen Sie eine LVM-Partition, erstellen Sie eine neue LV und fügen Sie eine neue LV hinzu.
  3. Booten Sie mit der Rettungsdiskette
  4. Montieren Sie sdaauf /mnt/sysimageund montieren Sie den LV der neuen Festplatte/mnt/sdb
  5. cp -ax /mnt/sysimage/* /mnt/sdb
  6. Update /mnt/sysimage/etc/fstabzur Verwendung/dev/mapper/rhel-lv_root
  7. Schließlich schlägt der Neustart aufgrund von fehl INT18 boot failure
EsTeGe
quelle
2
Frage macht keinen Sinn. / dev / sda und / dev / sdb sind Festplatten. Ihre Größe hängt davon ab, wie sie hergestellt werden und kann nicht geändert werden.
Psusi
1
@psusi Theoretisch können Sie eine Festplatte ohne Partitionstabelle haben, die Sie dann wie eine einzelne Partition verwenden, aber ich bezweifle, dass dies das ist, was OP hier tut.
Phk

Antworten:

14

Derzeit [2019] können XFS-Dateisysteme nicht verkleinert werden.

http://xfs.org/index.php/Shrinking_Support

Dies ist, was auf der RH-Website gesagt wird:

  • Es ist derzeit nicht möglich, die Größe einer Partition oder eines logischen Volumes mit dem xfs-Dateisystem zu reduzieren. Wenn Sie an dieser Funktionalität interessiert sind, wenden Sie sich an den Red Hat-Support und verweisen Sie auf Red Hat bugzilla 1062667 und geben Sie Ihren Anwendungsfall für die Notwendigkeit einer XFS-Reduzierung / Verkleinerung an.
  • Als mögliche Problemumgehung in einigen Umgebungen können Thin Provisioning-LVM-Volumes als zusätzliche Schicht unter dem XFS-Dateisystem betrachtet werden.

https://access.redhat.com/solutions/540013

cbiddey
quelle
1
Weitere Details zur Problemumgehung wären sehr willkommen. Der Link zu redhat.com ist für Nicht-Abonnenten nicht zugänglich.
Jonas Kongslund
-11

Ich denke, Sie können die Größe des LVM wie folgt ändern

  1. Booten Sie mit der Rettungsdiskette
  2. Verwenden Sie resize2fs, um das Dateisystem zu verkleinern
  3. Verwenden Sie lvresize, um das logische Volume zu verkleinern
  4. Verwenden Sie pvresize, um das physische Volumen zu verkleinern
  5. Zu diesem Zeitpunkt müssen Sie möglicherweise Partitionstools verwenden, um die Partition zu reduzieren und freien Speicherplatz zu erstellen
  6. Verwenden Sie nach dem Erstellen der neuen Partition pvcreate, um ein neues Volume zu erstellen
  7. Verwenden Sie vgextend, um Ihr Volume auf / dev / sdb zu erweitern
  8. Verwenden Sie lvextend, um das Dateisystem / var zu erweitern

Ich werde vorschlagen, dies auf einem Testsystem zu versuchen, um einen möglichen Datenverlust zu vermeiden.

Lassen Sie mich wissen, ob dieses Verfahren hilfreich war.

Arka Vansh
quelle
12
XFS-Dateisysteme können nicht verkleinert werden. resize2fsist für ext-Dateisysteme.
TopHat