on  It Road.com

解决方案

由于在 lvm 代码中添加了一项检查,以验证在 /etc/lvm/lvm.conf 文件中为locking_dir 选项提到的路径是否可用,然后如果用于locking_dir 选项的路径不可用,则会打印错误消息可用的。
当 /var 作为单独的文件系统创建时,通常会观察到此错误。
在大多数情况下,如果 /var/ 文件系统以只读方式挂载,就会发生这种情况。

$ grep -i "locking_dir" etc/lvm/lvm.conf 
    # Configuration option global/locking_dir.
    locking_dir = "/var/lock/lvm"

解决方法:

  1. 将/etc/lvm/lvm.conf 中的locking_dir 选项配置为根(/) 文件系统本身的路径,如下所示:
# vi /etc/lvm/lvm.conf
locking_dir = "/run/lock"
  1. 确保服务器上存在上述目录,或者我们可以使用以下命令手动创建相同的目录:
# mkdir -p /run/lock
  1. 通过定义临时锁定目录运行lvm命令
# lvdisplay --config 'global { locking_dir = "/run/lock" } '
# pvdisplay --config 'global { locking_dir = "/run/lock" } '
# vgdisplay --config 'global { locking_dir = "/run/lock" } '

永久解决方案:

使用 rw 选项挂载 /var 文件系统,或者如果文件系统由于文件系统损坏而只读,请对未挂载的 /var 分区运行 fsck 以修复它,但在运行 fsck 之前确保我们有一个有效的备份。

问题

在带有逻辑卷管理器的 CentOS/RHEL 6.x 上,所有 LVM 命令在启动后立即返回锁定错误,如下所示:

# lvdisplay
Failed to create directory /var/lock/lvm
File-based locking initilisation failed.
lvdisplay 报错: Failed to create directory
日期:2020-09-17 00:14:04 来源:oir作者:oir