Debian 10 Pacemaker-Cluster:「グローバルロックに失敗しました:グローバルロックスペースが使用されていることを確認してください」というメッセージでGFS2マウントが失敗します。

Debian 10 Pacemaker-Cluster:「グローバルロックに失敗しました:グローバルロックスペースが使用されていることを確認してください」というメッセージでGFS2マウントが失敗します。

3つのインスタンスを持つ新しいDebian 10クラスタを設定しようとしています。私のスタックは、Pacemaker、corosync、dlm、lvmlockd、およびGFS2ボリュームに基づいています。すべてのサーバーはGFS2ボリュームにアクセスできますが、GFS2ファイルシステムを使用するときにペースメーカーを使用したり手動でマウントしたりすることはできません。 corosyncを設定しましたが、3つのインスタンスはすべてオンラインです。 dlmとlvmの設定に進みます。 LVMと心拍数調整器の設定手順は次のとおりです。

LVM:
sudo nano /etc/lvm/lvm.conf --> Set locking_type = 1 and use_lvmlockd = 1   

Pacemaker Resources:
sudo pcs -f stonith_cfg stonith create meatware meatware hostlist="firmwaredroid-swarm-1 firmwaredroid-swarm-2 firmwaredroid-swarm-3" op monitor interval=60s
sudo pcs resource create dlm ocf:pacemaker:controld \
    op start timeout=90s interval=0 \
    op stop timeout=100s interval=0
sudo pcs resource create lvmlockd ocf:heartbeat:lvmlockd \
    op start timeout=90s interval=0 \
    op stop timeout=100s interval=0
sudo pcs resource group add base-group dlm lvmlockd
sudo pcs resource clone base-group \
    meta interleave=true ordered=true target-role=Started

pcs statusすべてのリソースが機能してオンラインであることを示します。 Pacemakerを設定した後、Pacemakerにファイルシステムリソースを追加するために共有ボリュームグループを設定しようとしましたが、すべてのコマンドが失敗しました。Global lock failed: check that global lockspace is started.

sudo pvcreate /dev/vdb
--> Global lock failed: check that global lockspace is started
sudo vgcreate vgGFS2 /dev/vdb —shared
--> Global lock failed: check that global lockspace is started

その後、私はmkfs.gfs2を使って直接/ dev / vdbフォーマットを試しましたが、うまくいきましたが、ボリュームマウントが常に失敗したため、間違った方向に進むように見えました。

sudo mkfs.gfs2 -p lock_dlm -t firmwaredroidcluster:gfsvolfs -j 3 /dev/gfs2share/lvGfs2Share
sudo mount -v -t "gfs2" /dev/vdb ./swarm_file_mount/
mount: /home/debian/swarm_file_mount: mount(2) system call failed: Transport endpoint is not connected.

lvmlockd -g dlmdlmの起動やデバッグなど、いくつかの設定を試しましたが、dlm_controld -dこれを行う方法に関する情報が見つかりませんでした。ウェブ上で同様のエラーを議論したが、ペイウォールのために解決策を提供しないいくつかのRedHatフォーラムが見つかりました。

GFS2がPacemaker Debianクラスタに正しくインストールされるように、dlmを使用してグローバルロックを開始または初期化する方法は?それとも私のdlm設定には何の問題がありますか?

ご協力ありがとうございます!

ベストアンサー1

私は現在同じことを試しています。

コンピュータでLVMボリュームを使用する前に、有効にする必要があります。ocf:heartbeat:LVM-activateこれにはリソースを使用できます。有効にすると、出力にa下線が表示されます。Attrlvs

BusterのLVMアクティベーションリソースでいくつかのバグが見つかりました(bashismsと廃止予定のLVMオプションを見つけました)。しかし、これまではBuster-backportsから最新のパッケージをインストールすることが可能です。

現在のリソースは次のとおりです。

      <clone id="base-services-clone">
        <group id="base-services">
          <primitive class="ocf" id="dlm" provider="pacemaker" type="controld">
            <operations>
              <op id="dlm-monitor-interval-60s" interval="60s" name="monitor"/>
              <op id="dlm-start-interval-0s" interval="0s" name="start" timeout="90s"/>
              <op id="dlm-stop-interval-0s" interval="0s" name="stop" timeout="100s"/>
            </operations>
          </primitive>
          <primitive class="ocf" id="lvmlockd" provider="heartbeat" type="lvmlockd">
            <operations>
              <op id="lvmlockd-monitor-interval-60s" interval="60s" name="monitor"/>
              <op id="lvmlockd-start-interval-0s" interval="0s" name="start" timeout="90s"/>
              <op id="lvmlockd-stop-interval-0s" interval="0s" name="stop" timeout="90s"/>
            </operations>
          </primitive>
          <primitive class="ocf" id="cluster-vg" provider="heartbeat" type="LVM-activate">
            <instance_attributes id="cluster-vg-instance_attributes">
              <nvpair id="cluster-vg-instance_attributes-activation_mode" name="activation_mode" value="shared"/>
              <nvpair id="cluster-vg-instance_attributes-lvname" name="lvname" value="data"/>
              <nvpair id="cluster-vg-instance_attributes-vg_access_mode" name="vg_access_mode" value="lvmlockd"/>
              <nvpair id="cluster-vg-instance_attributes-vgname" name="vgname" value="cluster"/>
            </instance_attributes>
            <operations>
              <op id="cluster-vg-monitor-interval-30s" interval="30s" name="monitor" timeout="90s"/>
              <op id="cluster-vg-start-interval-0s" interval="0s" name="start" timeout="90s"/>
              <op id="cluster-vg-stop-interval-0s" interval="0s" name="stop" timeout="90s"/>
            </operations>
          </primitive>
          <primitive class="ocf" id="shared-data" provider="heartbeat" type="Filesystem">
            <instance_attributes id="shared-data-instance_attributes">
              <nvpair id="shared-data-instance_attributes-device" name="device" value="/dev/cluster/data"/>
              <nvpair id="shared-data-instance_attributes-directory" name="directory" value="/mnt/data"/>
              <nvpair id="shared-data-instance_attributes-fstype" name="fstype" value="gfs2"/>
              <nvpair id="shared-data-instance_attributes-options" name="options" value="noatime"/>
            </instance_attributes>
            <operations>
              <op id="shared-data-monitor-interval-10s" interval="10s" name="monitor"/>
              <op id="shared-data-start-interval-0s" interval="0s" name="start" timeout="60s"/>
              <op id="shared-data-stop-interval-0s" interval="0s" name="stop" timeout="60s"/>
            </operations>
          </primitive>
        </group>
      </clone>

これは本番設定ではなく、一部の迷惑なVMでのテストだけです。

おすすめ記事