Wie erstelle ich ein logisches LVM-Volume auf einer Partition, die auf einem EBS-Volume erstellt wurde?

Lesedauer: 8 Minute
0

Wie kann ich den Logical Volume Manager (LVM) verwenden, um ein logisches Volume (LV) auf einer Partition zu erstellen, die auf meinem Amazon Elastic Block Store (Amazon EBS)-Volume erstellt wurde?

Kurzbeschreibung

Mit LVM können Sie Festplattenspeicher zuweisen und logische Volumes entfernen, erneut spiegeln und deren Größe ändern. Mit LVM können Sie einem oder mehreren physischen Volumes ein EBS-Volume oder eine Reihe von EBS-Volumes zuweisen.

Gehen Sie wie folgt vor, um LVM auf Ihrem EBS-Volume zu verwenden und die Partitionen zu erweitern:

  1. Erstellen Sie physische Volumes (PV) aus Ihrem EBS-Volume.
  2. Erstellen Sie eine Volume-Gruppe (VG) und fügen Sie dann die physischen Volumes zur Volume-Gruppe hinzu.
  3. Erstellen Sie ein logisches Volume (LV) und mounten Sie dann das Verzeichnis auf dem LVM.
  4. Erstellen und mounten Sie ein Dateisystem.
  5. Ändern Sie die Größe des logischen Volumens.

Lösung

Hinweis: Wenn Sie LVM bereits auf Ihrem Volume erstellt und zur Verwendung bereitgestellt haben, dann folgen Sie den Anweisungen ab Erweitern des logischen Volumes.

Erstellen Sie physische Volumes auf der Partition Ihres EBS-Volumes

Die zugrunde liegende physische Speichereinheit eines logischen LVM-Volumes ist ein Blockgerät, z. B. eine Partition eines EBS-Volumes oder eines gesamten EBS-Volumes.

Hinweis: Nitro-basierte Instances stellen Volumes als NVMe-Geräte bereit. Die Blockgerätenamen folgen dem Muster /dev/nvme1n1, /dev/nvme2n1, /dev/nvme3n1 usw. Wenn Sie eine Nitro-basierte Instance verwenden, ersetzen Sie die Gerätenamen in den folgenden Schritten durch den entsprechenden Gerätenamen. Weitere Informationen zur Benennung von Geräten finden Sie unter Gerätenamen auf Linux-Instances.

1.Öffnen Sie die Amazon Elastic Compute Cloud (Amazon EC2)-Konsole.

2.Erstellen Sie Ihr EBS-Volume und fügen Sie das Volume dann Ihrer Instance hinzu.

3.Verwenden Sie den Befehl gdisk, um eine Partition zu erstellen. Geben Sie für den variablen Hex-Code oder GUID 8e00 ein. Das folgende Beispiel erstellt die Partition /dev/xvdh1 auf /dev/xvdh.

