kompira冗長構成時の障害について
kompiraのバージョンアップ作業を行った際に、
バージョンアップ自体は正常に完了したのですが、
一部ジョブが正常に実行されない不具合が発生しました。
そのため、スナップショットより切り戻しを行いました。
切り戻し実施後、冗長構成のkompiraサーバが
両機とも正常に動作しなくなりました。
復旧方法等を教えていただけると幸いです。
また、Active機からクラスター状態を取得しましたので、メールで別途送付いたします。
ご対応の程よろしくお願い致します。
-
正式なコメント
送付していただいたクラスタ状態のログを確認したところ、2号機がSlaveとして正しく冗長系に参加できていないようでした。2号機側(slave)で、
# /opt/kompira/bin/sync_master.sh
を実行して、2号機をslaveとして復帰させてみていただけますでしょうか。
コメントアクション -
エラーログには特に気になるメッセージは出ていないようでした。
そもそも、2号機のKompiraが正しくセットアップされているか確認するために、Pacemaker無しで、単独で起動するかご確認いただけますでしょうか?
(1) フェールオーバーして2号機に切り替える(2号機が立ち上がらない状態)
(2) 2号機の Pacemaker を停止する
(3) 以下のコマンドを実行して、Kompiraに必要なサービスを起動する
# systemctl start postgresql-12
# systemctl start rabbitmq-server
# systemctl start kompirad
# systemctl start kompira_jobmngrd
# systemctl start httpd
(4) 2号機のKompiraサーバにブラウザからログインできるか確認する
もし、上記手順で、2号機のKompiraにログインできないようでしたら、2号機が正しくセットアップされていない可能性があります。
-
上記手順を実施したところ、"kompirad"のみ起動できませんでした。
ブラウザからはログイン画面のみ出力され、ログイン後"Bad Request (400)"が出力されました。また、kompirad のステータスを取得しましたので下記に記載します。
-------
[root@kompira-server2 ~]# systemctl status kompirad
● kompirad.service - Kompira-daemon
Loaded: loaded (/etc/systemd/system/kompirad.service; disabled; vendor preset: disabled)
Active: activating (start-pre) since 金 2021-12-10 10:47:19 JST; 18s ago
Control: 16848 (prestart_kompir)
CGroup: /system.slice/kompirad.service
mqcontrol
tq16848 /bin/bash /opt/kompira/bin/prestart_kompirad.sh
mq17030 sleep 1
------- -
送付ありがとうございます。
確認してみましたところ、2号機のpostgresqlがスレーブ状態のために、kompiradが接続できず、エラーとなっておりました。
1号機は止めた状態で、
- 2号機のpostgresql サーバを停止 (systemctl stop postgresql-12)
- /var/lib/pgsql/12/data/standby.signal ファイルを削除
- 2号機でpostgresql サーバを (systemctl start postgresql-12)
- 2号機で kompirad を起動 (systemctl start kompirad)
を実施し、ブラウザから、ログインできるかどうかを試してみていただけますでしょうか?
-
-
上記の手順を試したところ、Pacemakerを停止させた状態では問題なく起動し、
ブラウザからログインできました。(ジョブも正常に稼働していました)Pacemakerを起動した状態では、"rabbitmq-server"と"kompira_jobmngrd"が
起動しませんでした。クラスタ状態も以前送付した不具合時に取得したものと、同様の内容が出力されました。
両機でkompiraのクラスタを再セットアップすることで解消される可能性があるのであれば
試してみようと思うのですがいかがでしょうか?また、冗長構成時に仮想マシンを再起動した場合の、
冗長構成への正しい復旧手順等あればご教示いただけると幸いです。 -
現在の状況は、
1号機は片系で正常に稼働していている状況でしょうか?
であれば、2号機をVMごと再起動して、2号機で sync_master.sh を実行することで、冗長構成が復旧するかと思います。
仮想マシンを再起動した場合の冗長構成手順ですが、
スレーブ側を再起動した場合は、特になにもしなくても自動的に冗長構成に復帰します。
マスター側を再起動した場合は、マスター側が停止した時点で、自動でフェールオーバーしてスレーブが新マスターになりますので、旧マスター側(再起動した方)で、再起動後にsync_master.shを実行してスレーブとして冗長構成に参加することができます。
-
現在、下記のように1号機、2号機ともにSlaveの状態となっております。
---------
[root@kompira-server1 ~]# crm_mon -A1
Stack: corosync
Current DC: ha-kompira2 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum
Last updated: Fri Dec 10 17:48:17 2021
Last change: Fri Dec 10 17:47:27 2021 by root via crm_attribute on ha-kompira22 nodes configured
10 resource instances configuredOnline: [ ha-kompira1 ha-kompira2 ]
Active resources:
Master/Slave Set: ms_pgsql [res_pgsql]
Slaves: [ ha-kompira1 ha-kompira2 ]Node Attributes:
* Node ha-kompira1:
+ master-res_pgsql : -1000
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira1
* Node ha-kompira2:
+ master-res_pgsql : 1001
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira2Failed Resource Actions:
* res_rabbitmq_monitor_10000 on ha-kompira1 'not running' (7): call=327, status=complete, exitreason='',
last-rc-change='Fri Dec 10 17:46:29 2021', queued=0ms, exec=0ms
* res_rabbitmq_monitor_10000 on ha-kompira2 'not running' (7): call=561, status=complete, exitreason='',
last-rc-change='Fri Dec 10 17:47:27 2021', queued=0ms, exec=0ms
* res_vip_monitor_10000 on ha-kompira2 'not running' (7): call=584, status=complete, exitreason='',
last-rc-change='Fri Dec 10 17:47:29 2021', queued=0ms, exec=0ms
---------この状態からの復旧手順があればご教示願いますでしょうか。
-
確認となりますが、両機がSlaveとなった場合は、
下記手順を行えば良いという認識で合っていますでしょうか。① PostgreSQLがSlaveとなっているホストをシャットダウン
② PostgreSQLがMasterとなっているホストを再起動また、先ほどと状態が少し変わってしまいまして、現在クラスタ状態が
下記となっているのですが、どの箇所からPostgreSQLのマスタを判別
すればよいのかご教示いただいてもよろしいでしょうか。-----------------------
[root@kompira-server1 ~]# crm_mon -A1
Stack: corosync
Current DC: ha-kompira2 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum
Last updated: Fri Dec 10 18:30:11 2021
Last change: Fri Dec 10 18:17:58 2021 by root via cibadmin on ha-kompira12 nodes configured
10 resource instances configuredOnline: [ ha-kompira1 ha-kompira2 ]
Active resources:
Master/Slave Set: ms_pgsql [res_pgsql]
Slaves: [ ha-kompira1 ha-kompira2 ]Node Attributes:
* Node ha-kompira1:
+ master-res_pgsql : 1000
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira1
* Node ha-kompira2:
+ master-res_pgsql : 1001
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira2Failed Resource Actions:
* res_rabbitmq_monitor_10000 on ha-kompira1 'not running' (7): call=327, status=complete, exitreason='',
last-rc-change='Fri Dec 10 18:20:08 2021', queued=0ms, exec=0ms
* res_rabbitmq_monitor_10000 on ha-kompira2 'not running' (7): call=561, status=complete, exitreason='',
last-rc-change='Fri Dec 10 18:10:54 2021', queued=0ms, exec=0ms -
現在のクラスタ情報を取得した増したので、下記に記載します。
また、冗長構成の情報ありがとうございます。確認させていただきます。
-----------------
[root@kompira-server1 ~]# crm_mon -A1
Stack: corosync
Current DC: ha-kompira1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum
Last updated: Mon Dec 13 09:55:43 2021
Last change: Mon Dec 13 09:55:02 2021 by root via crm_attribute on ha-kompira12 nodes configured
10 resource instances configuredOnline: [ ha-kompira1 ha-kompira2 ]
Active resources:
Resource Group: webserver
res_memcached (systemd:memcached): Started ha-kompira1
res_httpd (ocf::heartbeat:apache): Started ha-kompira1
res_kompirad (systemd:kompirad): Started ha-kompira1
res_kompira_jobmngrd (systemd:kompira_jobmngrd): Started ha-kompira1
res_lsyncd (systemd:lsyncd): Started ha-kompira1
res_vip (ocf::heartbeat:IPaddr2): Started ha-kompira1
Master/Slave Set: ms_pgsql [res_pgsql]
Masters: [ ha-kompira1 ]
Slaves: [ ha-kompira2 ]
Clone Set: res_rabbitmq-clone [res_rabbitmq]
Started: [ ha-kompira1 ha-kompira2 ]Node Attributes:
* Node ha-kompira1:
+ master-res_pgsql : 1001
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira1
+ rmq-node-attr-res_rabbitmq : rabbit@ha-kompira1
* Node ha-kompira2:
+ master-res_pgsql : 1000
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira2
+ rmq-node-attr-res_rabbitmq : rabbit@ha-kompira2 -
crm_mon -A1の結果で、
* Node ha-kompira2:
+ master-res_pgsql : 1000と、スコアが1000になっておりますので、スレーブ側(2号機)で同期は取れているかと思います。
念のため、2号機上で、
# /usr/pgsql-12/bin/pg_controldata /var/lib/pgsql/12/data
を実行して、
データベースクラスタの状態: アーカイブリカバリ中
となっていることをご確認ください。
なお、マスタスレーブの切り替え方法ですが、マスタ(1号機)側で
# pcs node standby
を実行していただくか、または、
# pcs cluster stop
として、冗長構成ミドルウェアを停止するかしてください。
-
先ほどの状態でマスタを1号機から2号機に切り替えた際、下記の状態となりました。
ブラウザからもログインができない状態となっています。この状態からの1号機へのマスタ切り替え方法、及び
2号機の正常な状態への復旧方法をご教示ください。
-----------
[root@kompira-server2 ~]# crm_mon -A1
Stack: corosync
Current DC: ha-kompira1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum
Last updated: Mon Dec 13 15:10:00 2021
Last change: Mon Dec 13 15:09:37 2021 by root via crm_attribute on ha-kompira22 nodes configured
10 resource instances configuredNode ha-kompira1: standby
Online: [ ha-kompira2 ]Active resources:
Resource Group: webserver
res_memcached (systemd:memcached): Started ha-kompira2
res_httpd (ocf::heartbeat:apache): Stopped
res_kompirad (systemd:kompirad): Stopped
res_kompira_jobmngrd (systemd:kompira_jobmngrd): Stopped
res_lsyncd (systemd:lsyncd): Stopped
res_vip (ocf::heartbeat:IPaddr2): Stopped
Master/Slave Set: ms_pgsql [res_pgsql]
Masters: [ ha-kompira2 ]
Clone Set: res_rabbitmq-clone [res_rabbitmq]
Started: [ ha-kompira2 ]Node Attributes:
* Node ha-kompira1:
+ master-res_pgsql : -1000
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira1
* Node ha-kompira2:
+ master-res_pgsql : 1001
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira2
+ rmq-node-attr-res_rabbitmq : rabbit@ha-kompira2Failed Resource Actions:
* res_httpd_start_0 on ha-kompira2 'unknown error' (1): call=52, status=Timed Out, exitreason='',
last-rc-change='Mon Dec 13 15:08:36 2021', queued=0ms, exec=60004ms -
上記コマンドを試しましたが、先ほどと同じ状態となりました。
-------------------[root@kompira-server2 ~]# crm_mon -A1
Stack: corosync
Current DC: ha-kompira1 (version 1.1.23-1.el7_9.1-9acf116022) - partition with quorum
Last updated: Mon Dec 13 15:37:23 2021
Last change: Mon Dec 13 15:09:37 2021 by root via crm_attribute on ha-kompira22 nodes configured
10 resource instances configuredNode ha-kompira1: standby
Online: [ ha-kompira2 ]Active resources:
Resource Group: webserver
res_memcached (systemd:memcached): Started ha-kompira2
res_httpd (ocf::heartbeat:apache): Stopped
res_kompirad (systemd:kompirad): Stopped
res_kompira_jobmngrd (systemd:kompira_jobmngrd): Stopped
res_lsyncd (systemd:lsyncd): Stopped
res_vip (ocf::heartbeat:IPaddr2): Stopped
Master/Slave Set: ms_pgsql [res_pgsql]
Masters: [ ha-kompira2 ]
Clone Set: res_rabbitmq-clone [res_rabbitmq]
Started: [ ha-kompira2 ]Node Attributes:
* Node ha-kompira1:
+ master-res_pgsql : -1000
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira1
* Node ha-kompira2:
+ master-res_pgsql : 1001
+ rmq-node-attr-last-known-res_rabbitmq : rabbit@ha-kompira2
+ rmq-node-attr-res_rabbitmq : rabbit@ha-kompira2Failed Resource Actions:
* res_httpd_start_0 on ha-kompira2 'unknown error' (1): call=46, status=Timed Out, exitreason='',
last-rc-change='Mon Dec 13 15:36:12 2021', queued=0ms, exec=60005ms
サインインしてコメントを残してください。
コメント
32件のコメント