GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Gerät mit uuid [UUID] konnte nicht gefunden werden – LVM beim Neustart nicht aktiv

Das Problem

Nach einem Neustart startet oder aktiviert das System keine der LVM-Volumengruppen. Der Versuch, die Gruppe manuell zu aktivieren, erzeugt die Meldung:

Couldn't find device with uuid '[UUID]'

Die Lösung

Die Zeichenfolge LABELONE am Metadatenspeicherort markiert das Gerät als Teil eines LVM-Geräts. Ohne diese Zeichenfolge wird lvm3 nicht versuchen, das Gerät als physikalisches Volume zu verwenden. Die physischen Gerätemetadaten können aufgrund eines Systemfehlers oder einer vorsätzlichen manuellen Aktion überschrieben werden.

Für die Linux-Versionen 4 oder 5 beträgt der Standard-Metadatenbereich 192 KB. Für Linux Version 6 sind die Standardmetadaten 1 MB. Bevor Sie versuchen, Wiederherstellungs- oder Reparaturaktivitäten durchzuführen, wird Ihnen dringend empfohlen, eine Sicherungskopie dieses Bereichs zu erstellen:

# /bin/dd if=/dev/xvdd of=/root/xvdd.metadata bs=1K count=[192_or_1024]

So prüfen Sie die LVM-Signatur:

# /bin/strings /root/xvdd.metadata | /bin/fgrep LABELONE

Wenn keine Ausgabe erfolgt, sind die Metadaten beschädigt.

Überprüfen Sie die Informationen in:

/etc/lvm/backup
/etc/lvm/archives

für Änderungen. Wenn diese geändert wurden oder inkonsistent sind, ist es möglich, dass die Wiederherstellungsaktivität die gesamten Volume-Daten beschädigt. Stellen Sie sicher, dass das physische Gerät oder die LUN noch verfügbar ist oder diesem Server immer noch präsentiert wird.

Achten Sie darauf, regelmäßig Backups für alle LVM-Volumes zu erstellen. Obwohl sie möglicherweise wiederherstellbar sind, ist es auch möglich, dass eine Fehlkonfiguration den gesamten Datensatz vollständig beschädigt.

1. Beachten Sie, dass dieses Element nur wichtig ist, wenn Sie auch Multipath-Geräte auf Ihrem System haben. Wenn Sie LVM und Multipathing nicht auf demselben Server verwenden, können Sie diesen Punkt getrost überspringen.

Während des Systemstarts wird das LVM-Subsystem jedes Mal benachrichtigt, wenn ein Blockgerät, z. B. ein Festplattenlaufwerk oder eine LUN, verwendet wird, sodass das Gerät zum Erstellen eines LVM-Volumes verwendet werden kann. Dies ist ein asynchroner Prozess; Es gibt keine Garantie dafür, dass die Geräte bei jedem Systemstart in derselben Reihenfolge erkannt werden. Dies bedeutet, dass die physischen Pfade eines Multipath-Geräts wahrscheinlich entdeckt werden, bevor das zusammengesetzte logische Gerät vollständig ist, was dazu führt, dass der physische Pfad vom LVM-Subsystem beansprucht wird, bevor dem Multipath-Subsystem das Gerät angeboten wird. Es gibt zwei unerwünschte Ergebnisse dieser Bedingung:

a. Nur ein einziger Pfad zum Multipath-Gerät wird von LVM verwendet und beansprucht, wodurch das System anfällig für einen Single-Point-Fehler bleibt, der einen katastrophalen Verlust der Konnektivität zum Speicher verursacht.

b. Da LVM den exklusiven Besitz des physischen Pfads erhält, meldet die Multipathing-Schicht das Gerät als beschäftigt und kann das Multipath-Gerät nicht erstellen. Dadurch bleibt der Speicher einem Einzelpunktfehler ausgesetzt, der den Zugriff auf den Speicher verhindert. Die Lösung besteht darin, den LVM zu zwingen, nur diejenigen Blockgeräte zu berücksichtigen, die tatsächlich einen Teil eines LVM-Volumes enthalten sollen. Dazu schauen Sie in die Datei /etc/lvm/lvm.conf:

# /bin/fgrep -n -e 's/#.*//' -e '/filter/p' /etc/lvm/lvm.conf
filter = [ "a/.*/" ]

Wenn Ihre Ausgabe wie oben aussieht, haben Sie ein LVM-Konfigurationsproblem, das wahrscheinlich alle Multipath-Geräte beschädigen wird, wenn Sie sie auf Ihrem System verwenden. Das Ändern dieses Parameters ist nicht Gegenstand dieses Hinweises. Wir gehen davon aus, dass Sie diesen Wert korrigiert haben.

2. Manchmal wird der Speicher, der die LVM-Daten enthält, langsam erkannt und kann erfolgreich gemountet werden, wenn darauf zugegriffen wird, nachdem sich das System stabilisiert hat. Zunächst werden wir die verfügbaren Blockgeräte inventarisieren und die UUIDs ermitteln:

# /sbin/vgscan
Reading all physical volumes.  This may take a while...
Couldn't fine device with uuid  70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt.
Found volume group "data_vg" using metadata type lvm2

Nachdem wir nun die UUID haben, die das Problem verursacht, müssen wir das zugehörige Gerät finden:

# /sbin/pvs -o +uuid
Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt.
  PV             VG      Fmt  Attr PSize   PFree   PV UUID
  /dev/xvdc      data_vg lvm2 a--  996.00M      0  VrVT1L-CTcT-9Nn9-oIAx-BnEA-X7sv-vJO6RE
  /dev/xvde      data_vg lvm2 a--  996.00M 428.00M tGIqvd-lsYv-7JmV-1bfD-t7BL-HaGi-rmIYW0
  unknown device data_vg lvm2 a-m  996.00M      0  70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt

