2017年6月7日水曜日

cancer で dlm と corosync を

続いて、dlm と corosync だ。
これは色々苦労したんだけど、本当にこれまでのやり方が正しいのか分からない。

とりあえず、手を出せるところに手を出してみる。

まずは、dlm.conf だ。
(cancer) $ sudo mkdir /etc/dlm
(cancer) $ sudo bash -c "dlm_tool dump_config > /etc/dlm/dlm.conf"
(cancer) $ sudo vi /etc/dlm/dlm.conf
--ココから
enable_fencing を 0 に
enable_fencing=1

enable_fencing=0
--ココまで

(cancer) $ sudo systemctl restart dlm.service

再起動して確認してみる。
(cancer) $ sudo systemctl reboot
(cancer) $ systemctl --no-pager -l status dlm.service
(cancer) $ systemctl status
(cancer) $ tail -f /var/log/syslog
(cancer) $ dlm_tool status

ここまでは問題無さそうだ。
続いて corosync。
(cancer) $ sudo vi /etc/corosync/corosync.conf
gemini を参照しながら修正しよう。
修正内容は gemini と同じだ。
--ココから
cluster_name: debian

cluster_name: mycluster

bindnetaddr: 127.0.0.1

bindnetaddr: 192.168.55.0

quorum {} 内に2行追加
two_node: 1
wait_for_all: 0
--ココまで

(cancer) $ sudo systemctl daemon-reload
(cancer) $ sudo systemctl restart corosync.service
(cancer) $ systemctl --no-pager -l status corosync.service
(cancer) $ systemctl --no-pager -l status dlm.service
(cancer) $ dlm_tool status

再起動して確認。
(cancer) $ sudo systemctl reboot
(cancer) $ systemctl status
(cancer) $ systemctl --no-pager -l status corosync.service
(cancer) $ systemctl --no-pager -l status dlm.service
やっぱり、dlm_controld が落ちる現象が出てるな。

というわけで、corosync の起動を openvswitch の後に変更する。
今までは、Requires エントリと After エントリに追記する形にしてたけど、どうやら両エントリとも複数行書くことが可能のようだ。
今回は、Requires と After の行を増やす方向で実施してみる。
(cancer) $ sudo cp -pi /lib/systemd/system/corosync.service \
/lib/systemd/system/corosync.service.orig
(cancer) $ sudo vi /lib/systemd/system/corosync.service
--ココから
ConditionKernelCommandLine=!nocluster
Requires=network-online.target
After=network-online.target

↓(Requires と After の行を増やす)
ConditionKernelCommandLine=!nocluster
Requires=network-online.target
Requires=openvswitch-switch.service
After=network-online.target
After=openvswitch-switch.service
--ココまで

設定を反映させ、再起動して確認。
(cancer) $ sudo systemctl daemon-reload
(cancer) $ sudo systemctl reboot
(cancer) $ systemctl status
(cancer) $ systemctl --failed
(cancer) $ systemctl --no-pager -l status corosync.service
(cancer) $ systemctl --no-pager -l status dlm.service
(cancer) $ ps -ef | grep -e corosync -e dlm | grep -v grep
(cancer) $ dlm_tool status
やはり、corosync がダウンして期待した動作にならない。

今度は、openvswitch の起動処理後に sleep を入れてみる。
(cancer) $ sudo cp -pi /lib/systemd/system/openvswitch-switch.service \
/lib/systemd/system/openvswitch-switch.service.orig
(cancer) $ sudo vi /lib/systemd/system/openvswitch-switch.service
--ココから
以下の行を[Service]エントリに追記する。
ExecStart=/bin/sleep 10
--ココまで

再び設定を反映させ、再起動して確認。
(cancer) $ sudo systemctl daemon-reload
(cancer) $ sudo systemctl reboot
(cancer) $ systemctl status
(cancer) $ systemctl --failed
(cancer) $ systemctl --no-pager -l status corosync.service
(cancer) $ systemctl --no-pager -l status dlm.service
(cancer) $ ps -ef | grep -e corosync -e dlm | grep -v grep
(cancer) $ dlm_tool status
今度は大丈夫なようだ。
何度か再起動して、挙動を確認してみよう。

これで gemini との間の通信は確立できた。
次は CLVM の設定か。

0 件のコメント:

コメントを投稿