Red Hat Training

A Red Hat training course is available for RHEL 8

6.2. 複数のクラスターノードでボリュームグループがアクティブにならないようにする方法

この手順では、クラスターで Pacemaker が管理するボリュームグループが起動時に自動的にアクティブにならないようにします。Pacemaker ではなく、システムの起動時にボリュームグループが自動的にアクティブになる場合は、ボリュームグループが同時に複数のノードでアクティブになるリスクがあり、ボリュームグループのメタデータが破損する可能性があります。

この手順では、/etc/lvm/lvm.conf 設定ファイルの auto_activation_volume_list エントリーを変更します。auto_activation_volume_list エントリーは、自動アクティブ化を特定の論理ボリュームに制限するために使用されます。auto_activation_volume_list を空のリストに設定すると、自動アクティベーションは完全に無効になります。

ノードのローカルにある root およびホームディレクトリーに関係のあるボリュームグループなど、Pacemaker で管理されていないまたは共有されていないローカルのボリュームは、auto_activation_volume_list に含める必要があります。クラスターマネージャーが管理するボリュームグループはすべて、auto_activation_volume_list エントリーから除外する必要があります。

手順

クラスター内の各ノードで以下の手順を実行します。

  1. 以下のコマンドを使用して、ローカルストレージに現在設定されているボリュームグループを確認します。これにより、現在設定されているボリュームグループの一覧が出力されます。このノードの root とホームディレクトリーに、別のボリュームグループの領域を割り当てると、この例のように以下のボリュームが出力に表示されます。

    # vgs --noheadings -o vg_name
      my_vg
      rhel_home
      rhel_root
  2. /etc/lvm/lvm.conf 設定ファイルの auto_activation_volume_list へのエントリーとして、my_vg 以外のボリュームグループ (クラスターに定義したボリュームグループ) を追加します。

    たとえば、root とホームディレクトリーに別のボリュームグループの領域が割り当てられている場合は、以下のように lvm.conf ファイルの auto_activation_volume_list 行をアンコメントし、これらのボリュームグループをエントリーとして auto_activation_volume_list に追加します。クラスターに対してだけ定義したボリュームグループ (この例ではmy_vg) は、この一覧は含まれない点に注意してください。

    auto_activation_volume_list = [ "rhel_root", "rhel_home" ]
    注記

    クラスターマネージャーの外部でアクティベートするノードにローカルボリュームグループが存在しない場合は、 auto_activation_volume_list エントリーを auto_activation_volume_list = [] として初期化する必要があります。

  3. initramfs ブートイメージを再構築して、クラスターが制御するボリュームグループがブートイメージによりアクティベートされないようにします。以下のコマンドを使用して、initramfs デバイスを更新します。このコマンドが完了するまで最大 1 分かかる場合があります。

    # dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
  4. ノードを再起動します。

    注記

    ブートイメージを作成したノードを起動してから、新しい Linux カーネルをインストールした場合は、新しい initrd イメージは、作成時に実行していたカーネル用で、ノードの再起動時に実行している新しいカーネル用ではありません。再起動前後に uname -r コマンドを実行して、実行中のカーネルリリースを判断し、正しい initrd デバイスが使用されていることを確認できます。リリースが同じでない場合には、新規カーネルで再起動した後に initrd ファイルを更新して、ノードを再起動します。

  5. ノードの再起動後に、対象のノードで pcs cluster status コマンドを実行して、そのノードでクラスターサービスが再起動されているかどうかを確認します。Error: cluster is not running on this node というメッセージが表示される場合は、以下のコマンドを入力します。

    # pcs cluster start

    または、クラスターの各ノードを再起動して、クラスターの全ノードでクラスターサービスを開始するまで待機するには、次のコマンドを使用します。

    # pcs cluster start --all