問題
論理ボリューム マネージャーを使用する CentOS/RHEL 6.x では、以下に示すように、すべての LVM コマンドが起動直後にロック エラーを返します。
# lvdisplay Failed to create directory /var/lock/lvm File-based locking initilisation failed.
解決策
/etc/lvm/lvm.conf の locked_dir オプションに指定されたパスを確認するために、lvm コードにチェックが追加されたため、上記のメッセージがログに記録されています。 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 の locked_dir オプションをルート (/) ファイルシステム自体のパスに構成します。
# vi /etc/lvm/lvm.conf locking_dir = "/run/lock"
2. 上記のディレクトリがサーバーに存在することを確認します。または、次のコマンドを使用して手動で同じディレクトリを作成することもできます:
# mkdir -p /run/lock
3. 一時ロック ディレクトリを定義して lvm コマンドを実行します
# lvdisplay --config 'global { locking_dir = "/run/lock" } ' # pvdisplay --config 'global { locking_dir = "/run/lock" } ' # vgdisplay --config 'global { locking_dir = "/run/lock" } '
恒久的な解決策:
/var ファイルシステムを rw オプションでマウントするか、ファイルシステムが破損しているためにファイルシステムが読み取り専用になっている場合は、マウントされていない /var パーティションに対して fsck を実行して修正しますが、fsck を実行する前に有効なバックアップがあることを確認してください。