Brak urządzeń lvm pod / dev / mapper

21

Używam wyciskania Debiana i uruchamiam LVM na oprogramowaniu RAID 1. Po prostu przypadkowo odkryłem, że /dev/mapperbrakuje większości linków poniżej , chociaż mój system nadal działa poprawnie.

Nie jestem pewien, co się stało. Jedyną rzeczą, jaką mogłem sobie wyobrazić, była moja nieudana próba uruchomienia kontenera fedora LXC do pracy. W końcu usunąłem katalog /cgroup/laughlinodpowiadający kontenerowi, ale nie mogę sobie wyobrazić, dlaczego to powinno być przyczyną problemu. /dev/mapperwyglądałem (wprowadziłem kilka zmian, patrz poniżej) w przybliżeniu jak

orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x  2 root root     540 Apr 12 05:08 .
drwxr-xr-x 22 root root    4500 Apr 12 05:08 ..
crw-------  1 root root  10, 59 Apr  8 10:32 control
lrwxrwxrwx  1 root root       7 Mar 29 08:28 debian-root -> ../dm-0
lrwxrwxrwx  1 root root       8 Apr 12 03:32 debian-video -> ../dm-23

debian-video odpowiada właśnie utworzonemu przeze mnie LV.

Jednak w moim systemie jest całkiem sporo VG, co odpowiada 4 VG rozmieszczonym na 4 dyskach. vgsdaje

orwell:/dev/mapper# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  backup       1   2   0 wz--n- 186.26g  96.26g
  debian       1   7   0 wz--n- 465.76g 151.41g
  olddebian    1  12   0 wz--n- 186.26g  21.26g
  testdebian   1   3   0 wz--n- 111.75g  34.22g

Próbowałem biec

 /dev/mapper# vgscan --mknodes

i niektóre urządzenia zostały utworzone (patrz dane wyjściowe poniżej), ale nie są symbolicznymi linkami do urządzeń DM tak, jak powinny, więc nie jestem pewien, czy jest to bezużyteczne, czy gorsze. Czy staną na przeszkodzie odtworzeniu prawidłowych linków? Czy powinienem ponownie usunąć te urządzenia?

Wierzę, że udev tworzy te linki, więc czy ponowne uruchomienie rozwiązałoby ten problem, czy też otrzymam system, którego nie można uruchomić? Co powinienem zrobić, aby to naprawić? Czy są jakieś testy diagnostyczne / poczytalności, które powinienem uruchomić, aby upewnić się, że nie ma innych problemów, których nie zauważyłem? Z góry dziękuję za wszelką pomoc.

orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x  2 root root     540 Apr 12 05:08 .
drwxr-xr-x 22 root root    4500 Apr 12 05:08 ..
brw-rw----  1 root disk 253,  1 Apr 12 05:08 backup-local_src
brw-rw----  1 root disk 253,  2 Apr 12 05:08 backup-video
crw-------  1 root root  10, 59 Apr  8 10:32 control
brw-rw----  1 root disk 253, 15 Apr 12 05:08 debian-boot
brw-rw----  1 root disk 253, 16 Apr 12 05:08 debian-home
brw-rw----  1 root disk 253, 22 Apr 12 05:08 debian-lxc_laughlin
brw-rw----  1 root disk 253, 21 Apr 12 05:08 debian-lxc_squeeze
lrwxrwxrwx  1 root root       7 Mar 29 08:28 debian-root -> ../dm-0
brw-rw----  1 root disk 253, 17 Apr 12 05:08 debian-swap
lrwxrwxrwx  1 root root       8 Apr 12 03:32 debian-video -> ../dm-23
brw-rw----  1 root disk 253, 10 Apr 12 05:08 olddebian-etch_template
brw-rw----  1 root disk 253, 13 Apr 12 05:08 olddebian-fedora
brw-rw----  1 root disk 253,  8 Apr 12 05:08 olddebian-feisty
brw-rw----  1 root disk 253,  9 Apr 12 05:08 olddebian-gutsy
brw-rw----  1 root disk 253,  4 Apr 12 05:08 olddebian-home
brw-rw----  1 root disk 253, 11 Apr 12 05:08 olddebian-lenny
brw-rw----  1 root disk 253,  7 Apr 12 05:08 olddebian-msi
brw-rw----  1 root disk 253,  5 Apr 12 05:08 olddebian-oldchresto
brw-rw----  1 root disk 253,  3 Apr 12 05:08 olddebian-root
brw-rw----  1 root disk 253, 14 Apr 12 05:08 olddebian-suse
brw-rw----  1 root disk 253,  6 Apr 12 05:08 olddebian-vgentoo
brw-rw----  1 root disk 253, 12 Apr 12 05:08 olddebian-wsgi
brw-rw----  1 root disk 253, 20 Apr 12 05:08 testdebian-boot
brw-rw----  1 root disk 253, 18 Apr 12 05:08 testdebian-home
brw-rw----  1 root disk 253, 19 Apr 12 05:08 testdebian-root
Faheem Mitha
źródło
Będę pierwszym, który poda tutaj to, co oczywiste. Natychmiast wykonaj kopię zapasową ważnych danych na tym pudełku, a następnie zdiagnozuj, czy pudełko jest wąż, czy nie.
rfelsburg
4
Powinieneś spróbować /etc/init.d/lvm2 start. To załatwiło sprawę (ale nie byłem dokładnie w twojej sytuacji).
Totor
Dziękuję @Totor za komentarz; właśnie uratowałeś mi dzień! :-)
Valentin

Odpowiedzi:

16

Te dni /devsą na tmpfs i są tworzone od zera przy każdym uruchomieniu udev. Możesz bezpiecznie ponownie uruchomić komputer, a linki te wrócą.

Powinieneś także znaleźć dowiązania symboliczne LVM do /dev/dm-Xwęzłów w /dev/<vg>katalogach, po jednym katalogu dla każdej grupy woluminów. Jednak te ponownie utworzone przez węzły vgscan --mknodesbędą również działać poprawnie, zakładając, że mają odpowiednie liczby główne / podrzędne - i jest to bezpieczne założenie, że zostały poprawnie utworzone.

Prawdopodobnie możesz także udevodtworzyć dowiązania symboliczne za udevadm triggerpomocą odpowiedniego dopasowania, testując z, --dry-runaż będzie to właściwe. Naprawdę nie wydaje się to warte wysiłku, gdy ponowne uruchomienie również to naprawi.

camh
źródło
Dziękuję za odpowiedź. Jedna prośba o wyjaśnienie: kiedy powiesz „te ponownie utworzone węzły będą również działały dobrze”, masz na myśli „węzły / dev / dm-X”, prawda? Co rozumiesz przez „odtworzone” tutaj, a także „również działa dobrze” w jakim sensie? Działa dobrze na co? Przepraszam za moją powolność. Zakładam, że wszystkie urządzenia LVM są odtwarzane z informacji przechowywanych w /etc/lvm/archive?
Faheem Mitha
Mam na myśli węzły utworzone przez vgscan --mknodes. Nie są to oryginalne dowiązania symboliczne, ale są węzłami blokowymi, na które wskazywałyby dowiązania symboliczne. Powinieneś znaleźć na przykład, że /dev/olddebian/rootjest to dowiązanie symboliczne do ../dm-3, które będzie miało te same główne: liczby drugorzędne co odtworzone /dev/mapper/olddebian-root.
camh
Dziękuję za wyjaśnienie. Sprawdziłem, czy to, co mówisz, jest poprawne dla / dev / mapper / debian-video, które było jednym z moich dwóch nienaruszonych dowiązań symbolicznych. :-) Właśnie przeczytałem o głównych / mniejszych numerach urządzeń. Dzięki za odpowiedź edukacyjną.
Faheem Mitha,
38

