2017年5月3日水曜日

o2cb.serviceの起動失敗

o2cb.service の起動が上手くいかない件に関して、以下のように調査をしたんだけど、結局上手く行かず。
原因が良くわからない。(以下の手順を実施すると、OpenvSwitch / networking の起動がダメになる。)
この件は保留にして、ocfs2 関連はステの方向で進めることにしよう。gfs2 が使えるからね。
ちなみに、設定は元に戻してある。
--------------------------------------------------------------------------------
さて、続いて o2cb.service の起動が上手くいかない問題だ。
正直言って、あまり対処する必要が無い気がするが…。

とりあえず、OS 起動後に o2cb.service をリスタートすることで正常起動することは分かっている。
であれば、起動処理を少し後ろにずらせばいいのではないだろうか?

ただしコイツ、systemd の起動スクリプトが無く、/etc/init.d の下のものを systemd-generetor によって自動的に作っている代物。
このままだと、起動処理の制御は難しい。

だったら、自動生成されたものをベースに、/lib/systemd/system の下に作ってしまったらどうだろうか?

というわけでやってみる。
ocfs2.service も同時に処理しておく。

(cancer) $ sudo systemctl stop o2cb
(cancer) $ sudo systemctl disable o2cb.service
(cancer) $ sudo systemctl stop ocfs2
(cancer) $ sudo systemctl disable ocfs2.service

(cancer) $ sudo cp -pi /run/systemd/generator.late/o2cb.service \
/lib/systemd/system/
(cancer) $ ls -l /lib/systemd/system/o2cb.service
(cancer) $ sudo vi /lib/systemd/system/o2cb.service
--ココから
先頭付近の SourcePath 宣言をコメントアウトする
SourcePath=/etc/init.d/o2cb

#SourcePath=/etc/init.d/o2cb

After宣言に、openvswitch-switch.service を追加する。
After=network-online.target

After=network-online.target openvswitch-switch.service

Wants宣言にも。
Wants=network-online.target

Wants=network-online.target openvswitch-switch.service

末尾に[Install]セクションとインストール先を追加する。
[Install]
WantedBy=multi-user.target
--ココまで

(cancer) $ sudo systemctl daemon-reload

(cancer) $ sudo cp -pi /run/systemd/generator.late/ocfs2.service \
/lib/systemd/system/
(cancer) $ ls -l /lib/systemd/system/ocfs2.service
(cancer) $ sudo vi /lib/systemd/system/ocfs2.service
--ココから
先頭付近の SourcePath 宣言をコメントアウトする
SourcePath=/etc/init.d/o2cb

#SourcePath=/etc/init.d/o2cb

末尾に[Install]セクションとインストール先を追加する。
[Install]
WantedBy=multi-user.target
--ココまで

(cancer) $ sudo systemctl daemon-reload

(cancer) $ sudo systemctl enable o2cb.service
(cancer) $ sudo systemctl enable ocfs2.service
(cancer) $ sudo systemctl status o2cb
(cancer) $ sudo systemctl status ocfs2

(cancer) $ sudo systemctl start o2cb.service
(cancer) $ sudo systemctl start ocfs2.service
(cancer) $ sudo systemctl status o2cb
(cancer) $ sudo systemctl status ocfs2

再起動して確認
(cancer) $ sudo systemctl reboot
(cancer) $ systemctl status
(cancer) $ systemctl status o2cb
(cancer) $ sudo vgchange -asy vg-ocfs2
(cancer) $ sudo systemctl start /mnt/ocfs2

0 件のコメント:

コメントを投稿