[Linux-ha-jp] sfex リソースエージェントの設定について

Back to archive index

Keisuke Nakamura k.xna****@gmail*****
2016年 10月 28日 (金) 15:54:22 JST


ひばり様、浜田様

お世話になっております。nakaと申します。
ご回答頂き有難うございました。

pacemakerから逸れてしまい申し訳ありません。
(本メールで最後にします)

>> ・OS(6.2と7.2)の違い
浜田様からのアドバイスにもございましたが、やはりここの
部分が絡んでそうですよね。。
※構成の部分で大事な情報が抜けておりました、共有ディ
スクはiscsi接続でストレージディスクを利用しております。
諸々調べていくと、RHEL系6の場合、サービス起動(init/Upstart)の
おおまかな流れとして
 S02lvm2-monitor(fstabに記載されてるディスクを活性化し、mount実行)
 ↓
 S13iscsi
 ここでiscsi接続ディスクが見えてくる。VGはimportされているものの
 活性化されない。
という感じなので、iscsi接続のディスクはOS再起動時には非活性状態となり、
当然クラスタ共有ディスクとしても特にスプリットブレインは起こらない。
と読み取れました。(別途調査はしますが。)

そして7系ではinit/Upstartからsystemdに変わり、iscsi接続後に
lvm(VG活性化)処理という依存関係が定義されているようでした。

# cat /usr/lib/systemd/system/iscsi.service
[Unit]
Description=Login and scanning of iSCSI devices
Documentation=man:iscsid(8) man:iscsiadm(8) DefaultDependencies=no
Conflicts=shutdown.target After=systemd-remount-fs.service
network.target iscsid.service iscsiuio.service
Before=remote-fs-pre.target
Wants=remote-fs-pre.target iscsi-shutdown.service
ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes
ConditionDirectoryNotEmpty=|/sys/class/iscsi_session
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/usr/libexec/iscsi-mark-root-nodes
ExecStart=-/sbin/iscsiadm -m node --loginall=automatic
ExecReload=-/sbin/iscsiadm -m node --loginall=automatic
[Install]
WantedBy=sysinit.target

ひばり様浜田様の情報も参考にさせて頂きつつ、OS観点で
調査を進めていきます。
度々確認して頂き有難うございました。
以上、宜しくお願い致します。