Właśnie miałem podobny problem do tego, co opisujesz, chociaż dla mnie stało się to, gdy próbowałem zainstalować nowy Ubuntu 11.10 Oneiric Ozelot na woluminie LVM. Wykonałem następujące czynności, aby skonfigurować lvm w systemie rozruchowym na żywo (potrzebne mi woluminy logiczne były już obecne):

apt-get install lvm2
vgscan --mknodes -v

Teraz lvscan -vpokazałem moje tomy, ale ich nie było /dev/mapperani w, ani w /dev/<vg>/. W końcu odkryłem, że muszę aktywować grupę woluminów:

vgchange -a y <name of volume group>

Powyższe polecenie utworzyło dla mnie wszystkie brakujące pliki urządzeń. Teraz mógłbym uruchomić program instalacyjny, który znalazłby woluminy lvm i pozwoliłby mi się na nich zainstalować.

Znalezienie tych informacji w google było trudne, więc piszę tę odpowiedź z nadzieją, że inni będą mieli łatwiejszy czas - stąd głęboki kontekst i kopiowanie nazw.

Chociaż nie jest to częścią pytania, dla kompletności dodam, że w powyższej sytuacji (instalacja Ubuntu LVM) musisz dodać lvm2 do initrd nowo zainstalowanego systemu po zakończeniu instalacji, inaczej się nie uruchomi. Twój nowy system powinien być skonfigurowany dla ciebie w / target, ale jeśli nie jest, zrób to ręcznie w następujący sposób:

mount /dev/vg/new_root /target
mount /dev/sdx1 /target/boot       # important
mount -o bind /proc /target/proc
mount -o bind /sys /target/sys
mount -o bind /dev /target/dev
mount -o bind /dev/pts /target/dev/pts

Musiałem to zrobić, aby sieć działała w chroot, do czego przejdę:

cp /etc/resolv.conf /target/etc/

Teraz chroot do nowego systemu i zainstaluj lvm2:

chroot /target
apt-get install lvm2

Zauważ, że uruchamia update-initramfs. Teraz po prostu wpisz polecenie exit i uruchom ponownie, a system powinien uruchomić się poprawnie.

Lauritz V. Thaulow
źródło
+1 Bardzo niejasna funkcja LVM. Dlaczego na Ziemi został uznany za „aktywowany” (oczywiście bez widocznych efektów) na jednej płycie ratunkowej, ale nie na innej?
Van Jone,
Dzięki. Skończyło się na tym, że przeczytałem to i użyłem vgchangeponad 6 lat po napisaniu pytania i po znalezieniu pytania podczas wyszukiwania. :-) Zapomniałem, że to napisałem. W moim przypadku problemem było zdecydowanie to, że LV nie były aktywne.
Faheem Mitha
3

To również działało dla mnie.

vgchange -a y -name of volume group-

Po poprawce jądra mój system RHEL nie uruchomił się ponownie. Reklamacja brakującego /dev/mapper/VG-lvpliku.

Uruchomiony dla jednego użytkownika i skomentował /etc/fstab. Po przejściu do trybu online odkryłem, że mój zaszyfrowany dysk jest wyświetlany jako „urządzenie nieznane” pvs.

Naprawiono to, ale nadal nie ma plików urządzeń dla grupy Wolumin. Uruchomienie powyższego polecenia odtworzyło pliki mapowania urządzeń i pozwoliło mi na zamontowanie.

Paul Bennett
źródło
2

Miałem podobny problem po aktualizacji mojego debiana. Podczas ponownego uruchamiania ta wiadomość pojawiła się dla mnie:

Unable to find LVM Volume. 
/dev/mapper/debian-root does not exist.

Znalazłem rozwiązanie tutaj :

cryptsetup luksOpen /dev/sda5 lvmsys
lvm
lvm> vgscan        ## scan for volume groups
lvm> vgchange -a y ## activates the volume groups

I voila, po tym ładnie się zrestartował.

Adriano P.
źródło