Wie erweitere ich ein EBS-Volume mit LVM-Partitionen?

Lesedauer: 6 Minute
0

Ich möchte mein Amazon Elastic Block Store (Amazon EBS)-Volume mit LVM-Partitionen erweitern.

Kurzbeschreibung

Es gibt zwei Variante, logische Volumes zu erweitern:

  1. Erhöhen Sie die Größe des vorhandenen EBS-Volumens.
  2. Fügen Sie Ihrer Volumegruppe weitere EBS-Volumes hinzu und erweitern Sie das VG-LV.

Behebung

Variante 1: Erhöhen Sie die Größe des vorhandenen EBS-Volumens

Hinweis: Größenänderungen an vorhandenen Volumina werden normalerweise innerhalb von Sekunden wirksam, nachdem das Volumen in den Optimierungszustand übergegangen ist. Die Leistung des Volumes wird im Optimierungszustand beeinträchtigt, unterschreitet jedoch nicht die Quellkonfigurationsspezifikation. Abhängig von Ihrem Datenträgertyp können Leistungsänderungen zwischen einigen Minuten und einigen Stunden dauern. Weitere Informationen finden Sie unter Überwachen des Fortschritts von Volumenänderungen.

1.Ändern Sie die Größe des vorhandenen EBS-Volume.

2.Führen Sie den folgenden Befehl aus, um das growpart-Utility zu installieren:

$ sudo yum install cloud-utils-growpart

Hinweis: Verwenden Sie den folgenden Befehl, um das Hilfsprogramm growpart auf Debian- oder Ubuntu-Systemen zu installieren:

$ sudo apt install -y cloud-guest-utils

3.Führen Sie den Befehl growpart aus, um die Partition zu erweitern.

$ sudo growpart /dev/xvdh 1
 CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006

4.Führen Sie den Befehl pvresize aus, um die Größe des PV zu ändern. Im folgenden Beispiel wird die Partition /dev/xvdh1 erweitert:

$ sudo pvresize /dev/xvdh1
Physical volume "/dev/xvdh1" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized

Verwenden Sie pvs oder pvdisplay, um die Details des physischen Volumes anzuzeigen:

$ sudo pvs
PV         VG            Fmt  Attr PSize   PFree
 /dev/xvdh1 examplegroup1 lvm2 a--  <20.00g <13.00g

Verwenden Sie vgs oder vgdisplay, um die Details der Volumegruppe anzuzeigen:

$ sudo vgs
 VG            #PV #LV #SN Attr   VSize   VFree
examplegroup1   1   1   0 wz--n- <20.00g <13.00g

5.Führen Sie den Befehl lvextend aus, um das logische Volume zu erweitern:

$ sudo lvextend -L 19G /dev/examplegroup1/lvexample1

Hinweis: Im vorherigen Beispiel ** ist ** 19G die neue, vergrößerte Größe des LV. 19G ist nicht die Größe, um die die LV erhöht werden muss.

Verwenden Sie den Befehl lvs oder lvdisplay, um die logischen Volume-Details anzuzeigen:

$ sudo lvs  LV        VG            Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
lvexample1 examplegroup1 -wi-a----- 19.00g

6.Führen Sie den folgenden Befehl aus, um das Dateisystem zu erweitern:

Ext2, Ext3, and Ext4 Dateisysteme:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS-Dateisysteme:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Variante 2: Fügen Sie Ihrer Volumegruppe weitere EBS-Volumes hinzu und erweitern Sie den VG-LV

1.Erstellen Sie ein weiteres EBS-Volume mit 10 GB und fügen Sie das Volume dann der Instance hinzu. Erstellen Sie eine Partition auf dem Gerät /dev/xvdi, indem Sie Schritt 3 unter Erstellen physischer Volumes auf der Partition Ihres EBS-Volumes folgen. Führen Sie dann den Befehl pvcreate aus. Im folgenden Beispiel lautet der Blockgerätename des Volumes /dev/xvdi1.

$ sudo pvcreate /dev/xvdi1
Physical volume "/dev/xvdi1" successfully created

2.Verwenden Sie den Befehl vgextend, um die Volume-Gruppe zu erweitern und das neue Volume hinzuzufügen. Das folgende Beispiel erweitert die Volume-Gruppe examplegroup1 um das Volume /dev/xvdi1:

