GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden von LVM zum Verwalten von physischen Datenträgern, Datenträgergruppen und logischen Datenträgern – RHCSA Objective Preparation

Als Teil der Vorbereitung auf die RHCSA-Prüfung haben wir bereits gelernt, wie man Partitionen auf der Festplatte verwaltet. Partitionen sind nützlich, um Speicherplatz zu trennen (z. B. um datenbankbezogene Dateien von webserverbezogenen Dateien zu trennen), aber wir haben eine viel flexiblere Lösung, die Speicherplatz trennen oder zusammenfassen kann.

Diese Lösung heißt LVM, der Logical Volume Manager. LVM ermöglicht es uns, mehrere Festplatten als ein Dateisystem zu sehen und damit die Einschränkungen des Standorts einer physischen Festplatte zu überwinden. Wir können auch Software-Spiegelungen auf Festplatten erstellen, um Daten zu schützen oder in das Dateisystem zu schreiben. In diesem Tutorial behandeln wir die Grundlagen:Wir verwalten die drei Ebenen von LVM, physische Volumes, Volume-Gruppen und logische Volumes.

In diesem Tutorial lernen Sie:

  • So erstellen und entfernen Sie physische Volumes
  • So weisen Sie Datenträgergruppen physische Datenträger zu
  • So erstellen und löschen Sie logische Volumes

Erstellen eines neuen physischen Datenträgers mit LVM.

Softwareanforderungen und verwendete Konventionen

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System Red Hat Enterprise Linux 8.1
Software LVM 2.03
Andere Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Bei LVM haben wir drei Schichten, die aufeinander aufbauen:physical volumes (pv), die Partitionen sehr ähnlich sind, nur für die LVM-Nutzung markiert. Wir können ein physisches Volume aus einer Festplattenpartition oder einer ganzen Raw-Festplatte erstellen. Wenn wir beabsichtigen, eine Festplatte nur als physisches LVM-Volume zu verwenden, müssen wir darauf nicht zuerst eine Partition erstellen. Die nächste Schicht ist eine volume group (sg). Wie der Name schon sagt, handelt es sich einfach um die Gruppierung physischer Volumes. Auf dieser Ebene können wir den gesamten Speicherplatz des zugrunde liegenden physischen Volumes zu einer größeren Speichereinheit zusammenfassen. Auf Volumengruppen können wir die letzte Schicht erstellen, logical volumes (lv). Diese können Dateisysteme enthalten, in denen wir unsere Daten speichern können.

Eines der Hauptmerkmale von LVM ist, dass wir einer Volume-Gruppe spontan ein weiteres physisches Volume hinzufügen können, und wir können auch die Größe eines logischen Volumes ändern, während das System läuft. Wenn uns also der Speicherplatz ausgeht, können wir skalieren, ohne ein System herunterzufahren.

Die Abkürzungen der Schichten sind gute Erinnerungen, wenn wir uns mit LVM befassen. Die Befehle, die auf verschiedenen Ebenen funktionieren, beginnen alle mit diesen Abkürzungen. Wenn wir beispielsweise mit physischen Volumes arbeiten, lautet der Befehl zum Erstellen eines solchen pvcreate , lautet der Befehl zum Auflisten vorhandener physischer Volumes pvdisplay , und so weiter. Selbst wenn wir dies selten tun müssen, ist es einfach, den richtigen Befehl zu erraten oder zu finden, da diese Namenskonvention auf allen Ebenen konsistent ist.

Für dieses Tutorial haben wir Festplatten mit jeweils 2 GB Größe zu unserem Laborcomputer hinzugefügt. Sie werden als /dev/sdb erkannt und /dev/sdc auf unserem System, während /dev/sda enthält das Betriebssystem, das wir während der folgenden Schritte nicht berühren werden.

So erstellen und entfernen Sie physische Volumes

So erstellen Sie ein physisches Volume

Um ein physisches Volume zu erstellen, verwenden wir pvcreate . Wir erstellen ein physisches 2-GB-Volume auf beiden sdb , und sdc .

# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.

Wir können überprüfen, ob wir es richtig gemacht haben, indem wir unsere physischen Volumes auflisten. Wir verwenden pvdisplay .

# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <14.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3583
  Free PE               0
  Allocated PE          3583
  PV UUID               rfezEa-GlgW-jWUX-Zixs-Ydw0-EsZS-nk3JDH
   
  "/dev/sdb" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               V2PUv4-O9eQ-jFvQ-UmQf-dmq3-caF9-xmxYGj
   
  "/dev/sdc" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               2.00 GiB                                                                                                                                                                            
  Allocatable           NO                                                                                                                                                                                  
  PE Size               0                                                                                                                                                                                   
  Total PE              0                                                                                                                                                                                   
  Free PE               0                                                                                                                                                                                   
  Allocated PE          0                                                                                                                                                                                   
  PV UUID               PWTs7Q-x3wD-RyXj-ertn-Sh2N-CiXb-ayDc1q

Der Lab-Rechner verwendet LVM bereits in seiner Standardkonfiguration (wie die meisten Distributionen heutzutage), deshalb /dev/sda2 wird gezeigt. Wir interessieren uns für unsere beiden neuen physischen Volumes, die wir jetzt verifizieren können.

So entfernen Sie ein physisches Volume

Um ein physisches Volume zu löschen, haben wir den pvremove Befehl. Entfernen Sie keinen physischen Datenträger mit darauf geschriebenen Daten, die benötigt werden.

# pvremove /dev/sdc 
  Labels on physical volume "/dev/sdc" successfully wiped.

So weisen Sie Datenträgergruppen physische Datenträger zu

Datenträgergruppe aus physischen Datenträgern erstellen.

Nach dem erneuten Erstellen des gelöschten sdc physischen Volume haben wir alles, was wir brauchen, um eine Volume-Gruppe zu erstellen, die ein logisches Volume enthalten kann. Wir könnten eine Volume-„Gruppe“ erstellen, die nur ein physisches Volume hat – was genau der Fall des Standard-sda2 ist – Um jedoch die Speicheraggregation zu demonstrieren, verwenden wir unsere beiden neuen physischen Volumes, um eine Volume-Gruppe mit dem Namen „Daten“ zu erstellen, die über 4 GB Speicherplatz verfügt.

Wir können eine Volumengruppe mit vgcreate erstellen . Alles, was wir brauchen, ist die Angabe des VG-Namens und der physischen Volumes, die Mitglieder der Volume-Gruppe sein werden.

# vgcreate data /dev/sdb /dev/sdc
  Volume group "data" successfully created

Wir können die Eigenschaften unserer neuen Volumengruppe mit vgdisplay auflisten .

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1022 / 3.99 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Beachten Sie die VG-Größe von fast 4 GB, die Summe der beiden physischen Volumes. Es wird nicht genau die Summe der Volumes sein, da etwas Platz für Metadaten reserviert ist.

So erstellen und löschen Sie logische Volumes

Auf einer Volumengruppe können wir logische Volumen erstellen, die wiederum Dateisysteme enthalten können. Die Standardinstallation vieler Distributionen trennt den Speicher auf diese Weise, beispielsweise werden die Daten des Benutzers auf /home gespeichert logisches Volume und Systemprotokolle werden in /var gespeichert Volumen. Für den Fall, dass ein Benutzer das Home-Volume füllt, ist das Gesamtsystem weiterhin in der Lage, Protokolle zu schreiben, und somit werden seine Dienste weiter ausgeführt, während der Systemadministrator mit dem wild gewordenen Benutzer umgehen kann.

So erstellen Sie ein logisches Volume

Wir erstellen zwei logische Volumes, das erste namens „Datenbank“ mit einer Größe von 2 GB, das andere namens „Webserver“ mit 500 MB Speicherplatz. Wie Sie den obigen Beispielen entnehmen können, ist der von uns verwendete Befehl lvcreate .

# lvcreate -L 2G -n database data
  Logical volume "database" created.
# lvcreate -L 500M -n webserver data
  Logical volume "webserver" created.

Wir können unsere Volume-Eigenschaften mit lvdisplay <volume path> anzeigen , oder wir können alle unsere logischen Volumes auflisten, wenn wir kein Argument für lvdisplay bereitstellen . Während dies auf einigen Systemen zu einer längeren Ausgabe führen kann, ist es in einer unbekannten Umgebung nützlich, da die Volume-Pfade je nach Distribution und Version variieren können.

