web-dev-qa-db-ja.com

Pacemakerは「未構成」のDRBDエラーを開始できません

CentOS8でPacemakerとcorosyncを使用して3ノードのDRBDクラスターをセットアップしています。

3つのIPリソースと1つのApacheWebサーバーリソースを設定しました。次に、drbdリソースを設定します。

Drbdは、systemctlを使用して単独で起動され、機能している場合は機能しています。

しかし、次のコマンドでリソースを作成すると、次のようになります。

pcs resource create DRBD-1 ocf:linbit:drbd drbd_resource=drbd1 op monitor interval=1m role=Master op monitor interval=59s role=Slave

起動せず、停止したままになります。

ペースメーカーからのログは次のように述べています:Could not onnect to 'drbd' generic netlink familyおよび<1> error creating netling socket

/ var/log/messages sais:

 ERROR: drbd2: Called drbdadm -c /etc/drbd.conf down drbd2
 ERROR: drbd2: Exit code 20
 ERROR: drbd2: Command output:
 ERROR: drbd2: Called /usr/sbin/crm_master -l reboot -D
 ERROR: drbd2: Exit code 102
 ERROR: drbd2: Command output:
 notice: DRBD-2_stop_0:7360:stderr [ <1>error creating netlink socket ]
 Error connecting to the CIB manager: Transport endpoint is not connected

そして、/ var/log/messagesのこの行についてはよくわかりません

 notice: DRBD-2_stop_0:7360:stderr [ /usr/lib/ocf/lib/heartbeat/ocf-shellfuncs: line 235: /var/log/pacemaker/pacemaker.log: Permission denied ]

編集1 DRBDのマスタースレーブリソースを作成している場合、ペースメーカーから次のメッセージが表示されます。

    Starting resources on a cluster is (almost) always done by pacemaker and
    not directly from pcs.  If your resource isn't starting, it's usually
    due to either a misconfiguration of the resource (which you debug in
    the system log), or constraints preventing the resource from starting or
    the resource being disabled.  You can use 'pcs resource debug-start' to
    test resource configuration, but it should *not* normally be used to start 
resources in a cluster.
1
ses

DRBDは複数の状態(プライマリまたはセカンダリ)で開始できるため、Pacemakerでマルチステートクローンとして構成する必要があります。

定義したプリミティブに加えて、マルチステートクローンを次のように定義する必要があります。

pcs resource create DRBD-1 ocf:linbit:drbd drbd_resource=drbd1 op monitor interval=1m role=Master op monitor interval=59s role=Slave
pcs resource master ms-DRBD-1 DRBD-1 master-max=1 master-node-max=1 clone-max=3 clone-node-max=1 notify=true

Permission Deniedに関する次のビットは、SELinuxに関連しているようです。 /var/log/audit/audit.logDENIEDエントリがないことを確認してください。ある場合は、SELinuxをpermissiveに設定して、PacemakerがDRBDを管理できるかどうかを確認してください。

setenforce 0
1
Matt Kereczman