2017年6月8日木曜日

cancer で共有ボリュームをマウント

続いて共有ボリュームのマウントだ。

単純に /etc/fstab を書き換えて、OS再起動等でイケるんだけど…。
今回 cancer を再作成している過程で、ちょっと気になる点があった。

今まで、sagittarius / aquarius / gemini でgfs2共有ボリュームをマウントする時、「x-systemd.requires=dlm.service」という条件を付けていた。
gfs2 をマウントするだけならこれでいいんだけど、clvmd(lvm2-clvmd.service) によって管理され、lvm2-cluster-activation.service によってアクティベートされる領域は、前提条件が変わってくるのではないだろうか?

実際に、/lib/systemd/system/lvm2-clvmd.service には「After=dlm.service corosync.service」という条件が付いており、 /lib/systemd/system/lvm2-cluster-activation.service には「After=lvm2-clvmd.service」という条件が付いている。

つまり、dlm.service、lvm2-clvmd.service、lvm2-cluster-activation.serivce の3つのサービスの起動順は、
  1. dlm.service
  2. lvm2-clvmd.service
  3. lvm2-cluster-activation.service
になっているはず。
そして、CLVM管理のボリュームは、最後の lvm2-cluster-activation.service によってアクティベーションされるということを考えると、このボリュームはこのサービスの起動後出ないとマウント出来ないはずだ。

つまり、/etc/fstab につける条件は、「x-systemd.requires=dlm.service」ではなく「x-systemd.requires=lvm2-cluster-activation.service」だと考えられる。

という前提を踏まえて、作業開始。
/etc/fstab 書き換え
(cancer) $ sudo vi /etc/fstab
--ココから
以下の行を追加
/dev/mapper/vg--gfs2-etc--libvirt /etc/libvirt gfs2 _netdev,x-systemd.requires=lvm2-cluster-activation.service 0 0
/dev/mapper/vg--gfs2-var--lib--libvirt /var/lib/libvirt gfs2 _netdev,x-systemd.requires=lvm2-cluster-activation.service 0 0
--ココまで

追記が終わったら反映させてみる。
(cancer) $ sudo systemctl daemon-reload
(cancer) $ sudo systemctl start /etc/libvirt
(cancer) $ sudo systemctl start /var/lib/libvirt
(cancer) $ df
(cancer) $ ls -ld /etc/libvirt
(cancer) $ ls -ld /var/lib/libvirt
マウント出来たようだ。

この状態なら、libvirt に OpenvSwitch が使えるようになっているはずだけど…
(cancer) $ virsh net-list --all
(cancer) $ virsh list --all
まだ libvirt に反映されていない。

というわけで、libvirt-bin を再読込み。
(cancer) $ sudo systemctl reload libvirt-bin.service
(cancer) $ virsh net-list --all
(cancer) $ virsh list --all
無事に認識された。

後は OS再起動できちんとマウントされるかどうか…。
(cancer) $ sudo systemctl reboot
(cancer) $ df
問題なくマウント出来ている。
(cancer) $ virsh list --all
(cancer) $ virsh net-list --all
libvirt の方も共有ディスク側の情報を得ているようだ。

…が…
何度か再起動確認をしていったら、停止時は問題出てないが、起動時に corosync/dlm が上手く起動しない現象がまた発生。(一回だけ)
イマイチ原因がつかめない。
う~ん…。その後何度か再起動しているが、発生したのは一回だけ…。う~ん…。

気を取り直して…。
sagittarius / aquarius / gemini の /etc/fstab も合わせて書き換えておこう。
$ sudo vi /etc/fstab
--
x-systemd.requires=dlm.service を x-systemd.requires=lvm2-cluster-activation.service に書き換え(2箇所?)
--
$ cat /run/systemd/generator/etc-libvirt.mount
$ cat /run/systemd/generator/var-lib-libvirt.mount
$ sudo systemctl daemon-reload
$ cat /run/systemd/generator/etc-libvirt.mount
$ cat /run/systemd/generator/var-lib-libvirt.mount

これでオシマイ。

0 件のコメント:

コメントを投稿