Немає пристроїв lvm під / dev / mapper


21

Я використовую видавлювання Debian і запускаю LVM поверх програмного забезпечення RAID 1. Я випадково виявив, що більшість посилань під /dev/mapperцим файлом відсутня, хоча система, здається, все ще працює належним чином.

Я не впевнений, що сталося. Єдине, що я можу собі уявити, що спричинило це моя невдала спроба змусити контейнер Fedora LXC працювати. Я видалив каталог /cgroup/laughlin, що відповідає контейнеру, але не можу уявити, чому це могло викликати проблему. /dev/mapperвиглядав (я вніс деякі зміни, див. нижче) приблизно так

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 відповідає LV, який я тільки що створив.

Однак у мене в системі досить багато VG, що відповідає 4 VG, рознесеним на 4 диски. vgsдає

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

Я спробував бігти

 /dev/mapper# vgscan --mknodes

і деякі пристрої були створені (див. вихідні дані нижче), але вони не є символічними посиланнями на dm-пристрої, як належить, тому я не впевнений, чи це марно чи гірше. Чи вдалося б їм заважати рекреації правильних зв’язків? Чи потрібно знову видалити ці пристрої?

Я вважаю, що udev створює ці посилання, тож чи перезавантаження вирішить цю проблему, чи я отримаю систему, яка не може бути завантажена? Що мені робити, щоб це виправити? Чи є якісь діагностичні / санітарні перевірки, які я повинен запустити, щоб переконатися, що немає інших проблем, яких я не помітив? Заздалегідь дякую за будь-яку допомогу.

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

Я першим викладу тут очевидне. Створіть резервні копії ваших важливих даних на цьому полі негайно, а потім встановіть діагноз, шланг у ньому чи ні.
rfelsburg

4
Спробуйте спробувати /etc/init.d/lvm2 start. Це зробило трюк для мене (але я точно не був у вашій ситуації).
Тотор

Дякую @Totor за Ваш коментар; ти щойно врятував мені день! :-)
Валентин

Відповіді:


16

Ці дні /devє на tmpfs і створюється з нуля кожного завантаження udev. Ви можете безпечно перезавантажити, і ці посилання повернуться.

Ви також повинні знайти посилання LVM до /dev/dm-Xвузлів у /dev/<vg>каталогах, по одному каталогу для кожної групи томів. Однак ці вузли, створені за допомогою vgscan --mknodes, також будуть добре працювати, якщо припустити, що вони мають правильне основне / другорядне число - і це безпечне припущення, що вони були створені належним чином.

Ви, ймовірно, також можете udevзаново створити символьні посилання, використовуючи udevadm triggerвідповідну відповідність, протестуючи, --dry-runпоки вона не стане правильною. Навряд чи здається, що варто докласти зусиль, хоча коли перезавантаження теж виправить це.


Дякую за відповідь. Один запит на роз'яснення: коли ви говорите, "ці знову створені вузли також будуть добре працювати", ви посилаєтесь на "вузли / dev / dm-X", правда? Що ви маєте на увазі під "відтвореним" тут, а також "також добре працює" в якому сенсі? Добре працювати для чого? Вибачте мою повільність. Я припускаю, що всі пристрої LVM відтворені з інформації, що зберігається в /etc/lvm/archive?
Faheem Mitha

Я маю на увазі вузли, створені vgscan --mknodes. Вони не є оригінальними посиланнями, але це вузли блокових розробників, на які вказували б посилання. Ви повинні знайти, наприклад, що /dev/olddebian/rootє символьним посиланням на ../dm-3, яке матиме те саме основне: незначні числа, як і знову створене /dev/mapper/olddebian-root.
camh

Дякуємо за роз’яснення. Я перевірив, що те, що ви говорите, було правильним для / dev / mapper / debian-video, яке було одним із двох моїх непорушних символічних посилань. :-) Я щойно прочитав про основні / незначні номери пристроїв. Дякуємо за навчальну відповідь.
Faheem Mitha

38

У мене просто була подібна проблема, яку ви описуєте, хоча для мене це сталося, коли я намагався встановити новий Ubuntu 11.10 Oneiric Ozelot на об'єм LVM. Я зробив наступне, щоб встановити lvm в системі живого завантаження (потрібні логічні логічні томи вже були):

apt-get install lvm2
vgscan --mknodes -v

Тепер lvscan -vпоказав мої обсяги, але їх не було ні в, /dev/mapperні в /dev/<vg>/. Нарешті я виявив, що мені потрібно активувати групу гучності, наприклад:

vgchange -a y <name of volume group>

Вищевказана команда створила для мене всі файли пристрою, які відсутні. Тепер я міг запустити інсталяційну програму, і вона знайде обсяги lvm та дозволить мені встановити їх.

Знайти цю інформацію в google було важко, тому я пишу цю відповідь, сподіваючись, що іншим буде легший її час - отже, поглиблений контекст і названий перехід.

Хоча це не є частиною питання, для повноти я додам, що у наведеній вище ситуації (встановлення Ubuntu LVM) вам потрібно додати lvm2 до initrd щойно встановленої системи, як тільки вона буде встановлена, інакше вона не завантажиться. Ваша нова система повинна бути налаштована для вас в / target, але якщо її немає, зробіть це вручну так:

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

Мені потрібно було це зробити, щоб мережа працювала в chroot, про що я прийду далі:

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

Тепер chroot до нової системи та встановіть lvm2:

chroot /target
apt-get install lvm2

Зауважте, що він працює оновлення-initramfs. Тепер просто введіть exit та перезавантажте, і ваша система повинна належним чином завантажитися.


+1 Дуже незрозуміла особливість LVM. Чому на Землі його вважали "активованим" (без видимих ​​ефектів, звичайно) на одному рятувальному компакт-диску, а не на іншому?
Van Jone

Спасибі. Я закінчив читати це та користувався vgchangeпонад 6 років після написання питання та після пошуку запитання в пошуку. :-) Я забув, що написав. У моєму випадку, безумовно, проблема полягала в тому, що НН не активні.
Faheem Mitha

3

Це теж працювало для мене.

vgchange -a y -name of volume group-

Після виправлення ядра мою систему RHEL не вдалося перезавантажити. Поскарження на відсутні /dev/mapper/VG-lvфайли.

Завантажується для одного користувача та коментується з /etc/fstab. Одного разу в Інтернеті я знайшов, що на моєму зашифрованому диску з використанням "незареєстрованого пристрою" було показано pvs.

Виправлено це, але все ще немає файлів пристроїв для групи гучності. Виконання вищевказаної команди відтворило файли картографічного пристрою пристрою і дозволило мені встановити.


2

У мене була подібна проблема після оновлення свого debian. Під час перезавантаження мені з'явилося це повідомлення:

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

Я знайшов рішення тут :

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

І voilà, вона прекрасно перезавантажилася після цього.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.