$ sudo vgextend examplegroup1 /dev/xvdi1
Volume group "examplegroup2" successfully extended

Führen Sie den Befehl vgs oder vgdisplay aus, um die Erweiterung zu bestätigen. Das folgende Beispiel zeigt, dass die Volume-Gruppe examplegroup1 jetzt zwei PVs enthält:

$ sudo vgs
  VG                       #PV #LV #SN Attr   VSize   VFree
examplegroup1            2   1   0 wz--n-  29.99g   20.99g

3.Führen Sie den Befehl lvextend aus, um das logische Volume zu erweitern:

$ sudo lvextend -L 29G /dev/examplegroup1/lvexample1

Hinweis: Im vorherigen Beispiel ist 29G die neue vergrößerte Größe des LV. **29G ** ist nicht die Größe, um die die LV erhöht werden muss.

4.Ändern Sie die Größe des Dateisystems:

Ext2, Ext3, and Ext4 Dateisysteme:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS-Dateisysteme:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Erweitern Sie ein gestreiftes Volumen

Striping ist eine Technik zur Verteilung von Daten auf mehrere Festplatten. Möglicherweise erhalten Sie beim Erweitern eines logischen Volumes eine Meldung ähnlich der folgenden:

$ pvcreate /dev/xvdd
Physical volume "/dev/xvdd" successfully created.

$ vgextend vg01 /dev/xvdd
Volume group "vg01" successfully extended

$ vgs
VG   #PV #LV #SN Attr   VSize   VFree
vg01   3   1   0 wz--n- <23.99g <13.99g

$ lvextend /dev/vg01/lv01 -L +10G
Using stripesize of last segment 128.00 KiB
Insufficient suitable allocatable extents for logical volume lv01: 1026 more required

Der vorherige Fehler oder ähnliche Fehler treten auf, wenn ein logisches Laufwerk mit „gestreifter“ Struktur erweitert wird, ohne dass eine ausreichende Anzahl von Geräten für das Striping der Daten hinzugefügt wird.

Gehen Sie wie folgt vor, um diese Fehler beim Erweitern eines gestreiften Volumens zu vermeiden:

1.Führen Sie den folgenden Befehl aus, um die Anzahl der Geräte zu ermitteln, über die das LV die Daten verteilt.

$ lvs -o+lv_layout,stripes
LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Layout     #Str
lv01 vg01 -wi-a----- 10.00g                                                     striped       2

2.Die Spalte #Str (Stripes) steht für die Anzahl der Geräte, auf denen die Daten verteilt werden. Im vorherigen Beispiel werden die Daten auf zwei Geräte verteilt. Sie benötigen also mindestens 2 Geräte (oder Geräte in Vielfachen von 2), die zur VG hinzugefügt werden, um die LV zu erweitern. Da Sie ein Gerät hinzugefügt haben (in den vorherigen Schritten), fügen Sie das zweite Gerät hinzu und versuchen erneut, es zu erweitern:

$ pvcreate /dev/xvde
Physical volume "/dev/xvde" successfully created.

$ vgextend vg01 /dev/xvde
Volume group "vg01" successfully extended

$ vgs
VG   #PV #LV #SN Attr   VSize  VFree
  vg01   4   1   0 wz--n- 31.98g 21.98g

$ lvextend /dev/vg01/lv01 -L +10G
Using stripesize of last segment 128.00 KiB
Size of logical volume vg01/lv01 changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents).
Logical volume vg01/lv01 successfully resized.

$ lvs -o+lv_layout,stripes
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Layout     #Str
lv01 vg01 -wi-a----- 20.00g                                                     striped       2
lv01 vg01 -wi-a----- 20.00g                                                     striped       2

Die obige Beispielausgabe zeigt, dass der Befehl lvextend erfolgreich abgeschlossen wurde, als das zweite Gerät hinzugefügt wurde.

3.Führen Sie den folgenden Befehl aus, um die Größe des Dateisystems zu ändern:

Ext2, Ext3, and Ext4 Dateisysteme:

$ sudo resize2fs /dev/vg01/lv01

XFS-Dateisysteme:

$ sudo xfs_growfs /dev/vg01/lv01
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten