it-swarm-ru.tech

Устройства lvm в / dev / mapper отсутствуют

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

Я не уверен, что случилось. Единственное, что я могу себе представить, это вызвало мою неудачную попытку заставить работать контейнер LXC Fedora. Я закончил тем, что удалил каталог /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
23
Faheem Mitha

В эти дни /dev находится в tmpfs и создается с нуля при каждой загрузке udev. Вы можете безопасно перезагрузиться, и эти ссылки вернутся.

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

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

16
camh

У меня просто была проблема, похожая на то, что вы описываете, хотя для меня это произошло, когда я пытался установить новый 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 было сложно, поэтому я пишу этот ответ в надежде, что другим будет легче - отсюда и глубокий контекст и namedropping.

Хотя это и не часть вопроса, для полноты картины добавлю, что в описанной выше ситуации (установка 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

Обратите внимание, что он запускает update-initramfs. Теперь просто введите выход и перезагрузите компьютер, и ваша система должна загрузиться правильно.

39
Lauritz V. Thaulow

Это также сработало для меня.

vgchange -a y -name of volume group-

После исправления ядра моя система RHEL не смогла перезагрузиться. Жалуется на пропавшего /dev/mapper/VG-lv файл.

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

Исправлено это, но все еще нет файлов устройства для группы томов. Выполнение вышеупомянутой команды воссоздало файлы устройства отображения и позволило мне смонтировать.

4
Paul Bennett

У меня была похожая проблема после обновления моего 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

И вуаля, после этого он перезагрузился.

3
Adriano P

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=616689 здесь актуально. Это связано с тем, что lvm root не появляется вовремя.

0
Martin Cleaver