2017年10月21日土曜日

あれ?openvswitchの起動処理が…。

色々調べていったんだけど、openvswitch-switchの起動処理、sleepを入れておいたはずなのに消えている。なんで?どこかで消したか?

これが今回の原因かもしれない。
なので、openvswitch-switch の起動処理に sleep を入れてみることにする。
まずは aquarius から。
(aquarius) $ cd /lib/systemd/system
(aquarius) $ sudo vi openvswitch-switch.service
今回は、ExecStart ではなく、ExecStartPost で定義を足してみる。
--[Service]セクションに1行追記
ExecStartPost=/bin/sleep 6
--ここまで

この状態で再起動してみよう。
(aquarius) $ sudo systemctl daemon-reload
(aquairus) $ sudo systemctl reboot

再起動後に確認。
(aquarius) $ sudo systemctl status corosync
(aquarius) $ sudo systemctl status dlm
(aquarius) $ sudo systemctl status lvm2-cluster-activation
おっと、lvm2-cluster-activation は無効化してたんだった。
corosync と dlm は無事に起動しているっぽいな。

では、lvm2-cluster-activation も有効化してから再起動だ。
(aquarius) $ sudo systemctl is-enabled lvm2-cluster-activation.service
(aquarius) $ sudo systemctl enable lvm2-cluster-activation.service
(aquarius) $ sudo systemctl is-enabled lvm2-cluster-activation.service
(aquarius) $ sudo systemctl reboot

もう一度確認
(aquarius) $ sudo systemctl status corosync
(aquarius) $ sudo systemctl status dlm
(aquarius) $ sudo systemctl status lvm2-cluster-activation
どうやら無事に起動したみたいだ。

そしたら続いて、fstab の修正。
(aquarius) $ sudo vi /etc/fstab
/etc/libvirt のエントリと、 /var/lib/libvirt のエントリを有効化する。

一応、マウントテスト
(aquarius) $ sudo systemctl daemon-reload
(aquarius) $ df
(aquarius) $ sudo systemctl start /etc/libvirt
(aquarius) $ sudo systemctl start /var/lib/libvirt
(aquarius) $ df
マウントできた。

この状態でもう一度再起動して、無事にマウントされているか確認。
(aquarius) $ sudo systemctl reboot
(aquarius) $ sudo systemctl status corosync
(aquarius) $ sudo systemctl status dlm
(aquarius) $ sudo systemctl status lvm2-cluster-activation

(aquarius) $ df
良さそうだ。

sagittarius の方も同様に修正しておこう。

これでなんとか回復できたかな?

う~ん、まだ少し不安定だ。
障害で片方のノード(sagittarius か aquarius)が落ちてしまった時の復旧手順が特殊なんだろう。おそらく、落ちたノードを単純に再起動するだけじゃダメだ。
この辺りをきちんと検証しないといけないなぁ。

0 件のコメント:

コメントを投稿