$ sudo gdisk /dev/xvdh
Command (? for help): n
Partition number (1-1218, default 1): 1
First sector (34-20971486, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00        
Changed type of partition to 'Linux LVM'
...
OK; writing new GUID partition table (GPT) to /dev/xvdh.
The operation has completed successfully.

Verwenden Sie den Befehl lsblk, um die Erstellung der Partition zu bestätigen:

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdh    202:80   0  10G  0 disk
└─xvdh1 202:81   0  10G  0 part

4.Verwenden Sie den Befehl pvcreate, um ein physisches Volume aus der Partition zu erstellen. Das folgende Beispiel erstellt ein physisches Volume aus /dev/xvdh1:

$ sudo pvcreate /dev/xvdh1
  Physical volume "/dev/xvdh1" successfully created.

Erstellen Sie Volume-Gruppen und fügen Sie die physischen Volumes zur Volume-Gruppe hinzu

Verwenden Sie den Befehl vgcreate, um eine Volume-Gruppe zu erstellen, um die neuen physischen Volumes zu kombinieren. Im folgenden Beispiel wird ein physisches Volume verwendet, um die Volumegruppe examplegroup1 zu erstellen:

$ sudo vgcreate examplegroup1 /dev/xvdh1    
  Volume group "examplegroup1" successfully created

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

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

Erstellen Sie ein logisches Volume (LV) und ein Mount-Verzeichnis

1.Verwenden Sie den Befehl lvcreate, um logische Volumes (Partitionen) aus Ihrer Volume-Gruppe zu erstellen. Im folgenden Beispiel wird ein logisches 9-GB-Volume, lvexample1, aus der Volume-Gruppe examplegroup1 erstellt:

$ sudo lvcreate -n lvexample1 -L 9G examplegroup1
  Logical volume "lvexample1" created

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----- 9.00g

2.Verwenden Sie den Befehl mkdir, um ein Mount-Verzeichnis zu erstellen. Das folgende Beispiel erstellt das Verzeichnis /mnt1:

$ sudo mkdir /mnt1

Erstellen und mounten Sie ein Dateisystem

1.Verwenden Sie die folgenden Befehle, um ein Dateisystem zu erstellen und die Partitionen zur Verwendung zu mounten.

Führen Sie den Befehl mkfs -t aus, um das Dateisystem zu erstellen. Hinweis: Ersetzen Sie xfs durch Ihren Dateisystemtyp, falls dieser ein anderer ist. Verwenden Sie beispielsweise ext2, ext3 oder ext4.

$ sudo mkfs -t xfs /dev/examplegroup1/lvexample1

Führen Sie den Befehl lsblk -f aus, um die Erstellung des neuen Dateisystems zu überprüfen. Hinweis: Der Dateisystemtyp, den Sie im vorherigen Schritt erstellt haben, wird unter FSTYPE angezeigt.

$ lsblk -f
NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
xvda                                                                            
├─xvda1                                                                         
└─xvda2                      xfs               66e5e079-770e-4359-a9da-5205c3d8d5af   /
xvdh                                                                            
└─xvdh1                      LVM2_member       0UnOic-e2ng-XxH5-z0UW-7aTh-RxQK-KMrDqo
  └─examplegroup1-lvexample1 xfs              5db36052-81d5-4762-8502-6986ff3964e7

Führen Sie den Befehl mount aus, um das Dateisystem in dem Mount-Verzeichnis zu mounten, das Sie im vorherigen Schritt erstellt haben:

$ sudo mount /dev/examplegroup1/lvexample1 /mnt1

2.Bearbeiten Sie die Mount-Optionen in der Datei /etc/fstab, sodass das neue Mount auch nach dem Neustart bestehen bleibt.

/dev/examplegroup1/lvexample1 /mnt1   xfs     defaults,nofail   0   0

Hinweis: Wenn Ihr Dateisystemtyp nicht xfs ist, ersetzen Sie xfs durch den Typ in der Datei /etc/fstab.

Erweitern Sie das logische Volume

Es gibt zwei Variante, logische Volumes zu erweitern:

  • Variante 1: Erhöhen Sie die Größe des vorhandenen EBS-Volumens.
  • Variante 2: Fügen Sie Ihrer Volume-Gruppe weitere EBS-Volumes hinzu.

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

Hinweis: Wenn Sie die Größe Ihres vorhandenen Volumens erhöhen, werden Größenänderungen normalerweise innerhalb von Sekunden wirksam, wenn das Volumen in den Optimierungszustand wechselt. 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.Installieren Sie das Dienstprogramm growpart:

$ 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, und führen Sie dann den Befehl pvresize aus, um die Größe der PV zu ändern. Im folgenden Beispiel wird die Partition /dev/xvdh1 erweitert:

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

$ 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

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

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

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

5.Erweitern Sie das Dateisystem:

Hinweis: Stellen Sie sicher, dass Sie den richtigen Dateisystemtyp in den Eintrag /etc/fstab eingeben.

Ext2-, Ext3 undExt4-Dateisysteme:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS-Dateisysteme:

$ sudo yum install x    rogs
$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Variante 2: Fügen Sie der Volume-Gruppe weitere EBS-Volumes hinzu

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

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

Hinweis: Folgen Sie je nach Anwendungsfall den Schritten für XFS- oder Ext2-, Ext3- und Ext4-Dateisysteme.

Ext2-, Ext3 undExt4-Dateisysteme:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS-Dateisysteme:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Relevante Informationen

Wie erstelle ich ein logisches LVM-Volume auf einem gesamten EBS-Volume?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren