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

„device-mapper:resume ioctl failed:Invalid argument“ – Fehler beim Ausführen von lvcreate/lvresize/lvextend

Das Problem

lvresize, lvextend oder lvcreate kann auf logischen Datenträgern nicht ausgeführt werden und der folgende Fehler wird nach der Ausführung eines beliebigen LVM-Befehls ausgegeben:

device-mapper: resume ioctl on (major:minor) failed: Invalid argument
Unable to resume vgname-lvname (major:minor)
Failed to activate new LV

Die Lösung

Der obige Fehler wird ausgelöst, wenn eine Fehlkonfiguration mit LVM vorgenommen wurde. Dieses Problem wird verursacht, wenn die PSize (Physical Size) ist größer als DevSize eingestellt (Gerätegröße). Dies kann durch die Ausgabe des folgenden Befehls überprüft werden:

# pvs -v
Scanning for physical volume names
PV        VG      Fmt   Attr  PSize    PFree   DevSize  PV  UUID
/dev/xvdc testvg1 lvm2  a-    10.00G   5.00G   5.00G        2XEI4w-LmJi-iR3B-xXVU-XxK3-dfTf-WPZXF6

Hier können Sie feststellen, dass die PSize auf 10 G eingestellt ist, die tatsächliche Gerätegröße jedoch nur 5 G beträgt und daher die PSize kleiner oder gleich DevSize sein sollte. Sie können die vorgenommenen Änderungen auch sehen, indem Sie einen Blick auf die lvm-Archivdateien werfen.

# cd /etc/lvm/archive
# less testvg1_00000-320386444.vg
description = "Created *before* executing 'pvresize --setphysicalvolumesize 10G /dev/xvdc'"

Oben ist die Größe des physischen Volumes für die Archivdatei auf 10 GB eingestellt, was zu einer Beschädigung oder Sperrung der LVM-Funktionalität führte.

Aktionsplan

HINWEIS :Da Sie die Größe reduzieren werden, machen Sie bitte zuerst die vollständige Sicherung, um zu verhindern, dass Ihre Daten im schlimmsten Fall verloren gehen, da dies eine sehr riskante Methode ist und Sie außerdem Ihr /root auf derselben Volgroup eingerichtet haben.

1. Machen Sie alle an Ihren logischen Volumes vorgenommenen Änderungen rückgängig und stellen Sie die ursprüngliche Größe wieder her.
2. Verwenden Sie dann pvresize -v /dev/xxxxx/xxxxx – basierend auf Ihrer Namenskonvention.
3. Überprüfen Sie nun die Ausgabe von pvs -v und stellen Sie sicher, dass PVSize und DEVSize übereinstimmen.
4. Führen Sie schließlich lvresize aus, es sollte funktionieren.

Wenn Sie die Größe des physischen Volumes erhöhen möchten, erstellen Sie zuerst eine neue Partition und initialisieren Sie sie dann mit pvcreate und fügen Sie diese Partition mit vgextend der vorhandenen Volgroup hinzu und starten Sie die normale Prozedur für lv extend.

Beispiel

Unten ist ein Beispiel für den obigen Aktionsplan:

1. Setzen Sie die an LV vorgenommenen Änderungen zurück und stellen Sie sicher, dass LVSize innerhalb der Devsize-Grenze liegt.

# lvresize -L 4G /dev/testvg1/test_lv
WARNING: Reducing active logical volume to 4.00 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce test_lv? [y/n]: y
Reducing logical volume test_lv to 4.00 GB
Logical volume test_lv successfully resized

2. Verwenden Sie jetzt pvresize -v /dev/xxxx/xxxx

# pvresize -v /dev/xvdc
Using physical volume(s) on command line
Archiving volume group "testvg1" metadata (seqno 9).
Resizing physical volume /dev/xvdc from 2559 to 1279 extents.
Resizing volume "/dev/xvdc" to 10485376 sectors.
Updating physical volume "/dev/xvdc"
Creating volume group backup "/etc/lvm/backup/testvg1" (seqno 10).
Physical volume "/dev/xvdc" changed
1 physical volume(s) resized / 0 physical volume(s) not resized

3. Überprüfung mit dem Befehl pvs -v:

# pvs -v
Scanning for physical volume names
PV         VG      Fmt    Attr  PSize  PFree      DevSize  PV  UUID
/dev/xvdc  testvg1 lvm2   a-    5.00G  1020.00M   5.00G        2XEI4w-LmJi-iR3B-xXVU-XxK3-dfTf-WPZXF6

Jetzt ist es möglich zu sehen, dass PSize gleich DevSize ist.

4. Führen Sie jetzt bitte alle anderen normalen Vorgänge mit Ihrem LVM durch.


Cent OS
  1. So beheben Sie den Fehler „Error:rpmdb open failed“ in CentOS

  2. Fehler beim Herunterladen von Metadaten für Repo „AppStream“ [CentOS]

  3. Bash:Echo:Schreibfehler:Ungültiges Argument?

  4. Swapon kann Swap nicht mounten – Gibt den Fehler „Ungültiges Argument“ aus

  5. „mlock failed:Cannot allocate memory“ lvcreate-Befehlsfehler in CentOS/RHEL 7

Wenig Speicherplatz auf der Festplatte Fehlerprotokollierung /var/log/cups/error.log?

So erstellen Sie LVM mit den lvm2-Befehlen vgcreate, lvcreate und lvextend

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

„mdadm:Keine Arrays in Konfigurationsdatei gefunden“ – Fehler beim Ausführen von „mdadm –assemble –scan“

lvcreate/lvremove fehlgeschlagen mit Fehler „Das logische Volumen des Zusammenführungs-Snapshots kann nicht entfernt werden“

Das erneute Lesen der Partitionstabelle ist mit Fehler 22 fehlgeschlagen:ungültiges Argument