LVM tworzy kopie zapasowe swoich metadanych do /etc/lvm/backup
i /etc/lvm/archive
. W górnej części każdego pliku powiesz czas / dane, kiedy plik został wygenerowany, więc są szanse, że będziesz mieć kopię starszych metadanych, tak jak było przed usunięciem LV. Uważam, że tworzenie kopii zapasowej odbywa się automatycznie przy każdej zmianie metadanych.
Poniższe mogą być niebezpieczne i destrukcyjne, dlatego należy zachować ostrożność i, jeśli to możliwe, mieć pełne kopie zapasowe.
Polecenie przywracania tych kopii zapasowych metadanych grupy woluminów to vgcfgrestore
. Upewnij się, że wykonałeś bieżącą kopię istniejącej konfiguracji roboczej za pomocą vgcfgbackup
polecenia z flagą -f, aby określić inny plik wyjściowy, aby nie zmieniać żadnych plików znajdujących się w / etc / lvm / backup lub / etc / lvm / archive foldery. Upewnij się, że różnicujesz bieżącą konfigurację z konfiguracją, którą chcesz przywrócić, aby sprawdzić, czy jedyne zmiany, które zamierzasz zastosować, to odtworzenie ostatnio usuniętej LV. Posiadanie pełnej kopii zapasowej danych prawdopodobnie nie jest złym pomysłem. Możesz również rozważyć skontaktowanie się ze sprzedawcą systemu Linux w celu uzyskania wsparcia / wskazówek, jeśli masz umowę serwisową przed kontynuowaniem, ponieważ nigdy nie musiałem tego robić sam.
Powodzenia.
„Czy mógłbyś być bardziej konkretny, aby znaleźć EFROM i ETO z pliku kopii zapasowej? Wszystkie lv mają„ start_extend ”od 0 w moim pliku kopii zapasowej, więc jestem trochę zagubiony :) Dzięki! - użytkownik186975 : 06 "
Ok, będę bardzo konkretny ... z najprostszym sposobem na odzyskanie woluminu logicznego.
Przykład:
1 - Usunąłem mój wolumin logiczny!
2 - Pierwszą rzeczą do zrobienia jest poszukaj pliku archiwum na /etc/lvm/archive/vg1_(xxxxx).vg. Mogę to zrobić, szukając tylko daty usunięcia logicznego woluminu!
3- Znalazłem to!
Data, w której zrobiłem lvremove !!! ... to było kilka minut temu ..
4 - Zobaczmy plik!
5 - Wykonaj test, zanim go odzyskasz!
6 - Ok, teraz powtórz wiersz poleceń, bez (--test)
7 - Sprawdź to!
8 - Jeśli logika nie była aktywna, zrób to!
To wszystko
Mam nadzieję, że pomoże to innym osobom szukającym tego rozwiązania!
źródło
Najłatwiejszą rzeczą do odzyskania z lvremove (zakładając, że nie pisałeś do zakresu, w którym LV przebywał) jest:
Wystarczy znaleźć kopię zapasową swoich metadanych w / etc / lvm / archive i dowiedzieć się
a) w jakim zakresie LV przebywał (EFROM, ETO)
b) w których PV mieszkał Twój LV i w jakim zakresie wykorzystuje PV (PFROM, PTO)
Po uzyskaniu tych informacji tworzysz nowy LV o dokładnie tym samym rozmiarze na dokładnie tym samym rozszerzeniu PV bez wymazywania pierwszych 8 kB LV:
źródło
(Jak wcześniej odpowiedział Thermoman) najłatwiejszym sposobem na odtworzenie usuniętego wolumenu LVM jest utworzenie go za pomocą lvcreate bez zerowania i upewnienie się, że będzie on w tej samej pozycji na dysku. (Polecenie z odpowiedzi termomana nie zadziałało).
Sprawdź rozmiar i położenie usuniętego woluminu logicznego, jakie były przed usunięciem, czytając pliki w / etc / lvm / archive. Wielkość ilości jest
extent_count
zsegment1
(lub sumasegment*/extent_count
wartości jakby miał kilka zakresów). Pozycja znajduje się wstripes
sekcji po fizycznym aliasie woluminu (nppv0
.).Na przykład sekcja głośności może wyglądać następująco:
Rozmiar tego
example
woluminu wynosił 1024 i znajdował się na / dev / somedisk, począwszy od zakresu 30720.Oblicz ostatni zakres jako początek + rozmiar -1 = 30720 + 1024 - 1 = 31743. Aby odtworzyć ten problem z woluminem, wykonaj następujące czynności:
źródło
Miałem podobną sytuację. Miałem wszystkie PV zawierające pożądane LV, ale moje VG pokazało brakujące PV i 0 LV. Odzyskałem, wykonując następujące czynności:
pvs
aby zebrać UUID dla wszystkich dysków.physical_volumes
sekcji ustawdevice =
wiersze, aby pasowały do bieżących urządzeń / identyfikatorów UUID zgłoszonych przezpvs
, wyczyść wszystkie"MISSING"
flagi i usuń wszystkiepvN
brakujące sekcje.logical_volumes
sekcji usuń wszystkie wykazy, które miały paski wpvN
sekcjach, które już nie istniały.To było to, potem pobiegłem
vgcfgrestore --test vg -f /root/dangerously_edited.vg
--test
opcji.Osiągnąłem swoją szczególną sytuację, rozszerzając VG o PV sdg i sdh. Następnie utworzyłem nowy LV, określając
/dev/sdg /dev/sdh
w wierszu polecenia, aby wiedzieć, że nowy LV znajduje się na tych dyskach. Następnie przeniosłem te dyski na nową maszynę. Stara maszyna była bardzo zaniepokojona brakującymi dyskami, a kiedy wymusiłem ich usunięcie, usunąłem WSZYSTKIE LV. Porażka.Następnym razem oczywiście utworzę nową VG, aby uniknąć tego problemu.
źródło