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"
解决方法:
- 将/etc/lvm/lvm.conf 中的locking_dir 选项配置为根(/) 文件系统本身的路径,如下所示:
# vi /etc/lvm/lvm.conf locking_dir = "/run/lock"
- 确保服务器上存在上述目录,或者我们可以使用以下命令手动创建相同的目录:
# mkdir -p /run/lock
- 通过定义临时锁定目录运行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.
日期:2020-09-17 00:14:04 来源:oir作者:oir