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.
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.log
にDENIED
エントリがないことを確認してください。ある場合は、SELinuxをpermissiveに設定して、PacemakerがDRBDを管理できるかどうかを確認してください。
setenforce 0