2016年10月28日 10:40 PCオフィス 浜田 <hamad****@pc-of*****>:
> 浜田です。
> おはようございます。
>
>
>> ・OS(6.2と7.2)の違い
>> ・lvm2のバージョンの違い
>
> DRBD のリソースに割り当てる LVM 論理デバイス(/dev/vg0/lv-drbd0)、
> DRBD のリソース上に割り当てる LVM 物理デバイス(pvcreate /dev/drbd0)
> に関する挙動について、最近確認したところでは、
> 以下の点が異なっていました。
>
>
> ◆rhel6 と 7.2 でデフォルト設定が異なっています。
>
> diff の出力結果風にまとめると、以下の点が異なっています。
>
> <obtain_device_list_from_udev = 0
> ---
>>obtain_device_list_from_udev = 1
>
> <use_blkid_wiping = 0
> ---
>>use_blkid_wiping = 1
>
> <locking_dir = "/var/lock/lvm"
> ---
>>locking_dir = "/run/lock/lvm"
>
> <mirror_segtype_default = "mirror"
> ---
>>mirror_segtype_default = "raid1"
>
> <raid10_segtype_default = "mirror"
> ---
>>raid10_segtype_default = "raid10"
>
> <sparse_segtype_default = "snapshot"
> ---
>>sparse_segtype_default = "thin"
>
> <use_lvmetad = 0
> ---
>>use_lvmetad = 1
>
> <use_lvmpolld = 0
> ---
>>use_lvmpolld = 1
>
>
> ◆以下のサービスが新設されました。
>
> lvm2-lvmetad.socket
> lvm2-lvmpolld.socket
>
> ◆filterの解釈が変わった(バグ?)ように思われます。
>
> filter = ["a|sd.*|", "a|drbd.*|", "r|.*|"]
> という設定をすると、
> /dev/vg0/lv-drbd0
> が LVM 物理デバイスとして認識されないはずです。rhel6 ではそうでした。
>
> 7.2 では、以下のようにするとこの事象を回避できました。
> filter = ["r|vg.*|", "a|sd.*|", "a|drbd.*|", "r|.*|"]
>
>
> というわけで、かなり変更が加えられているのではないかと思っています。
>
>
> 私が、7.2 で DRBD を利用するにあたって加えている変更は以下の通りです。
>
> sudo sed -i -e \
>  's/obtain_device_list_from_udev =.*$/obtain_device_list_from_udev = 0/' \
>  /etc/lvm/lvm.conf
> sudo sed -i -e 's/use_blkid_wiping =.*$/use_blkid_wiping = 0/' \
>  /etc/lvm/lvm.conf
> sudo sed -i -e 's/use_lvmetad =.*$/use_lvmetad = 0/' /etc/lvm/lvm.conf
> sudo sed -i -e 's/use_lvmpolld =.*$/use_lvmpolld = 0/' /etc/lvm/lvm.conf
> sudo systemctl stop lvm2-lvmetad.socket
> sudo systemctl stop lvm2-lvmpolld.socket
> sudo systemctl disable lvm2-lvmetad.socket
> sudo systemctl disable lvm2-lvmpolld.socket
>
> sudo yum -y install patch
> sudo patch --ignore-whitespace /etc/lvm/lvm.conf << 'EOF'
> diff -upr /etc/lvm/lvm.conf /etc/lvm/lvm.conf.new
> --- /etc/lvm/lvm.conf   2015-11-21 12:01:29.000000000 +0900
> +++ /etc/lvm/lvm.conf.new       2016-09-21 07:52:14.164259555 +0900
> @@ -139,6 +139,7 @@ devices {
>         #
>         # This configuration option has an automatic default value.
>         # filter = [ "a|.*/|" ]
> +filter = ["r|vg.*|", "a|sd.*|", "a|drbd.*|", "r|.*|"]
>
>         # Configuration option devices/global_filter.
>         # Limit the block devices that are used by LVM system components.
> EOF
> sudo sed -i -e 's/write_cache_state =.*$/write_cache_state = 0/' \
>  /etc/lvm/lvm.conf
> sudo rm -f /etc/lvm/cache/.cache
>
>
> あまり役に立ちそうにない回答となってしまいました。
>
>
>> Linux-ha-japan
>> メーリングリストへの投稿は以下のアドレスに送ってください.
>> linux****@lists*****
>>
>> Webブラウザを使って入退会するには以下のURLにどうぞ.
>> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>> メールを使う場合,件名(Subject:)または本文に help と書いて以下の
>> アドレスに送信してください.
>> linux****@lists*****
>>
>> メーリングリストの管理者への連絡は,以下のアドレスにお願いします.
>> linux****@lists*****
>>
>> 返信する場合,件名を書き直して内容がわかるようにしてください.
>> そのままだと,以下のようになってしまいます. "Re: Linux-ha-japan
>> まとめ読み, XX 巻 XX 号"
>>
>>
>> 本日の話題:
>>
>>    1. Re: sfexリソースエージェントの設定について (Keisuke Nakamura)
>>    2. Re: sfexリソースエージェントの設定について (Michiro Hibari)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Thu, 27 Oct 2016 18:14:53 +0900
>> From: Keisuke Nakamura <k.xna****@gmail*****>
>> Subject: Re: [Linux-ha-jp] sfexリソースエージェントの設定について
>> To: linux****@lists*****
>> Message-ID:
>> <CAFEf****@mail*****>
>> Content-Type: text/plain; charset=UTF-8
>>
>> ひばり様、浜田様、各位
>>
>> お世話になっております。nakaと申します。
>> 度々申し訳ありません。
>> もしどなたが御存じであれば。。
>>
>>> # pacemaker1.0系だと、上記LVMのソースコードにexclusiveの
>>> # 制御はされていないようですね。さすがに旧バージョンの設定
>>> # 通りにはいかなかったです。。
>>
>> 手元にある別の下記環境、
>>  CentOS 6.2(x86_64)
>>  pacemaker-1.0.12-1.el6.x86_64
>>  heartbeat-3.0.5-1.1.el6.x86_64
>> こちらでは
>>  ・lvm.confはデフォルト設定(volume_listは何も定義していない)
>>  ・pacemakerのLVMのRAに「exclusive=true」の記述無し
>> のまま運用していても、待機系OS再起動時には特に共有ディスクが活性化される
>> こともなく、もちろんスプリットブレイン状態にもなりませんでした。
>> この差は何なのか?なにかしら情報をお持ちでしたらご教授頂けると幸いです。
>>
>> ・pacemkaer1.0と1.1の違いによるソースコード(/usr/lib/ocf/resource.d/heartbea
>> t/LVM)の違い
>> ・OS(6.2と7.2)の違い
>> ・lvm2のバージョンの違い
>> 等、構成が異なる部分を確認しないといけないのは重々承知しておりますが、
>> 何かしら情報をお持ちでしたらと思い、問合せさせて頂きました。
>>
>> 以上、宜しくお願い致します。
>>
>>
>> 2016年10月21日 18:17 Keisuke Nakamura <k.xna****@gmail*****>:
>>> ひばり様、浜田様
>>>
>>> お世話になっております。nakaと申します。
>>>
>>> ひばり様浜田様のご尽力のおかげで、事象解消することができました。
>>> 有難うございます。
>>>
>>>> 上記はシェルを直接実行するのではなく、
>>>> RAを編集した上でPacemakerを実行するとを
>>>> 意図していました。
>>> そうですよね、、失礼致しました。
>>>
>>> 私も/usr/lib/ocf/resource.d/heartbeat/LVMを
>>> ざっと眺めてみました。浜田様のご指摘の通り、
>>> LVMのRAにexclusive=trueを追記したところ、正常に
>>> RAが起動し動作しました!
>>>
>>> 参考までにRH社の「High_Availability_Add-On_Administration」マニュアルに
>>> exclusiveの記述がありました。
>>> https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/High_Availability_Add-On_Administration/s1-resourcegroupcreatenfs-HAAA.html
>>>
>>> volume_listの修正と上記RAの追記で、待機系のOS再起動後も特に
>>> スプリットブレインは発生せず。sfexについては素のパーティションを
>>> 用意して準備したいと思います。
>>>
>>> # pacemaker1.0系だと、上記LVMのソースコードにexclusiveの
>>> # 制御はされていないようですね。さすがに旧バージョンの設定
>>> # 通りにはいかなかったです。。
>>>
>>> 諸々ご確認頂き大変助かりました。
>>> とても勉強になりました。。
>>>
>>> 以上、宜しくお願い致します。
>>>
>>>
>>> 2016年10月20日 19:58 Michiro Hibari <l0510****@shiba*****>:
>>>> naka様
>>>>
>>>> ひばりです。
>>>>
>>>> gvsの結果をお見せ頂きありがとうございます。
>>>> クラスタオプションが原因ではなかったようですね。
>>>>
>>>>> あとは/usr/lib/ocf/resource.d/heartbeat/LVM
>>>>> のシェバン(最初の行)に-xオプションを追加して
>>>>> 実行すると詳細なログが出力されるので手がかりを
>>>>> 得られるかもしれません。
>>>>
>>>> 言葉足らずですいません。
>>>>
>>>> 上記はシェルを直接実行するのではなく、
>>>> RAを編集した上でPacemakerを実行するとを
>>>> 意図していました。
>>>>
>>>> そうすると corosync.logに詳細なログが
>>>> 出るようになるはずです。
>>>>
>>>> ocf-shellfuncsはPacemakerがRAを呼び出す
>>>> 際にはちゃんと読み込まれますので大丈夫です。
>>>> heartbeatパッケージをインストールする必要は
>>>> ありません。
>>>>
>>>>
>>>> 2016/10/20 19:30 "Keisuke Nakamura" <k.xna****@gmail*****>:
>>>>
>>>>> ひばり様
>>>>>
>>>>> お世話になっております。
>>>>>
>>>>> ご確認頂き有難うございます。
>>>>> vgsコマンドは正常表示のようです。(vg00とvgua01を参照できます。)
>>>>> /usr/lib/ocf/resource.d/heartbeat/LVMを実行しますと、ファイルがないと
>>>>> 怒られました。
>>>>>
>>>>> # vgs
>>>>>   VG     #PV #LV #SN Attr   VSize  VFree
>>>>>   vg00     1   7   0 wz--n- 51.09g    0
>>>>>   vgua01   1   2   0 wz--n- 11.00g    0
>>>>>
>>>>> # sh /usr/lib/ocf/resource.d/heartbeat/LVM
>>>>> /usr/lib/ocf/resource.d/heartbeat/LVM: 行 30:
>>>>> /lib/heartbeat/ocf-shellfuncs: そのようなファイルやディレクトリはありません
>>>>>
>>>>> pacemakerのバージョンがあがって、heartbeatのパッケージが入らなくなったから
>>>>> でしょうかね。LVMのRAを利用するには、corosyncだけでは足りないってことなんでしょうかね。
>>>>> 明日heartbeatパッケージ(heartbeat-2.1.4-1.rhel5.x86_64.RPMS.tar.gz)あたりを追加で
>>>>> 入れてみようかな。。
>>>>>
>>>>> 以上、宜しくお願い致します。
>>>>>
>>>>>
>>>>> 2016年10月20日 17:31 Michiro Hibari <l0510****@shiba*****>:
>>>>> > naka様
>>>>> >
>>>>> > ひばりです。
>>>>> > お世話になっております。
>>>>> >
>>>>> > resource-agentsのバージョンが3.9.7でしたら、
>>>>> > RAには先のメールに記載した処理が実装されております。
>>>>> >
>>>>> > 色々と情報を確認してばかりで申し訳ないのですが、
>>>>> > vgsの実行結果もお見せいただけないでしょうか。
>>>>> >
>>>>> > あとは/usr/lib/ocf/resource.d/heartbeat/LVM
>>>>> > のシェバン(最初の行)に-xオプションを追加して
>>>>> > 実行すると詳細なログが出力されるので手がかりを
>>>>> > 得られるかもしれません。
>>>>> >
>>>>> >
>>>>> > 2016/10/20 16:02 "Keisuke Nakamura" <k.xna****@gmail*****>:
>>>>> >>
>>>>> >> ひばり様、浜田様
>>>>> >>
>>>>> >>
>>>>> >> お世話になっております。nakaと申します。
>>>>> >> ご確認頂き有難うございます。
>>>>> >>
>>>>> >> > ★★★★★★★★★★★★★★★★★★
>>>>> >> > (活性化)
>>>>> >> > # vgchange --addtag pacemaker vgua01
>>>>> >> > # vgchange -ay --config activation{volume_list=[\"@pacemaker\"]}
>>>>> >> > vgua01
>>>>> >> >
>>>>> >> > (非活性化)
>>>>> >> > # vgchange -an vgua01
>>>>> >> > # vgchange --deltag pacemaker vgua01
>>>>> >> > ★★★★★★★★★★★★★★★★★★
>>>>> >>
>>>>> >> 上記コマンドを手動で実施すると、正常にvgua01を活性/非活性化することができました。。
>>>>> >>
>>>>> >> # vgchange -ay vgua01
>>>>> >>   0 logical volume(s) in volume group "vgua01" now active
>>>>> >> # vgchange --addtag pacemaker vgua01
>>>>> >>   Volume group "vgua01" successfully changed
>>>>> >> # vgchange -ay --config activation{volume_list=[\"@pacemaker\"]}
>>>>> vgua01
>>>>> >>   2 logical volume(s) in volume group "vgua01" now active
>>>>> >> # vgchange -an vgua01
>>>>> >>   0 logical volume(s) in volume group "vgua01" now active
>>>>> >> # vgchange --deltag pacemaker vgua01
>>>>> >>   Volume group "vgua01" successfully changed
>>>>> >>
>>>>> >> resource-agentsはバージョン「3.9.7」です。
>>>>> >> このバージョンが古いのでしょうかね?
>>>>> >>
>>>>> >> # rpm -qi resource-agents
>>>>> >> Name        : resource-agents
>>>>> >> Version     : 3.9.7
>>>>> >> Release     : 1.2.6f56.el7
>>>>> >> Architecture: x86_64
>>>>> >> Install Date: 2016年09月12日 10時44分49秒
>>>>> >> Group       : System Environment/Base
>>>>> >> Size        : 1873911
>>>>> >> License     : GPLv2+ and LGPLv2+
>>>>> >> Signature   : (none)
>>>>> >> Source RPM  : resource-agents-3.9.7-1.2.6f56.el7.src.rpm
>>>>> >> Build Date  : 2016年04月07日 13時28分39秒
>>>>> >> Build Host  : build-centos71
>>>>> >> Relocations : (not relocatable)
>>>>> >> Vendor      : Linux-HA Japan
>>>>> >> URL         : https://github.com/ClusterLabs/resource-agents
>>>>> >> Summary     : Open Source HA Reusable Cluster Resource Scripts
>>>>> >> Description :
>>>>> >> A set of scripts to interface with several services to operate in a
>>>>> >> High Availability environment for both Pacemaker and rgmanager
>>>>> >> service managers.
>>>>> >>
>>>>> >> resource-agentsバージョンの改訂履歴を探してみます。。
>>>>> >> 取り急ぎ。
>>>>> >>
>>>>> >> 2016年10月19日 19:00 Michiro Hibari <l0510****@shiba*****>:
>>>>> >> > naka様 浜田様
>>>>> >> >
>>>>> >> > ひばりです。
>>>>> >> > お世話になっております。
>>>>> >> >
>>>>> >> > volume_list = [ "vg00" ] ★vg00はローカルでの使用。
>>>>> >> >
>>>>> >> > 上記設定をlvm.confに行った時点でvolume_listで指定した
>>>>> >> > VG以外をvgchange等のlvmコマンドで操作することが
>>>>> >> > 出来なくなります。
>>>>> >> > #クラスタでLVMのボリュームを制御する際は、クラスタの管理外
>>>>> >> > #クラスタ管理対象のボリュームが操作されないように上記設定を
>>>>> >> > #行います。
>>>>> >> >
>>>>> >> > そのため手動で共有ディスクの活性化を行えないこと
>>>>> >> > 自体は正常な動作といえます。
>>>>> >> >
>>>>> >> > ただ、Pacemakerはvolume_listをRA内部で実行する
>>>>> >> > コマンド上で書き換えていますので、本来であれば
>>>>> >> > Pacemaker起動時にvgua01がACT側のノードで活性化される
>>>>> >> > はずです。
>>>>> >> >
>>>>> >> > 具体的には以下の処理を行っていますので、
>>>>> >> > まずは手動で下記コマンドを実行し、VGが活性化できるかを
>>>>> >> > ご確認ください。
>>>>> >> >
>>>>> >> > ★★★★★★★★★★★★★★★★★★
>>>>> >> > (活性化)
>>>>> >> > # vgchange --addtag pacemaker vgua01
>>>>> >> > # vgchange -ay --config activation{volume_list=[\"@pacemaker\"]}
>>>>> >> > vgua01
>>>>> >> >
>>>>> >> > (非活性化)
>>>>> >> > # vgchange -an vgua01
>>>>> >> > # vgchange --deltag pacemaker vgua01
>>>>> >> > ★★★★★★★★★★★★★★★★★★
>>>>> >> >
>>>>> >> > resource-agentsのバージョンが古いと上記の処理が
>>>>> >> > 実装されていませんので、念のため上記の実行結果と合わせて
>>>>> >> > resource-agentsのバージョンもお教え下さい。
>>>>> >> >
>>>>> >> > なお、浜田様からメールを頂いておりますが
>>>>> >> >> そもそも、LVM はクラスタに対応していないと思います。
>>>>> >> > (snip)
>>>>> >> >> たまたま、何らかのロック機構が働いて、
>>>>> >> >> LVMを活性化できないおかげでデータが破壊されずに済んでいる、
>>>>> >> >
>>>>> >> > LVMをクラスタで制御することは可能です。
>>>>> >> > LVMは複数ノードからの活性化を想定していませんが、
>>>>> >> > LVMを複数ノードで活性化しないように正しく
>>>>> >> > 設定を行えば問題ありません。
>>>>> >> > #そのためにvolume_listの設定を行っています。
>>>>> >> >
>>>>> >> >> ・LVMの設定ファイルを書き換えるリソースエージェントを開発する。
>>>>> >> > PacemakerのLVM RAは既に対応しております。
>>>>> >> > (★部の処理が組み込まれている)
>>>>> >> >
>>>>> >> > その他、clvmは複数ノードからの活性化(LVMの操作)に対応した
>>>>> >> > LVMとなりますが、その上に載るファイルシステムがGFSのような
>>>>> >> > 複数ノードからのマウントに対応してるものでない場合、
>>>>> >> > clvmを利用してもファイルシステムをマウントできるノードは
>>>>> >> > 1つとなりますので、今回のようにxfsを扱う場合、clvmは
>>>>> >> > オーバースペックかもしれません。
>>>>> >> >
>>>>> >> >
>>>>> >> > 2016/10/19 17:05 "Keisuke Nakamura" <k.xna****@gmail*****>:
>>>>> >> >>
>>>>> >> >> ひばり様、各位
>>>>> >> >>
>>>>> >> >> お世話になっております。nakaと申します。
>>>>> >> >> 先日のlvm.confの件、頂いた回答やネット上の情報を参考にしましたがどうもうまくいかず悩んでおります。。
>>>>> >> >>
>>>>> >> >> 【やったこと】
>>>>> >> >> /etc/lvm/lvm.confの編集。
>>>>> >> >> ↓下記の通り設定。
>>>>> >> >>
>>>>> >> >> volume_list = [ "vg00" ] ★vg00はローカルでの使用。
>>>>> >> >> use_lvmetad = 0
>>>>> >> >> locking_type = 1
>>>>> >> >>
>>>>> >> >> initramfsの再作成
>>>>> >> >> dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
>>>>> >> >>
>>>>> >> >> OSリブート
>>>>> >> >>
>>>>> >> >> これで、確かにOS起動時にはローカル(vg00)は活性状態、クラスタ共有ディスク(vgua01)は非活性に
>>>>> >> >> なるのですが、手動で共有ディスク(vgua01)の活性化(vgchange -a y)はできない状態でした。
>>>>> >> >> pacemakerでのLVMリソースの起動も失敗してしまいます。volume_listをコメントアウトすると、
>>>>> >> >> 正常に活性化できます。何か足りない設定があるのかな、、
>>>>> >> >>
>>>>> >> >> とここまで書いて、既にpacemakerの話ではなく、OSのLVMの話になってますよね。
>>>>> >> >> pacemaker(+corosync)でLVMのクラスタ共有ディスクを使う場合に他に考慮が必要なのでしょうか。。
>>>>> >> >>
>>>>> >> >> 何か些細なことでも気になる点等ございましたらご指摘頂けると助かります。
>>>>> >> >> 参考までに、「crm resouce start vgua01(LVMリソース)」後のcorosync.logを添付致します。
>>>>> >> >>
>>>>> >> >> Naka
>>>>> >> >>
>>>>> >> >> _______________________________________________
>>>>> >> >> Linux-ha-japan mailing list
>>>>> >> >> Linux****@lists*****
>>>>> >> >> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>>>> >> >>
>>>>> >> >
>>>>> >> > _______________________________________________
>>>>> >> > Linux-ha-japan mailing list
>>>>> >> > Linux****@lists*****
>>>>> >> > http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>>>> >> >
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> --
>>>>> >> Nakamura
>>>>> >> _______________________________________________
>>>>> >> Linux-ha-japan mailing list
>>>>> >> Linux****@lists*****
>>>>> >> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>>>> >
>>>>> >
>>>>> > _______________________________________________
>>>>> > Linux-ha-japan mailing list
>>>>> > Linux****@lists*****
>>>>> > http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>>>> >
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Nakamura
>>>>> _______________________________________________
>>>>> Linux-ha-japan mailing list
>>>>> Linux****@lists*****
>>>>> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>>>
>>>>
>>>> _______________________________________________
>>>> Linux-ha-japan mailing list
>>>> Linux****@lists*****
>>>> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>>>
>>>
>>>
>>>
>>> --
>>> Nakamura
>>
>>
>>
>> --
>> Nakamura
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Fri, 28 Oct 2016 08:45:29 +0900
>> From: Michiro Hibari <l0510****@shiba*****>
>> Subject: Re: [Linux-ha-jp] sfexリソースエージェントの設定について
>> To: linux****@lists*****
>> Message-ID:
>> <CAD7Q****@mail*****>
>> Content-Type: text/plain; charset="utf-8"
>>
>> naka様
>>
>> ひばりです。
>>
>> OS起動時にLVMが活性化していないとのことですので、
>> Pacemakerは関与していないのではないかなと思います。
>>
>> ♯LVMが活性化された状態で待機系のPacemakerを
>> ♯起動すると、Probe処理の結果 一旦両系のLVMリソースが
>> ♯停止するのは1.0系でも1.1系でも同じですが、
>> ♯そもそもOS起動時にLVMが活性化していなければ
>> ♯この事象は起きません。
>>
>> OS起動時にLVMが活性化しない原因として
>> 思いつく(というより妄想に近いですが)のは
>>
>> ・rc.localやその他のinitスクリプト内でLVMを
>> 非活性化する処理を行っている
>> ・OS起動時、LVM活性化処理のあとに共有ディスクに
>> ログインしている
>> ・実はOS起動時にLVMは活性化していたけど、
>> LVMリソースをcloneリソースで扱ってた
>> ・lvm.confでauto_activation_volume_listが
>> 設定されている
>> ♯これはlvm.confを編集していないとのことなので
>> ♯違うと思いますが
>> ♯(確かRJEL6.2だとまだこの設定は実装されて
>> ♯なかったはずですし)
>>
>> くらいでしょうか。
>> その他には思いつきませんでした。。。
>>
>> 何れにせよOS起動時の動作ですので、Pacemakerの
>> 観点ではなくOSの観点で調査されるのが良いかと
>> 思います。
>>
>> 2016/10/27 18:15 "Keisuke Nakamura" <k.xna****@gmail*****>:
>>
>>> ひばり様、浜田様、各位
>>>
>>> お世話になっております。nakaと申します。
>>> 度々申し訳ありません。
>>> もしどなたが御存じであれば。。
>>>
>>> > # pacemaker1.0系だと、上記LVMのソースコードにexclusiveの
>>> > # 制御はされていないようですね。さすがに旧バージョンの設定
>>> > # 通りにはいかなかったです。。
>>>
>>> 手元にある別の下記環境、
>>> CentOS 6.2(x86_64)
>>> pacemaker-1.0.12-1.el6.x86_64
>>> heartbeat-3.0.5-1.1.el6.x86_64
>>> こちらでは
>>> ・lvm.confはデフォルト設定(volume_listは何も定義していない)
>>> ・pacemakerのLVMのRAに「exclusive=true」の記述無し
>>> のまま運用していても、待機系OS再起動時には特に共有ディスクが活性化される
>>> こともなく、もちろんスプリットブレイン状態にもなりませんでした。
>>> この差は何なのか?なにかしら情報をお持ちでしたらご教授頂けると幸いです。
>>>
>>> ・pacemkaer1.0と1.1の違いによるソースコード(/usr/lib/ocf/resource.d/heartbeat/LVM)の違い
>>> ・OS(6.2と7.2)の違い
>>> ・lvm2のバージョンの違い
>>> 等、構成が異なる部分を確認しないといけないのは重々承知しておりますが、
>>> 何かしら情報をお持ちでしたらと思い、問合せさせて頂きました。
>>>
>>> 以上、宜しくお願い致します。
>>>
>>>
>>> 2016年10月21日 18:17 Keisuke Nakamura <k.xna****@gmail*****>:
>>> > ひばり様、浜田様
>>> >
>>> > お世話になっております。nakaと申します。
>>> >
>>> > ひばり様浜田様のご尽力のおかげで、事象解消することができました。
>>> > 有難うございます。
>>> >
>>> >> 上記はシェルを直接実行するのではなく、
>>> >> RAを編集した上でPacemakerを実行するとを
>>> >> 意図していました。
>>> > そうですよね、、失礼致しました。
>>> >
>>> > 私も/usr/lib/ocf/resource.d/heartbeat/LVMを
>>> > ざっと眺めてみました。浜田様のご指摘の通り、
>>> > LVMのRAにexclusive=trueを追記したところ、正常に
>>> > RAが起動し動作しました!
>>> >
>>> > 参考までにRH社の「High_Availability_Add-On_Administration」マニュアルに
>>> > exclusiveの記述がありました。
>>> > https://access.redhat.com/documentation/ja-JP/Red_Hat_
>>> Enterprise_Linux/7/html/High_Availability_Add-On_Administration/s1-
>>> resourcegroupcreatenfs-HAAA.html
>>> >
>>> > volume_listの修正と上記RAの追記で、待機系のOS再起動後も特に
>>> > スプリットブレインは発生せず。sfexについては素のパーティションを
>>> > 用意して準備したいと思います。
>>> >
>>> > # pacemaker1.0系だと、上記LVMのソースコードにexclusiveの
>>> > # 制御はされていないようですね。さすがに旧バージョンの設定
>>> > # 通りにはいかなかったです。。
>>> >
>>> > 諸々ご確認頂き大変助かりました。
>>> > とても勉強になりました。。
>>> >
>>> > 以上、宜しくお願い致します。
>>> >
>>> >
>>> > 2016年10月20日 19:58 Michiro Hibari <l0510****@shiba*****>:
>>> >> naka様
>>> >>
>>> >> ひばりです。
>>> >>
>>> >> gvsの結果をお見せ頂きありがとうございます。
>>> >> クラスタオプションが原因ではなかったようですね。
>>> >>
>>> >>> あとは/usr/lib/ocf/resource.d/heartbeat/LVM
>>> >>> のシェバン(最初の行)に-xオプションを追加して
>>> >>> 実行すると詳細なログが出力されるので手がかりを
>>> >>> 得られるかもしれません。
>>> >>
>>> >> 言葉足らずですいません。
>>> >>
>>> >> 上記はシェルを直接実行するのではなく、
>>> >> RAを編集した上でPacemakerを実行するとを
>>> >> 意図していました。
>>> >>
>>> >> そうすると corosync.logに詳細なログが
>>> >> 出るようになるはずです。
>>> >>
>>> >> ocf-shellfuncsはPacemakerがRAを呼び出す
>>> >> 際にはちゃんと読み込まれますので大丈夫です。
>>> >> heartbeatパッケージをインストールする必要は
>>> >> ありません。
>>> >>
>>> >>
>>> >> 2016/10/20 19:30 "Keisuke Nakamura" <k.xna****@gmail*****>:
>>> >>
>>> >>> ひばり様
>>> >>>
>>> >>> お世話になっております。
>>> >>>
>>> >>> ご確認頂き有難うございます。
>>> >>> vgsコマンドは正常表示のようです。(vg00とvgua01を参照できます。)
>>> >>> /usr/lib/ocf/resource.d/heartbeat/LVMを実行しますと、ファイルがないと
>>> >>> 怒られました。
>>> >>>
>>> >>> # vgs
>>> >>>   VG     #PV #LV #SN Attr   VSize  VFree
>>> >>>   vg00     1   7   0 wz--n- 51.09g    0
>>> >>>   vgua01   1   2   0 wz--n- 11.00g    0
>>> >>>
>>> >>> # sh /usr/lib/ocf/resource.d/heartbeat/LVM
>>> >>> /usr/lib/ocf/resource.d/heartbeat/LVM: 行 30:
>>> >>> /lib/heartbeat/ocf-shellfuncs: そのようなファイルやディレクトリはありません
>>> >>>
>>> >>> pacemakerのバージョンがあがって、heartbeatのパッケージが入らなくなったから
>>> >>> でしょうかね。LVMのRAを利用するには、corosyncだけでは足りないってことなんでしょうかね。
>>> >>> 明日heartbeatパッケージ(heartbeat-2.1.4-1.rhel5.x86_64.RPMS.tar.gz)あたりを追加で
>>> >>> 入れてみようかな。。
>>> >>>
>>> >>> 以上、宜しくお願い致します。
>>> >>>
>>> >>>
>>> >>> 2016年10月20日 17:31 Michiro Hibari <l0510****@shiba*****>:
>>> >>> > naka様
>>> >>> >
>>> >>> > ひばりです。
>>> >>> > お世話になっております。
>>> >>> >
>>> >>> > resource-agentsのバージョンが3.9.7でしたら、
>>> >>> > RAには先のメールに記載した処理が実装されております。
>>> >>> >
>>> >>> > 色々と情報を確認してばかりで申し訳ないのですが、
>>> >>> > vgsの実行結果もお見せいただけないでしょうか。
>>> >>> >
>>> >>> > あとは/usr/lib/ocf/resource.d/heartbeat/LVM
>>> >>> > のシェバン(最初の行)に-xオプションを追加して
>>> >>> > 実行すると詳細なログが出力されるので手がかりを
>>> >>> > 得られるかもしれません。
>>> >>> >
>>> >>> >
>>> >>> > 2016/10/20 16:02 "Keisuke Nakamura" <k.xna****@gmail*****>:
>>> >>> >>
>>> >>> >> ひばり様、浜田様
>>> >>> >>
>>> >>> >>
>>> >>> >> お世話になっております。nakaと申します。
>>> >>> >> ご確認頂き有難うございます。
>>> >>> >>
>>> >>> >> > ★★★★★★★★★★★★★★★★★★
>>> >>> >> > (活性化)
>>> >>> >> > # vgchange --addtag pacemaker vgua01
>>> >>> >> > # vgchange -ay --config
>>> activation{volume_list=[\"@pacemaker\"]}
>>> >>> >> > vgua01
>>> >>> >> >
>>> >>> >> > (非活性化)
>>> >>> >> > # vgchange -an vgua01
>>> >>> >> > # vgchange --deltag pacemaker vgua01
>>> >>> >> > ★★★★★★★★★★★★★★★★★★
>>> >>> >>
>>> >>> >> 上記コマンドを手動で実施すると、正常にvgua01を活性/非活性化することができました。。
>>> >>> >>
>>> >>> >> # vgchange -ay vgua01
>>> >>> >>   0 logical volume(s) in volume group "vgua01" now active
>>> >>> >> # vgchange --addtag pacemaker vgua01
>>> >>> >>   Volume group "vgua01" successfully changed
>>> >>> >> # vgchange -ay --config activation{volume_list=[\"@pacemaker\"]}
>>> vgua01
>>> >>> >>   2 logical volume(s) in volume group "vgua01" now active
>>> >>> >> # vgchange -an vgua01
>>> >>> >>   0 logical volume(s) in volume group "vgua01" now active
>>> >>> >> # vgchange --deltag pacemaker vgua01
>>> >>> >>   Volume group "vgua01" successfully changed
>>> >>> >>
>>> >>> >> resource-agentsはバージョン「3.9.7」です。
>>> >>> >> このバージョンが古いのでしょうかね?
>>> >>> >>
>>> >>> >> # rpm -qi resource-agents
>>> >>> >> Name        : resource-agents
>>> >>> >> Version     : 3.9.7
>>> >>> >> Release     : 1.2.6f56.el7
>>> >>> >> Architecture: x86_64
>>> >>> >> Install Date: 2016年09月12日 10時44分49秒
>>> >>> >> Group       : System Environment/Base
>>> >>> >> Size        : 1873911
>>> >>> >> License     : GPLv2+ and LGPLv2+
>>> >>> >> Signature   : (none)
>>> >>> >> Source RPM  : resource-agents-3.9.7-1.2.6f56.el7.src.rpm
>>> >>> >> Build Date  : 2016年04月07日 13時28分39秒
>>> >>> >> Build Host  : build-centos71
>>> >>> >> Relocations : (not relocatable)
>>> >>> >> Vendor      : Linux-HA Japan
>>> >>> >> URL         : https://github.com/ClusterLabs/resource-agents
>>> >>> >> Summary     : Open Source HA Reusable Cluster Resource Scripts
>>> >>> >> Description :
>>> >>> >> A set of scripts to interface with several services to operate in
>>> a
>>> >>> >> High Availability environment for both Pacemaker and rgmanager
>>> >>> >> service managers.
>>> >>> >>
>>> >>> >> resource-agentsバージョンの改訂履歴を探してみます。。
>>> >>> >> 取り急ぎ。
>>> >>> >>
>>> >>> >> 2016年10月19日 19:00 Michiro Hibari <l0510****@shiba*****>:
>>> >>> >> > naka様 浜田様
>>> >>> >> >
>>> >>> >> > ひばりです。
>>> >>> >> > お世話になっております。
>>> >>> >> >
>>> >>> >> > volume_list = [ "vg00" ] ★vg00はローカルでの使用。
>>> >>> >> >
>>> >>> >> > 上記設定をlvm.confに行った時点でvolume_listで指定した
>>> >>> >> > VG以外をvgchange等のlvmコマンドで操作することが
>>> >>> >> > 出来なくなります。
>>> >>> >> > #クラスタでLVMのボリュームを制御する際は、クラスタの管理外
>>> >>> >> > #クラスタ管理対象のボリュームが操作されないように上記設定を
>>> >>> >> > #行います。
>>> >>> >> >
>>> >>> >> > そのため手動で共有ディスクの活性化を行えないこと
>>> >>> >> > 自体は正常な動作といえます。
>>> >>> >> >
>>> >>> >> > ただ、Pacemakerはvolume_listをRA内部で実行する
>>> >>> >> > コマンド上で書き換えていますので、本来であれば
>>> >>> >> > Pacemaker起動時にvgua01がACT側のノードで活性化される
>>> >>> >> > はずです。
>>> >>> >> >
>>> >>> >> > 具体的には以下の処理を行っていますので、
>>> >>> >> > まずは手動で下記コマンドを実行し、VGが活性化できるかを
>>> >>> >> > ご確認ください。
>>> >>> >> >
>>> >>> >> > ★★★★★★★★★★★★★★★★★★
>>> >>> >> > (活性化)
>>> >>> >> > # vgchange --addtag pacemaker vgua01
>>> >>> >> > # vgchange -ay --config
>>> activation{volume_list=[\"@pacemaker\"]}
>>> >>> >> > vgua01
>>> >>> >> >
>>> >>> >> > (非活性化)
>>> >>> >> > # vgchange -an vgua01
>>> >>> >> > # vgchange --deltag pacemaker vgua01
>>> >>> >> > ★★★★★★★★★★★★★★★★★★
>>> >>> >> >
>>> >>> >> > resource-agentsのバージョンが古いと上記の処理が
>>> >>> >> > 実装されていませんので、念のため上記の実行結果と合わせて
>>> >>> >> > resource-agentsのバージョンもお教え下さい。
>>> >>> >> >
>>> >>> >> > なお、浜田様からメールを頂いておりますが
>>> >>> >> >> そもそも、LVM はクラスタに対応していないと思います。
>>> >>> >> > (snip)
>>> >>> >> >> たまたま、何らかのロック機構が働いて、
>>> >>> >> >> LVMを活性化できないおかげでデータが破壊されずに済んでいる、
>>> >>> >> >
>>> >>> >> > LVMをクラスタで制御することは可能です。
>>> >>> >> > LVMは複数ノードからの活性化を想定していませんが、
>>> >>> >> > LVMを複数ノードで活性化しないように正しく
>>> >>> >> > 設定を行えば問題ありません。
>>> >>> >> > #そのためにvolume_listの設定を行っています。
>>> >>> >> >
>>> >>> >> >> ・LVMの設定ファイルを書き換えるリソースエージェントを開発する。
>>> >>> >> > PacemakerのLVM RAは既に対応しております。
>>> >>> >> > (★部の処理が組み込まれている)
>>> >>> >> >
>>> >>> >> > その他、clvmは複数ノードからの活性化(LVMの操作)に対応した
>>> >>> >> > LVMとなりますが、その上に載るファイルシステムがGFSのような
>>> >>> >> > 複数ノードからのマウントに対応してるものでない場合、
>>> >>> >> > clvmを利用してもファイルシステムをマウントできるノードは
>>> >>> >> > 1つとなりますので、今回のようにxfsを扱う場合、clvmは
>>> >>> >> > オーバースペックかもしれません。
>>> >>> >> >
>>> >>> >> >
>>> >>> >> > 2016/10/19 17:05 "Keisuke Nakamura" <k.xna****@gmail*****>:
>>> >>> >> >>
>>> >>> >> >> ひばり様、各位
>>> >>> >> >>
>>> >>> >> >> お世話になっております。nakaと申します。
>>> >>> >> >> 先日のlvm.confの件、頂いた回答やネット上の情報を参考にしましたがどうもうまくいかず悩んでおります。。
>>> >>> >> >>
>>> >>> >> >> 【やったこと】
>>> >>> >> >> /etc/lvm/lvm.confの編集。
>>> >>> >> >> ↓下記の通り設定。
>>> >>> >> >>
>>> >>> >> >> volume_list = [ "vg00" ] ★vg00はローカルでの使用。
>>> >>> >> >> use_lvmetad = 0
>>> >>> >> >> locking_type = 1
>>> >>> >> >>
>>> >>> >> >> initramfsの再作成
>>> >>> >> >> dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
>>> >>> >> >>
>>> >>> >> >> OSリブート
>>> >>> >> >>
>>> >>> >> >> これで、確かにOS起動時にはローカル(vg00)は活性状態、クラスタ共有ディスク(vgua01)は非活性に
>>> >>> >> >> なるのですが、手動で共有ディスク(vgua01)の活性化(vgchange -a y)はできない状態でした。
>>> >>> >> >> pacemakerでのLVMリソースの起動も失敗してしまいます。volume_listをコメントアウトすると、
>>> >>> >> >> 正常に活性化できます。何か足りない設定があるのかな、、
>>> >>> >> >>
>>> >>> >> >> とここまで書いて、既にpacemakerの話ではなく、OSのLVMの話になってますよね。
>>> >>> >> >> pacemaker(+corosync)でLVMのクラスタ共有ディスクを使う場合に他に考慮が必要なのでしょうか。。
>>> >>> >> >>
>>> >>> >> >> 何か些細なことでも気になる点等ございましたらご指摘頂けると助かります。
>>> >>> >> >> 参考までに、「crm resouce start vgua01(LVMリソース)」後のcorosync.logを添付致します。
>>> >>> >> >>
>>> >>> >> >> Naka
>>> >>> >> >>
>>> >>> >> >> _______________________________________________
>>> >>> >> >> Linux-ha-japan mailing list
>>> >>> >> >> Linux****@lists*****
>>> >>> >> >> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>> >>> >> >>
>>> >>> >> >
>>> >>> >> > _______________________________________________
>>> >>> >> > Linux-ha-japan mailing list
>>> >>> >> > Linux****@lists*****
>>> >>> >> > http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>> >>> >> >
>>> >>> >>
>>> >>> >>
>>> >>> >>
>>> >>> >> --
>>> >>> >> Nakamura
>>> >>> >> _______________________________________________
>>> >>> >> Linux-ha-japan mailing list
>>> >>> >> Linux****@lists*****
>>> >>> >> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>> >>> >
>>> >>> >
>>> >>> > _______________________________________________
>>> >>> > Linux-ha-japan mailing list
>>> >>> > Linux****@lists*****
>>> >>> > http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>> >>> >
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> Nakamura
>>> >>> _______________________________________________
>>> >>> Linux-ha-japan mailing list
>>> >>> Linux****@lists*****
>>> >>> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> Linux-ha-japan mailing list
>>> >> Linux****@lists*****
>>> >> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Nakamura
>>>
>>>
>>>
>>> --
>>> Nakamura
>>> _______________________________________________
>>> Linux-ha-japan mailing list
>>> Linux****@lists*****
>>> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>>
>> -------------- next part --------------
>> HTMLの添付ファイルを保管しました...
>> URL:
>> http://lists.osdn.me/mailman/archives/linux-ha-japan/attachments/20161028/3d0c7374/attachment.htm
>>
>> ------------------------------
>>
>> _______________________________________________
>> Linux-ha-japan mailing list
>> Linux****@lists*****
>> http://lists.osdn.me/mailman/listinfo/linux-ha-japan
>>
>>
>> 以上: Linux-ha-japan まとめ読み, 106 巻, 22 号
>> **********************************************
>>
>
>
> --
> ==================================================================
>     浜田 克明  Katsuaki Hamada   IT Architect, DBA
>
>    【パブリック・クラウドのビジネスパートナー】
>    有限会社PCオフィス   PC Office Co., Ltd.
>
>      〒276-0046 千葉県八千代市大和田新田928-63
>        Mobile    090-1427-8682
>        E-Mail    hamad****@pc-of*****
>        URL       http://dba-ha.blogspot.jp/
>             (メシの種 - DBAの落書き帳)
> ==================================================================
>
> _______________________________________________
> Linux-ha-japan mailing list
> Linux****@lists*****
> http://lists.osdn.me/mailman/listinfo/linux-ha-japan



-- 
Nakamura



Linux-ha-japan メーリングリストの案内
Back to archive index