Perangkat lvm di bawah / dev / mapper hilang

21

Saya menggunakan pemerasan Debian, dan menjalankan LVM di atas perangkat lunak RAID 1. Saya baru saja secara tidak sengaja menemukan bahwa sebagian besar tautan di bawah /dev/mapperhilang, meskipun sistem saya tampaknya masih berfungsi dengan benar.

Saya tidak yakin apa yang terjadi. Satu-satunya hal yang dapat saya bayangkan yang menyebabkannya adalah usaha saya yang gagal untuk membuat wadah fedora LXC bekerja. Saya akhirnya menghapus direktori /cgroup/laughlin, sesuai dengan wadah, tetapi saya tidak bisa membayangkan mengapa itu yang menyebabkan masalah. /dev/mappertampak (saya membuat beberapa perubahan, lihat di bawah) kira-kira suka

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 sesuai dengan LV yang baru saja saya buat.

Namun, saya memiliki cukup banyak VG di sistem saya, sesuai dengan 4 VG yang tersebar di 4 disk. vgsmemberi

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

Saya mencoba berlari

 /dev/mapper# vgscan --mknodes

dan beberapa perangkat dibuat (lihat output di bawah), tetapi mereka bukan tautan simbolik ke perangkat dm sebagaimana mestinya, jadi saya tidak yakin apakah ini tidak berguna atau lebih buruk. Apakah mereka akan menghalangi rekreasi tautan yang benar? Haruskah saya menghapus perangkat ini lagi?

Saya percaya bahwa udev membuat tautan ini, jadi apakah reboot akan memperbaiki masalah ini, atau apakah saya akan mendapatkan sistem yang tidak bisa di-boot? Apa yang harus saya lakukan untuk memperbaikinya? Apakah ada pemeriksaan diagnostik / kewarasan yang harus saya jalankan untuk memastikan tidak ada masalah lain yang belum saya perhatikan? Terima kasih sebelumnya atas bantuannya.

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
sumber
Saya akan menjadi yang pertama menyatakan yang jelas di sini. Segera buat cadangan data penting Anda di kotak itu, lalu diagnosa apakah kotak itu disemprot atau tidak.
rfelsburg
4
Kamu harus mencoba /etc/init.d/lvm2 start. Itu melakukan trik untuk saya (tapi saya tidak persis dalam situasi Anda).
Totor
Terima kasih @ Motor atas komentar Anda; Anda baru saja menyelamatkan hari saya! :-)
Valentin

Jawaban:

16

Hari-hari /devini pada tmpfs dan dibuat dari awal setiap boot oleh udev. Anda dapat reboot dengan aman dan tautan ini akan kembali.

Anda juga harus menemukan symlink LVM ke /dev/dm-Xnode di /dev/<vg>direktori, satu direktori untuk setiap grup volume. Namun, simpul-simpul yang dibuat ulang vgscan --mknodesjuga akan berfungsi dengan baik, dengan asumsi mereka memiliki angka mayor / minor yang tepat - dan ini adalah asumsi yang aman bahwa mereka dibuat dengan benar.

Anda mungkin juga bisa udevmembuat ulang symlink menggunakan udevadm triggerpencocokan yang sesuai, mengujinya --dry-runsampai benar. Tampaknya tidak sepadan dengan usaha meskipun ketika reboot akan memperbaikinya juga.

camh
sumber
Terima kasih atas jawabannya. Satu permintaan untuk klarifikasi: ketika Anda mengatakan "simpul yang dibuat ulang itu juga akan berfungsi dengan baik" Anda mengacu pada "simpul / dev / dm-X", bukan? Apa yang Anda maksud dengan "diciptakan kembali" di sini, dan juga, "juga berfungsi dengan baik" dalam arti apa? Bekerja dengan baik untuk apa? Maafkan kelambatan saya. Saya menganggap semua perangkat LVM diciptakan kembali dari informasi yang tersimpan /etc/lvm/archive?
Faheem Mitha
Maksud saya node dibuat oleh vgscan --mknodes. Mereka bukan symlink asli, tetapi adalah blok dev node yang ditunjuk symlink. Anda harus menemukan, misalnya, yang /dev/olddebian/rootmerupakan symlink ke ../dm-3, yang akan memiliki mayor yang sama: angka minor seperti yang dibuat ulang /dev/mapper/olddebian-root.
camh
Terimakasih atas klarifikasinya. Saya memeriksa bahwa apa yang Anda katakan benar untuk / dev / mapper / debian-video, yang merupakan salah satu dari dua tautan simbolis saya yang utuh. :-) Saya baru saja membaca tentang nomor perangkat utama / minor. Terima kasih atas jawaban pendidikannya.
Faheem Mitha
38