3. Wir können die Verteilung der logischen Volumes auf die physischen Geräte wie folgt anzeigen:

# /sbin/lvs -o +devices
Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt.
  LV         VG      Attr   LSize Origin Snap%  Move Log Copy%  Convert Devices
  data_vg_lv data_vg -wi-a- 2.50G                                       /dev/xvdc(0)
  data_vg_lv data_vg -wi-a- 2.50G                                       unknown device(0)
  data_vg_lv data_vg -wi-a- 2.50G                                       /dev/xvde(0) =

4. Versuchen Sie, die Datenträgergruppe zu aktivieren:

# /sbin/vgchange -a y data_vg
  Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt.
  Refusing activation of partial LV data_vg_lv. Use --partial to override.
  1 logical volume(s) in volume group "data_vg" now active

5. Versuchen Sie, die Volumengruppe zu reduzieren und das fehlende Gerät zu entfernen:

# /sbin/vgreduce --removemissing data_vg
  Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt.
  WARNING: Partial LV data_vg_lv needs to be repaired or removed.
  WARNING: There are still partial LVs in VG data_vg.
  To remove them unconditionally use: vgreduce --removemissing --force.
  Proceeding to remove empty missing PVs.
# /sbin/vgreduce --removemissing data_vg --force
  Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt.
  Removing partial LV data_vg_lv.
  Logical volume "data_vg_lv" successfully removed
  Wrote out consistent volume group data_vg

6. Nachdem das fehlende Gerät aus der Gruppe entfernt wurde, sollte das LVM-Gerät aktiviert werden:

# /sbin/pvs
  PV         VG      Fmt  Attr PSize   PFree
  /dev/xvdc  data_vg lvm2 a--  996.00M 996.00M
  /dev/xvde  data_vg lvm2 a--  996.00M 996.00M
# /sbin/lvs -o +devices
#
# /sbin/vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "data_vg" using metadata type lvm2
# /sbin/vgdisplay
  --- Volume group ---
  VG Name               data_vg
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  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               1.95 GB
  PE Size               4.00 MB
  Total PE              498
  Alloc PE / Size       0 / 0
  Free  PE / Size       498 / 1.95 GB
  VG UUID               yTOvvd-ZjUe-gXP0-41BT-qUIk-8uPR-lpr9Pw

7. Wir können versuchen, die Datenträgergruppe mithilfe der im Verzeichnis /etc/lvm/archive/ gespeicherten Informationen wiederherzustellen:

# /sbin/vgcfgrestore -f data_vg_00003-1023778751.vg data_vg
  Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt.
  Cannot restore Volume Group data_vg with 1 PVs marked as missing.
  Restore failed.

8. Versuch, die Geräteinformationen basierend auf den UUID-Einstellungen, die von den Volumengruppeninformationen abgeleitet wurden, zu überschreiben oder neu zu erstellen:

# /sbin/pvcreate --restorefile /etc/lvm/archive/data_vg_00003-1023778751.vg --uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt /dev/xvdd
  Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt.
  Writing physical volume data to disk "/dev/xvdd"
  Physical volume "/dev/xvdd" successfully created

9. Öffnen Sie die Datenträgergruppeninformationen, z. B. /etc/lvm/archive/data_vg_00003-1023778751.vg, mit einem Texteditor und entfernen Sie die Zeichenfolge „MISSING“ aus dem Flags-Eintrag, sodass sie wie folgt aussieht:

flags = [ ]

10. Stellen Sie den LVM mit diesem geänderten Eintrag wieder her:

# /sbin/ vgcfgrestore -f /etc/lvm/archive/data_vg_00003-1023778751.vg data_vg
  Restored volume group data_vg

11. Überprüfen Sie die Umgebung:

# /sbin/vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "data_vg" using metadata type lvm2
# /sbin/ pvs -o +uuid
  PV         VG      Fmt  Attr PSize   PFree   PV UUID
  /dev/xvdc  data_vg lvm2 a--  996.00M      0  VrVT1L-CTcT-9Nn9-oIAx-BnEA-X7sv-vJO6RE
  /dev/xvdd  data_vg lvm2 a--  996.00M      0  70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt
  /dev/xvde  data_vg lvm2 a--  996.00M 428.00M tGIqvd-lsYv-7JmV-1bfD-t7BL-HaGi-rmIYW0

12. Überprüfen Sie die LVM-Verfügbarkeit:

# /sbin/lvs -o +devices
  LV         VG      Attr   LSize Origin Snap%  Move Log Copy%  Convert Devices
  data_vg_lv data_vg -wi--- 2.50G                                       /dev/xvdc(0)
  data_vg_lv data_vg -wi--- 2.50G                                       /dev/xvdd(0)
  data_vg_lv data_vg -wi--- 2.50G                                       /dev/xvde(0)


Cent OS
  1. Trimmen mit Lvm und Dm-Crypt?

  2. Linux – Debian erkennt serielle PCI-Karte nach Neustart nicht?

  3. Linux – Wie finde ich den Treiber (Modul), der mit einem Gerät unter Linux verbunden ist?

  4. CentOS / RHEL :So finden Sie die UUID eines Geräts oder Dateisystems

  5. LVM-Befehle schlagen fehl mit „Failed to load config file /etc/lvm/lvm.conf“

Speicher mit LVM hinzufügen

Installieren Sie Linux mit LVM

Integrieren Sie Samba mit Active Directory auf CentOS

Ein Leitfaden zu LVM-Snapshots mit ext4 unter CentOS 7

Neustartbefehl unter Linux mit Beispielen

find:Befehl nicht gefunden