OKADA Satoshi
okada****@oss*****
2010年 3月 1日 (月) 21:09:59 JST
岡田です。こんにちは。 きちんと環境をつくって検証していないので、自信はないのですが、 私の手元環境ではheartbeatの停止(/etc/init.d/heartbeat stop) でライブマイグレーションはできているようです。 DomUへのpingは途切れませんでした。 HB 2.1.3では試したことがありません。影響は良く分かりませんが、 XenRAに手が入っているようですので、バージョンアップを してみてはいかがでしょうか? 以下は私が実験してみた環境・設定です。 環境: CentOS 5.3 Heartbeat 2.1.4 ノード: node01, node02 の2台構成 共有ディスク: iSCSIで両ノードからアクセス可能としています。 xen(DomU)の設定 xenの設定ファイル /etc/xen/vm1は両ノードのローカルディスクにおいています。 DomUのOSはiSCSIの共有ディスク上においています。 ⇒ どちらのノードからもDomUが起動できることを確認しました。 Heartbeatの設定(cib.xml) --- <cib> <configuration> <crm_config> <cluster_property_set id="cib-bootstrap-options"> <attributes> <nvpair id="cib-bootstrap-options-default-resource-stickiness" name="default-resource-stickiness" value="INFINITY"/> <nvpair id="cib-bootstrap-options-default-resource-failure-stickiness" name="default-resource-failure-stickiness" value="-INFINITY"/> <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/> <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/> <nvpair id="cib-bootstrap-options-default-action-timeout" name="default-action-timeout" value="120s"/> </attributes> </cluster_property_set> </crm_config> <nodes> </nodes> <resources> <primitive id="vm1" class="ocf" type="Xen" provider="heartbeat"> <instance_attributes id="inst-attr-vm1"> <attributes> <nvpair id="vm1-xmfile" name="xmfile" value="/etc/xen/vm1"/> </attributes> </instance_attributes> <meta_attributes id="metar-attr-vm1"> <attributes> <nvpair id="meta-allow_migrate" name="allow_migrate" value="true"/> </attributes> </meta_attributes> <operations> <op name="start" id="op-vm1-start" timeout="120s" on_fail="restart"/> <op name="monitor" interval="10s" id="op-vm1-monitor" timeout="30s" on_fail="restart"/> <op name="stop" id="op-vm1-stop" timeout="120s" on_fail="block"/> </operations> </primitive> </resources> <constraints/> </configuration> </cib> ---- ご参考まで。 zhang さんは書きました: > 田中様 > > 木下です。 > > お返事を頂き、ありがとうございます。 > > xenライブマイグレーションができない事は > 本当に残念なことだと思っています。 > > 私たちは、いろいろ解析しながら、 > xenライブマイグレーションができない原因を > 追求し、苦闘しております。 > > ご調査・検証に何かわかった情報がありましたら、 > ご連絡を頂ければ、ありがたいと思っています。 > > ご協力ありがとうございます。 > > また、宜しくお願い致します。 > > > > Tomohiro Tanaka, Mediarium さんは書きました: >> 木下さま >> >> はじめまして田中です。 >> >> おそらく私の過去投稿を見てくださりメールを頂いたのだと >> 思いますが、非常に残念なお知らせがございます。 >> >> あの後、heartbeatでXenライブマイグレーションが >> 機能しなくなりました。 >> 未だに何が原因なのかわかりません。 >> 当時、1〜2時間ほどの検証でしたが >> たしかに動作していたはずなのですが。。。 >> >> 現在の私の場合、heartbeatを起動するとhost1の仮想マシンが開始されたと >> 思ったらすぐにダウンしhost2で仮想マシンが立ち上がります。 >> #その時にheartbeatの状態を確認(crm_mon)するとhost1でエラーが発生しており >> #host2で動作している(Started)事になっています。 >> host2では仮想マシンは正常に動作しています。 >> >> その後、host2をシャットダウンしても >> host1にライブマイグレーションされる事はありません。。。 >> >> 現在も調査・検証中ですので >> 何か分かったらご連絡いたします。 >> >> しかし本件、情報が薄いですね。検索しても殆ど情報が出てきません。 >> もしかしたら、出来ないのかも? >> >> >> 以上、よろしくお願いいたします。 >> >> --------- >> >> ----- Original Message ----- >> From: "zhang" <j.zha****@jmtec*****> >> To: <linux****@lists*****> >> Cc: <aqua****@jmtec*****> >> Sent: Wednesday, February 24, 2010 5:07 PM >> Subject: [Linux-ha-jp] heartbeatにてXenのライブマイグレーション >> >> >> >>> 田中様 >>> >>> はじめまして、木下と申します。 >>> >>> heartbeatでXenライブマイグレーションについて、 >>> 以下の環境で検証を行いました。xenライブ >>> マイグレーションができていないみたいなので、 >>> 質問させていただきたいです。ご指摘をお願い致します。 >>> >>> >>> 質問: >>> ------------------ >>> heartbeatのリソースには、Xenだけ追加し、仮想マシンのライブマイグレーション >>> の検証を行いました。 >>> サーバ1のheartbeatを停止し、サーバ2へライブマイグレーションしたいのですが、 >>> >>> ライブマイグレーションができていないみたいです。 >>> >>> 現象としては、 >>> xm listでは、サーバ1側では、仮想マシンが停止(shutdown)され、サーバ2側で、 >>> 再起動されました。 >>> 仮想マシンへpingを打ち続けて、heartbeatがフェイルオーバで、 >>> 切り替わったタイミングで繋がらなくなり、sshで仮想マシンへ接続している >>> コンソールも接続できなくなりました。 >>> 切り替わった後、sshで仮想マシンへ再接続できるようになりました。 >>> >>> 上記の挙動ではライブマイグレーション出来ていないと思うのですが、 >>> 出来るようにする為には、何か別の設定が必要なのでしょうか? >>> >>> # 私の認識しているライブマイグレーションとは、フェイルオーバで切り替わる際に >>> >>> # ネットワーク接続が切れず、サービスを継続したまま別サーバにリソースが移 >>> 動する >>> # ということです。ライブマイグレーション中pingは常に返ってきて、sshで >>> # 接続しているコンソールも切断されずに切り替わる事だと認識しています。 >>> >>> ------------------ >>> >>> 以下heartbeatでXenのライブマイグレーション検証を行っている環境です。 >>> >>> >>> 環境: >>> >>> 物理サーバ2台: >>> OS:debian5.0 64bit (lenny) >>> カーネル:2.6.26-2-xen-amd64 >>> heartbeat:2.1.3-6lenny4 >>> >>> サーバ1 >>> debhost01:192.168.36.121 >>> サーバ2 >>> debhost02:192.168.36.122 >>> >>> 両物理サーバは、社内LANの同じセグメントに >>> 繋がっています。 >>> >>> >>> 仮想マシン1台: >>> xenvm1:192.168.36.120 >>> >>> XenのゲストOSもdebian5.0 64bit (lenny)です。 >>> >>> Xen仮想マシンのdisk,swapのimgファイルは、 >>> NFSにて共有しております。 >>> >>> Xen仮想マシン設定ファイルxenvm1.cfgはサーバ1側の >>> /etc/xen/に設定しており、scpにてサーバ1へ転送しました。 >>> >>> heartbeatの設定について、リソースをXenのみ設定しています。 >>> >>> cib.xmlの中身は最後に添付しております。 >>> >>> 田中様の環境との違いは以下になると思います。 >>> 仮想マシンのimgファイルは、ISCSIではなく、NFSにて共有しています。 >>> >>> また、pingdを使ったネットワークが必要みたいなので、 >>> pingdを使ったネットワークというのは、以下の設定以外に必要な設定は >>> ありますか? >>> 設定ファイル/etc/ha.d/ha.cfに以下のコメントアウトをはずします。 >>> respawn root /usr/lib/heartbeat/pingd -m 100 -d 5s -a default_ping_set >>> >>> >>> 検証を行う際の情報は以下になります。 >>> >>> >>> ライブマイグレーションを行う前に、 >>> Xen仮想(192.168.36.125)へpingを打ち続け、sshにて仮想マシンへ >>> 接続しております。 >>> >>> pingが通っている状態で、サーバ1のheartbeatを停止します。 >>> >>> 画面表示「Started debhost02」から「Started debhost01」へ >>> 変わる瞬間、pingが通らなくなりまして、sshにて接続されていた >>> 仮想マシンのコンソールは切れました。 >>> >>> 画面表示が「Started debhost01」へ切り替わった後、pingは >>> 通るようになり、sshにて再接続もできました。 >>> >>> >>> ちなみに、heartbeatを使わず、xmのコマンドでライブマイグレーションを行う時、 >>> >>> 上述の現象はなく、ライブマイグレーションがうまくできました。 >>> # xm migrate --live <仮想マシン名> <移動先IPアドレス> >>> >>> heartbeatにて、Xenのライブマイグレーションを正常に行うための設定が不足 >>> していましたら教えていただければ助かります。 >>> >>> >>> 以下は、cib.xmlの設定内容です。 >>> ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ >>> </attributes> >>> </cluster_property_set> >>> </crm_config> >>> <nodes> >>> <node id="986d636d-1ee5-4a48-a241-0bb23468fb32" uname="debhost02" >>> type="normal"/> >>> <node id="14cdc6fb-abec-4c88-bacc-867aea34c829" uname="debhost01" >>> type="normal"> >>> </attributes> >>> </cluster_property_set> >>> </crm_config> >>> <nodes> >>> <node id="986d636d-1ee5-4a48-a241-0bb23468fb32" uname="debhost02" >>> type="normal"/> >>> <node id="14cdc6fb-abec-4c88-bacc-867aea34c829" uname="debhost01" >>> type="normal"> >>> <nvpair >>> id="cib-bootstrap-options-default-resource-failure-stickiness" name="de >>> fault-resource-failure-stickiness" value="0"/> >>> <nvpair id="cib-bootstrap-options-stonith-enabled" >>> name="stonith-enabled" value >>> ="false"/> >>> <nvpair id="cib-bootstrap-options-stonith-action" >>> name="stonith-action" value=" >>> reboot"/> >>> <nvpair id="cib-bootstrap-options-startup-fencing" >>> name="startup-fencing" value >>> ="true"/> >>> <nvpair id="cib-bootstrap-options-stop-orphan-resources" >>> name="stop-orphan-reso >>> urces" value="true"/> >>> <nvpair id="cib-bootstrap-options-stop-orphan-actions" >>> name="stop-orphan-action >>> s" value="true"/> >>> <nvpair id="cib-bootstrap-options-remove-after-stop" >>> name="remove-after-stop" v >>> alue="false"/> >>> <nvpair id="cib-bootstrap-options-short-resource-names" >>> name="short-resource-na >>> mes" value="true"/> >>> <nvpair id="cib-bootstrap-options-transition-idle-timeout" >>> name="transition-idl >>> e-timeout" value="5min"/> >>> <nvpair id="cib-bootstrap-options-default-action-timeout" >>> name="default-action- >>> timeout" value="20s"/> >>> <nvpair id="cib-bootstrap-options-is-managed-default" >>> name="is-managed-default" >>> value="true"/> >>> <nvpair id="cib-bootstrap-options-cluster-delay" >>> name="cluster-delay" value="60 >>> s"/> >>> <nvpair id="cib-bootstrap-options-pe-error-series-max" >>> name="pe-error-series-ma >>> x" value="-1"/> >>> <nvpair id="cib-bootstrap-options-pe-warn-series-max" >>> name="pe-warn-series-max" >>> value="-1"/> >>> <nvpair id="cib-bootstrap-options-pe-input-series-max" >>> name="pe-input-series-ma >>> x" value="-1"/> >>> <nvpair id="cib-bootstrap-options-dc-version" >>> name="dc-version" value="2.1.3-no >>> de: 552305612591183b1628baa5bc6e903e0f1e26a3"/> >>> </attributes> >>> </cluster_property_set> >>> </crm_config> >>> <nodes> >>> <node id="986d636d-1ee5-4a48-a241-0bb23468fb32" uname="debhost02" >>> type="normal"/> >>> <node id="14cdc6fb-abec-4c88-bacc-867aea34c829" uname="debhost01" >>> type="normal"> >>> <instance_attributes >>> id="nodes-14cdc6fb-abec-4c88-bacc-867aea34c829"> >>> <attributes/> >>> </instance_attributes> >>> </node> >>> </nodes> >>> <resources> >>> <group id="group_1"> >>> <primitive class="ocf" id="Xen_2" provider="heartbeat" type="Xen"> >>> <operations> >>> <op id="Xen_2_mon" interval="120s" name="monitor" >>> timeout="60s"/> >>> </operations> >>> <instance_attributes id="Xen_2_inst_attr"> >>> <attributes> >>> <nvpair id="Xen_2_attr_0" name="xmfile" >>> value="/etc/xen/xenvm1.cfg"/> >>> </attributes> >>> </instance_attributes> >>> <meta_attributes id="Xen_2_meta_attr"> >>> <attributes> >>> <nvpair id="Xen_2_meta_attr-01" name="allow_migrate" >>> value="true"/> >>> <nvpair id="Xen_2_meta_attr-02" >>> name="allow_mem_management" value="true"/> >>> </meta_attributes> >>> </primitive> >>> </group> >>> </resources> >>> <constraints> >>> <rsc_location id="cli-prefer-Xen_2" rsc="Xen_2"> >>> <rule id="cli-prefer-rule-Xen_2" score="INFINITY"> >>> <expression id="cli-prefer-expr-Xen_2" attribute="#uname" >>> operation="eq" value= >>> "debhost01" type="string"/> >>> </rule> >>> </rsc_location> >>> </constraints> >>> </configuration> >>> </cib> >>> ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ >>> >>> >>> 以上、宜しくお願い致します。 >>>