Saya hanya memiliki masalah yang mirip dengan apa yang Anda gambarkan, meskipun bagi saya itu terjadi ketika saya mencoba untuk menginstal Ubuntu 11.10 Oneiric Ozelot ke volume LVM. Saya telah melakukan yang berikut ini untuk mengatur LVM pada sistem boot langsung (volume logis yang saya butuhkan sudah ada):

apt-get install lvm2
vgscan --mknodes -v

Sekarang lvscan -vtunjukkan jilid saya tetapi tidak ada /dev/mapperatau tidak ada /dev/<vg>/. Saya akhirnya menemukan bahwa saya perlu mengaktifkan grup volume, seperti:

vgchange -a y <name of volume group>

Perintah di atas membuat semua file perangkat yang hilang untuk saya. Sekarang saya dapat memulai program instal dan ia akan menemukan volume lvm dan memungkinkan saya untuk menginstalnya.

Sulit menemukan informasi ini di google, jadi saya menulis jawaban ini dengan harapan orang lain akan lebih mudah melakukannya - karena itu konteks yang mendalam dan pemberian nama.

Meskipun bukan bagian dari pertanyaan, untuk kelengkapan saya akan menambahkan bahwa dalam situasi di atas (Ubuntu LVM instal) Anda perlu menambahkan lvm2 ke initrd dari sistem yang baru diinstal setelah selesai menginstal, atau itu tidak akan boot. Sistem baru Anda harus diatur untuk Anda di / target, tetapi jika tidak, lakukan secara manual seperti ini:

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

Saya perlu melakukan ini untuk membuat jaringan bekerja di chroot, yang akan saya bahas selanjutnya:

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

Sekarang chroot ke sistem baru dan instal lvm2:

chroot /target
apt-get install lvm2

Perhatikan bahwa ia menjalankan pembaruan-initramfs. Sekarang cukup ketik keluar dan reboot, dan sistem Anda harus boot dengan benar.

Lauritz V. Thaulow
sumber
+1 Fitur LVM yang sangat tidak jelas. Mengapa di bumi itu dianggap 'diaktifkan' (tanpa efek yang terlihat, tentu saja) pada satu CD penyelamatan tetapi tidak pada yang lain?
Van Jone
Terima kasih. Saya akhirnya membaca ini dan menggunakan vgchangelebih dari 6 tahun setelah menulis pertanyaan, dan setelah menemukan pertanyaan pada pencarian. :-) Saya lupa saya telah menulisnya. Dalam kasus saya, masalahnya jelas bahwa LV tidak aktif.
Faheem Mitha
3

Ini juga bekerja untuk saya.

vgchange -a y -name of volume group-

Mengikuti patch kernel, sistem RHEL saya gagal untuk reboot. Mengeluh /dev/mapper/VG-lvfile yang hilang .

Boot ke pengguna tunggal dan dikomentari /etc/fstab. Setelah online saya menemukan disk terenkripsi saya ditampilkan sebagai "perangkat tidak dikenal" menggunakan pvs.

Memperbaiki ini tetapi masih tidak ada file perangkat untuk grup Volume. Menjalankan perintah di atas menciptakan kembali file mapper perangkat dan memungkinkan saya untuk me-mount.

Paul Bennett
sumber
2

Saya memiliki masalah serupa setelah memutakhirkan debian saya. Selama reboot, pesan ini muncul pada saya:

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

Saya menemukan solusinya di sini :

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

Dan voila, itu reboot dengan baik setelah ini.

Adriano P
sumber