今天在配置服务器的时候遇到了一个问题,大概的情况如下所示:

如上所示:
逻辑卷“oradata”是存在的,但是在/dev中却无法找到。

发生这个问题的场景是这样的:
Linux操作系统运行在华为的融合刀片服务器(Tecall E9000)上,共享存储为融合刀片服务器提供的,并分配给了上面的操作系统。
将它们做成了LVM:oradata

但是,重启操作系统后,发现共享存储掉线。(原因未知,貌似是E9000的BUG?)
华为的工程师在E9000的控制台上手动挂载共享存储后,操作系统上可以看到共享存储了,但是访问逻辑卷的时候,却出现了上述代码所示的问题。

事实上,逻辑卷的元信息是记录在磁盘头的,如下:

而指令“pvdisplay”、“vgdisplay”、“lvdisplay”均以磁盘的头信息为依据。
故而,当Linux重新访问到共享设备的时候,lvdisplay可以读到数据。

但由于此时,操作系统已经启动,因为没有重新对磁盘设备重新读取,故而文件系统中诸如“/dev/mapper”…都没有就绪。

因此,解决上述问题,你需要重新应用逻辑卷即可。
具体操作如下:
Command:
1. partprobe
2. lvchange -a y 【逻辑卷名称】

这样,就可以正常使用了:

————————————————————————————————————————
Done。

1 thought on “LVM error:lvdisplay可以找到逻辑卷的信息,但是/dev/mapper/中却不存在”

  1. 在修复这个问题的时候,我也做过fdisk /dev/sdb这样的操作去影响逻辑卷“oradata”的底层PV,但后来,并没有对LVM本身构成破坏。
    这说明了fdisk命令对于磁盘的操作是打标签,而非MS Windows中的格式化那般,会干掉数据。
    尽管如此,在正式操作的时候还是需要小心慎行。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装