# lvdisplay /dev/data/database 
  --- Logical volume ---
  LV Path                /dev/data/database
  LV Name                database
  VG Name                data
  LV UUID                D7f9An-G0dd-kEGw-OGrP-HZlA-dQlX-yBbQbi
  LV Write Access        read/write
  LV Creation host, time rhel8rhcsa, 2019-12-28 16:53:24 +0100
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
# lvdisplay /dev/data/webserver 
  --- Logical volume ---
  LV Path                /dev/data/webserver
  LV Name                webserver
  VG Name                data
  LV UUID                7Ldt79-aw0i-Oydm-4d0I-JaVe-Zd8m-xKpvrD
  LV Write Access        read/write
  LV Creation host, time rhel8rhcsa, 2019-12-28 16:53:38 +0100
  LV Status              available
  # open                 0
  LV Size                500.00 MiB
  Current LE             125
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

Wenn wir an dieser Stelle unsere Volume-Gruppe überprüfen, können wir den Speicherplatz feststellen, den die logischen Volumes von der Volume-Gruppe verbrauchen.

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       637 / <2.49 GiB
  Free  PE / Size       385 / 1.50 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

So erstellen Sie ein logisches Volume auf einem RHEL-Linux-System

So löschen Sie ein logisches Volume

Um Speicherplatz freizugeben oder Volumes neu zu organisieren, können wir logische Volumes mit lvremove löschen .

WARNUNG
Entfernen Sie keine logischen Volumes, die wertvolle Daten enthalten. Dadurch werden Daten auf dem Volume zerstört.

Es sind Sicherheitsgurte eingebaut, vorbei sind die Zeiten, in denen das Abwischen unseres Systems nicht auf eine Aufforderung warten musste. Zumindest bei Verwendung der LVM-Befehle.

# lvremove /dev/data/webserver 
Do you really want to remove active logical volume data/webserver? [y/n]: y
  Logical volume "webserver" successfully removed

Eine weitere Volumengruppenauflistung zeigt, dass die 500 MB des webserver Das Volume wird nun wieder zur freien Größe der Volume-Gruppe hinzugefügt:

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       512 / 2.00 GiB
  Free  PE / Size       510 / 1.99 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Übungen

  1. Erstellen Sie zwei Volumengruppen und erstellen Sie auf beiden logische Volumen mit demselben Namen.
  2. Fügen Sie Ihrer Volume-Gruppe ein weiteres physisches Volume hinzu und erstellen Sie dann ein logisches Volume, das die gesamte Volume-Gruppe belegt. Versuchen Sie nun, einen der physischen Datenträger zu entfernen.
  3. Versuchen Sie, ein logisches Volume zu erstellen, das genau die Größe der Volume-Gruppe hat.
  4. Erstellen Sie ein weiteres physisches Volume auf einer Festplatte, fügen Sie es Ihrer Volume-Gruppe hinzu, fahren Sie dann die Maschine herunter und entfernen Sie die Festplatte. Was bedeutet vgdisplay sagen auf der fehlenden Festplatte?
  5. Fügen Sie die zuvor entfernte Festplatte wieder ein. Wird es beim nächsten Booten erkannt?

Linux
  1. So erstellen Sie ein physisches Volume unter Linux mit LVM

  2. So führen Sie zwei Volumengruppen (VGs) mit vgmerge in LVM zu einer zusammen

  3. LVM-Konfiguration:Operationen/Dienstprogramme für logische Volumes (LV).

  4. LVM-Konfiguration:Vorgänge/Dienstprogramme für physische Volumes (PV).

  5. So stellen Sie gelöschte logische Volumes (LV) in LVM mit vgcfgrestore wieder her

Fügen Sie neue Partitionen und logische Volumes hinzu und wechseln Sie zerstörungsfrei zu einem System – RHCSA Objective Preparation

Setgid-Verzeichnisse für die Zusammenarbeit erstellen und konfigurieren – RHCSA Objective Preparation

Sicherung und Wiederherstellung von LVM-Snapshots unter Linux

Verwaltung logischer Volumes unter Linux erklärt

Logisches Lvm-Volume auf virtueller Maschine erweitern?

Anfängerleitfaden für LVM (Logical Volume Management)