it-swarm.cn

/ dev / mapper下的lvm设备丢失

我正在使用Debian压缩程序,并在软件RAID 1上运行LVM。我只是偶然地发现/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个磁盘上的4个VG。 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从头开始创建。您可以安全地重新启动,这些链接将恢复。

您还应该在/dev/dm-X目录中找到到/dev/<vg>节点的LVM符号链接,每个卷组一个目录。但是,使用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>/。我终于发现我需要activate卷组,如下所示:

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

请注意,它运行update-initramfs。现在,只需键入exit并重新引导,您的系统就应该正确引导。

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