2017年2月17日金曜日

CLVMに挑戦(その2)

前回(厳密には前々回)、やっとgeminiでCLVMが動くようになった。多分…。

で、同じボリュームを共有しているcancer側でも同じようにCLVMを稼働させないと意味がない。
また、geminiでCLVMを動かす過程でバタバタして、情報がきれいに纏まらなかったので、cancerで設定を施すついでに整理しておく。

まずはインストール
(cancer) $ sudo apt-get update
(cancer) $ sudo apt-get --simulate install clvm
(cancer) $ sudo apt-get install clvm

LVMの設定情報更新
(cancer) $ ls -l /etc/lvm/
(cancer) $ sudo lvmconf --enable-cluster
(cancer) $ ls -l /etc/lvm/
このタイミングで、lvm.conf.lvmconfoldが出来るのか…。
(cancer) $ sudo diff /etc/lvm/lvm.conf.lvmconfold \
/etc/lvm/lvm.conf
差分結果
--ココから
683c683
< locking_type = 1
---
> locking_type = 3
852c852
< use_lvmetad = 1
---
> use_lvmetad = 0
--ココまで

(cancer) $ sudo lvmconfig --type diff
出力
--ココから
global {
locking_type=3
use_lvmetad=0
}
devices {
cache_dir="/run/lvm"
issue_discards=1
}
--ココまで

謎のダミーファイル(とダミーディレクトリ)作成
(cancer) $ ls -ld /etc/cluster
ディレクトリは無いはず。
(cancer) $ sudo mkdir /etc/cluster
(cancer) $ sudo touch /etc/cluster/cluster.conf
(cancer) $ ls -l /etc/cluster

systemd用設定ファイル「lvm2-cluster-activation.service」の修正
(cancer) $ cd /lib/systemd/system
(cancer) $ sudo cp -pi lvm2-cluster-activation.service \
lvm2-cluster-activation.service.orig
(cancer) $ ls -l lvm2-cluster-activation*

(cancer) $ sudo vi lvm2-cluster-activation.service
以下のように修正
--ココから
After=lvm2-clvmd.service lvm2-cmirrord.service
↓(コメント化して、lvm2-cmirrord.serviceを削除した行を作成)
#After=lvm2-clvmd.service lvm2-cmirrord.service
After=lvm2-clvmd.service

EnvironmentFile=-${prefix}/etc/sysconfig/clvmd
↓(コメント化)
#EnvironmentFile=-${prefix}/etc/sysconfig/clvmd
--ココまで

(cancer) $ diff lvm2-cluster-activation.service.orig \
lvm2-cluster-activation.service
差分結果
--ココから
4c4,5
< After=lvm2-clvmd.service lvm2-cmirrord.service
---
> #After=lvm2-clvmd.service lvm2-cmirrord.service
> After=lvm2-clvmd.service
12c13
< EnvironmentFile=-${prefix}/etc/sysconfig/clvmd
---
> #EnvironmentFile=-${prefix}/etc/sysconfig/clvmd
--差分結果ココまで

続いて、「lvm2-clvmd.service」の修正
(cancer) $ sudo cp -pi lvm2-clvmd.service \
lvm2-clvmd.service.orig
(cancer) $ ls -l lvm2-clvmd*

(cancer) $ sudo vi lvm2-clvmd.service
以下のように修正
--ココから
EnvironmentFile=-${prefix}/etc/sysconfig/clvmd
↓(コメント化)
#EnvironmentFile=-${prefix}/etc/sysconfig/clvmd

ExecStart=/sbin/clvmd $CLVMD_OPTS
↓(この行はコメントにし、パスを/usr/sbin/clvmdにした行を作成
#ExecStart=/sbin/clvmd $CLVMD_OPTS
ExecStart=/usr/sbin/clvmd $CLVMD_OPTS
--ココまで

(cancer) $ diff lvm2-clvmd.service.orig \
lvm2-clvmd.service
差分結果
--ココから
16,17c16,18
< EnvironmentFile=-${prefix}/etc/sysconfig/clvmd
< ExecStart=/sbin/clvmd $CLVMD_OPTS
---
> #EnvironmentFile=-${prefix}/etc/sysconfig/clvmd
> #ExecStart=/sbin/clvmd $CLVMD_OPTS
> ExecStart=/usr/sbin/clvmd $CLVMD_OPTS
--差分結果ココまで

サービス定義読み直し
(cancer) $ sudo systemctl daemon-reload
(cancer) $ ps -ef | grep clvmd
あれ…?この流れでいいのかと思ったけど、やっぱりダメだった。

というわけで、コマンド追加
(cancer) $ sudo lvmconf --enable-cluster --services --startstopservices
(cancer) $ ps -ef | grep clvmd
これで成功かな?
もしかしたら、前の方の sudo lvmconf --enable-cluster は実施不要かもしれない。

起動(起動確認)
(cancer) $ systemctl status lvm2-cluster-activation.service
(cancer) $ systemctl status lvm2-clvmd.service

クラスタマークの確認(既にgeminiでクラスタマークを付与しているはず)
(cancer) $ sudo vgdisplay vg-ocfs2
「Clustered yes」の文字が出て来るのが確認できる。

cancer側でクラスタマークを付与して、gemini側で確認
(cancer) $ sudo vgchange -c y vg-gfs2
(cancer) $ sudo vgdisplay vg-gfs2
(gemini) $ sudo vgdisplay vg-gfs2
gemini側でも「Clusterd yes」になっているのが確認できる。

とりあえずこれでうまく行ったはず。
ただ、ファイルシステムマウント関係(ココとかココとかココとか)が、まだcancerに反映できていないので、次回はそれを実施。

その後、クラスタマークがついているvgにpv追加したりな予定。
いや、その前にVGのアクティベーション時のオプション(-ayや-aay、-aey等)を確認した方がいいな…。

0 件のコメント:

コメントを投稿