13.1 cLVMの環境設定

クラスタ対応のボリュームグループをセットアップするには、次のタスクを正しく完了する必要があります。

  1. LVM2のロックタイプをクラスタ対応になるように変更します。

    ファイル/etc/lvm/lvm.confを編集し、次の行を探します。

    locking_type = 1

    ロックタイプを3に変更し、環境設定をディスクに書き込みます。この環境設定をすべてのノードにコピーします。

  2. clvmdリソースをペースメーカーの環境設定でクローンとして保存し、DLMクローンリソースに依存させます。これはcrm環境設定シェルの典型的なsnippetです。

    primitive dlm ocf:pacemaker:controld
    primitive clvm ocf:lvm2:clvmd \
            params daemon_timeout="30"
    clone dlm-clone dlm \
            meta target-role="Started" interleave="true" ordered="true"
    clone clvm-clone clvm \
            meta target-role="Started" interleave="true" ordered="true"
    colocation colo-clvm inf: clvm-clone dlm-clone
    order order-clvm inf: dlm-clone clvm-clone
    ...    
        

    次に進む前に、クラスタ内でこれらのリソースが正しく開始したことを確認してください。crm_monまたはGUIを使用して、実行中のサービスを確認することができます。

  3. 次のコマンドでLVMの物理ボリュームを準備します。

    pvcreate <physical volume path>
  4. クラスタ対応ボリュームグループを作成します。

    vgcreate --clustered y <volume group name> <physical volume path>
  5. たとえば次のように論理ボリュームを適宜作成します。

    lvcreate --name testlv -L 4G <volume group name>
  6. ボリュームグループがクラスタ全体でアクティブ化されるようにするには、LVMリソースを次のように設定します。

    primitive vg1 ocf:heartbeat:LVM \
            params volgrpname="<volume group name>"
    clone vg1-clone vg1 \
            meta interleave="true" ordered="true"
    colocation colo-vg1 inf: vg1-clone clvm-clone
    order order-vg1 inf: clvm-clone vg1-clone
        
  7. ボリュームグループを1ノードだけで排他的にアクティブ化したい場合は、次の例を使用します。この場合、クラスタ化されていないアプリケーション保護の追加対策として、cLVMはVG内のすべての論理ボリュームが複数ノードでアクティブ化されないように保護します。

    primitive vg1 ocf:heartbeat:LVM \
            params volgrpname="<volume group name>" exclusive="yes"
    colocation colo-vg1 inf: vg1 clvm-clone
    order order-vg1 inf: clvm-clone vg1
        
  8. VG内の論理ボリュームは、ファイルシステムのマウントまたはraw用として使用できるようになりました。論理ボリュームを使用しているサービスにコロケーションのための正しい依存性があることを確認し、VGをアクティブ化したら論理ボリュームの順序付けを行います。

このような設定手順を終了すると、LVM2の環境設定は他のスタンドアロンワークステーションと同様に行えます。