Ich habe kürzlich ein RAID verloren, das ein physisches Volume einer meiner Linux-LVM-Volumegruppen war. Ich habe schließlich ein Backup erstellt vgreduce --removemissing
und mich an die Wiederherstellung der Daten gemacht.
Nun, heute habe ich das RAID gefunden (es war versteckt, fragen Sie nicht).
# pvdisplay -m /dev/md2
WARNING: Volume group mg20 is not consistent
"/dev/md2" is a new physical volume of "499.87 GiB"
--- NEW Physical volume ---
PV Name /dev/md2
VG Name
PV Size 499.87 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID SUXIe9-B4xG-Qlbz-5cSd-f1dh-cRQh-vOF4qz
mg20
ist nicht konsistent, da das Lost&Found-PV /dev/md2
wahrscheinlich Kopien des alten logischen Volumekatalogs enthält, in dem das darauf befindliche Dateisystem erwähnt wird /dev/md2
.
Wie kann ich das darauf befindliche Dateisystem wieder integrieren und bewahren? (und mir die Mühe ersparen, den Inhalt wiederherzustellen) Ein vereinfachender Faktor ist, dass /dev/md2
nur ein LV enthalten war und dieses LV vollständig auf enthalten war .mg20
/dev/md2
/dev/md2
Antwort1
Ich fand herausAMöglichkeit, das Raid wiederherzustellen. Moderne LVM-Systeme erstellen recht häufig Backups der VG-Konfiguration. Sie können eine Liste Ihrer Backups und der Befehle, die sie ausgelöst haben, mit sehen vgcfgrestore --list
. Ich habe das von vorhin ausgewählt, als ich das gemacht habe, vgreduce --removemissing
und habe diese relevanten Teile darin gefunden:
pv8 {
id = "SUXIe9-B4xG-Qlbz-5cSd-f1dh-cRQh-vOF4qz"
device = "unknown device" # Hint only
status = ["ALLOCATABLE"]
flags = ["MISSING"]
dev_size = 1048312832 # 499.875 Gigabytes
pe_start = 2048
pe_count = 127967 # 499.871 Gigabytes
}
Und
homes18 {
id = "d7yt43-PMTv-XnsH-qAff-3d5A-ilB6-eQB0Jy"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
segment_count = 1
segment1 {
start_extent = 0
extent_count = 89600 # 350 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv8", 0
]
}
}
Also habe ich eine Kopie dieser Datei erstellt und sie "MISSING"
aus dem entfernt flags =
. Ich habe auch den gesetzt device = "/dev/md2"
, obwohl das wahrscheinlich nicht notwendig war. Ich habe einen ausgeführt vgcfgrestore -f /etc/lvm/archive/mg20_synthetic-2015.vg mg20
und jetzt ist mein mg20/homes18 wieder da und besteht einen fsck.
Ehrlich gesagt bin ich mit dieser Antwort nicht wirklich zufrieden. Es ist ein bisschen übertrieben, die GESAMTE Konfiguration wiederherzustellen.
Ich denke, eine echte Antwort könnte beinhalten lvcreate -Z n
, aber ich bin zu faul, die notwendigen Experimente durchzuführen, um dies zu überprüfen.