Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.3. ボリュームグループのアクティブ化をクラスター内に限定

次の手順でボリュームグループを設定すると、クラスターでしかボリュームグループを作動することができなくなり、またボリュームグループは起動時にクラスター以外の場所では作動しなくなります。ボリュームグループがクラスター外部のシステムによってアクティブ化されると、ボリュームグループのメタデータが破損することがあります。
この手順では /etc/lvm/lvm.conf 設定ファイル内の volume_list のエントリーを編集します。volume_list のエントリーに記載されているボリュームグループはクラスターマネージャーの管轄外となるローカルノードでの自動作動が許可されます。ノードのローカルな root ディレクトリーやホームディレクトリーに関連するボリュームグループはこのリストに含ませてください。クラスターマネージャーで管理するボリュームグループは volume_list のエントリーには入れないでください。ここでの手順に clvmd を使用する必要はありません。
クラスター内の各ノードで以下の手順を実行します。
  1. 次のコマンドを実行して、/etc/lvm/lvm.conf ファイルで locking_type が 1 に設定されていることと use_lvmetad が 0 に設定されていることを確認します。また、このコマンドを実行すると、すべての lvmetad プロセスがすぐに無効になり、停止します。
    # lvmconf --enable-halvm --services --startstopservices
  2. 以下のコマンドを使用して、ローカルストレージに現在設定されているボリュームグループを確認します。これにより、現在設定されているボリュームグループの一覧が出力されます。このノードの root とホームディレクトリーに、別のボリュームグループの領域を割り当てると、この例のように以下のボリュームが出力に表示されます。
    # vgs --noheadings -o vg_name
      my_vg        
      rhel_home
      rhel_root
    
  3. my_vg 以外のボリュームグループ (クラスターに定義したボリュームグループ) をエントリーとして /etc/lvm/lvm.conf という設定ファイルの volume_list に追加します。
    例えば、root ディレクトリー用のボリュームグループ、ホームディレクトリー用のボリュームグループを別々に用意している場合は、lvm.conf ファイルの volume_list の行のコメントを外して以下のように root ディレクトリー用、ホームディレクトリー用の各ボリュームグループを volume_list のエントリーとして追加します。クラスターに対してだけ定義したボリュームグループ (この例では my_vg) は、この一覧は含まれない点に注意してください。
    volume_list = [ "rhel_root", "rhel_home" ]
    
    注記
    クラスターマネージャーの管轄外で作動させるローカルボリュームグループがノードにない場合でも volume_list のエントリーは volume_list = [] と指定して初期化する必要があります。
  4. initramfs ブートイメージを再構築して、クラスターが制御するボリュームグループがブートイメージによりアクティベートされないようにします。以下のコマンドを使用して、initramfs デバイスを更新します。このコマンドが完了するまで最大 1 分かかる場合があります。
    # dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
  5. ノードを再起動します。
    注記
    ブートイメージを作成したノードを起動してから、新しい Linux カーネルをインストールした場合は、新しい initrd イメージは、作成時に実行していたカーネル用で、ノードの再起動時に実行している新しいカーネル用ではありません。再起動の前後で uname -r コマンドを使って実行しているカーネルリリースを確認し必ず正しい initrd デバイスを使用するよう注意してください。リリースが同じでない場合には、新規カーネルで再起動した後に initrd ファイルを更新して、ノードを再起動します。
  6. ノードが再起動したら pcs cluster status コマンドを実行し、クラスターサービスがそのノードで再度開始されたかどうかを確認します。Error: cluster is not running on this node というメッセージが表示される場合は、以下のコマンドを入力します。
    # pcs cluster start
    または、クラスター内の各ノードの再起動が完了するのを待ってから次のコマンドで各ノードでのクラスターサービスの起動を行います。
    # pcs cluster start --all