Pacemakerで 簡 単 手 軽 に クラスタリングしてみよう! 2010 年 6 月 26 日 Linux-HA Japan プロジェクト 田 中 崇 幸 Linux-HA Japan Project 1
本 日 の 話 題 1 Pacemakerって 何? 2 3 4 5 Pacemakerのコンポーネント 構 成 Pacemakerを 動 かそう! Linux-HA Japanプロジェクトについて 参 考 情 報 Linux-HA Japan project 2
1 Pacemakerって 何? Linux-HA Japan project 3
簡 単 に 言 うと Linux-HA Japan project 4
Pacemakerとは? PacemakerとHeatbeatの 関 係 は 後 でお 話 します オープンソースで 実 現 する 高 可 用 性 クラスタリングソフトウェアで 実 績 のある Heartbeat の 後 継 ソフト ウェアです Pacemakerは サービスの 可 用 性 向 上 ができるHAクラスタ を 可 能 とした コストパフォーマンスに 優 れたオープンソー スのクラスタリングソフトウェアです Linux-HA Japan project 5
HAクラスタとは? HAは ハイ アベイラビリティ (High Availability)の 略 で 日 本 語 では 高 可 用 性 と 訳 されます あるサービスを 提 供 するノードが 落 ちたときに 予 備 機 が そのサービスを 引 き 継 ぐことにより サービスのダウンタイ ムを 減 少 させ 冗 長 性 を 持 たせることが 目 的 です Linux-HA Japan project 6
概 要 Pacemakerは 故 障 発 生 を 検 知 し 待 機 系 サーバへフェ イルオーバさせることが 可 能 です サービス 利 用 者 には 故 障 を 意 識 させずにサービスを 継 続 して 提 供 することが 可 能 です フェイル オーバ Active Standby Active ハート ビート 故 障 発 生 故 障 ハート ビート 共 有 ディスク 共 有 ディスク Linux-HA Japan project 7
基 本 的 動 作 : ノード 監 視 相 手 ノードの 監 視 一 定 間 隔 で 相 手 ノードと 通 信 し 相 手 ノードの 生 死 を 確 認 します (ハートビート 通 信 ) 相 手 ノードと 通 信 できなくなった 場 合 に 相 手 はダウンしたと 判 断 し フェイルオーバ 処 理 を 行 います ACTノード SBYノード ACTノード SBYノード リソース 生 きてる? リソース リソース リソース Pacemaker Pacemaker 故 障 Pacemaker Pacemaker 生 きてるよ! ハートビート 通 信 断 ノード 断 Linux-HA Japan project 8
リソース リソースエージェント とは? リソース Pacemakerではよく 出 てくる 言 葉 なのでおぼえてください! HAクラスタにおけるリソースとは サービスを 提 供 するために 必 要 な 構 成 要 素 の 事 で Pacemakerが 起 動 停 止 監 視 等 の 制 御 対 象 と するアプリケーション NIC ディスク 等 を 示 します Linux-HA Japan project 9
リソースエージェント(RA) リソースエージェント(RA)とは そのリソースと Pacemakerを 仲 介 するプログラムになり 主 に シェルスクリプトで 作 成 されています Pacemakerは リソースエージェントに 対 して 指 示 を 出 し リソースの 起 動 (start) 停 止 (stop) 監 視 (monitor)の 制 御 を 行 います Linux-HA Japan project 10
基 本 的 動 作 : リソース 制 御 リソースの 制 御 : 起 動 (start) 停 止 (stop) 監 視 (monitor) 起 動 後 は 一 定 間 隔 でRAを 介 してリソースを 監 視 し 正 しく 動 作 し ていないと 判 断 した 場 合 にはフェイルオーバ 等 の 処 理 を 実 施 し ます 生 き てる? ACTノード リソース RA 生 きて SBYノード リソース 生 き てる? ACTノード 故 障 リソース SBYノード リソース るよ! RA RA RA 開 始 Pacemaker Pacemaker Pacemaker Pacemaker リソースが 壊 れたな リソースをSBY 側 で 起 動 してサービス 継 続 して! Linux-HA Japan project 11
Pacemakerでは Web 系 DB 系 ネットワーク 系 ファイルシステム 系 等 のリソースエージェントがなど 標 準 で 多 数 用 意 されています 標 準 リソースエージェントの 一 例 分 類 リソース ファイルシステム 系 ディスクマウント Filesystem DB 系 PostgreSQL pgsql Web 系 Apache apache ネットワーク 系 仮 想 IPアドレス IPaddr MySQLや Tomcat 用 のリソース エージェントなどもありますよ! リソースエージェント /usr/lib/ocf/resource.d/heartbeat/ /usr/lib/ocf/resource.d/pacemaker/ Linux-HA Japan project 12
pgsqlリソースエージェント 監 視 (monitor) 処 理 の 抜 粋 #!/bin/sh ( 省 略 ) pgsql_monitor() { if! pgsql_status then ocf_log info "PostgreSQL is down" return $OCF_NOT_RUNNING fi if [ "x" = "x$ocf_reskey_pghost" ] then runasowner "$OCF_RESKEY_psql -p $OCF_RESKEY_pgport -U $OCF_RESKEY_pgdba $OCF_RESKEY_pgdb -c 'select now();' >/dev/null 2>&1" else ( 省 略 ) Linux-HA Japan project 13
例 )Pacemaker と PostgreSQLリソース エージェントの 関 係 Pacemaker PostgreSQL 用 リソースエージェント (pgsql) PostgreSQL 用 の コ マ ン ド 等 に 変 換 リソース PostgreSQL start OK/NG monitor OK/NG stop OK/NG スタート 制 御 pgsql_start() 状 態 監 視 pgsql_monitor() ストップ 制 御 pgsql_stop() pg_ctl start OK/NG select now(); OK/NG pg_ctl stop OK/NG Linux-HA Japan project 14
2 Pacemakerの コンポーネント 構 成 Linux-HA Japan project 15
Pacemaker のコンポーネント 構 成 は 複 数 に 分 かれていて 単 純 ではないのです Linux-HA Japan project 16
Pacemaker Heartbeat 2.x リソース 制 御 部 Tengine CRM Pengine CCM RA Heartbeat 2.x 系 のリソース 制 御 部 が Pacemakerとして 切 り 出 されました Pacemaker CRM: Cluster Resource Manager Tengine: Transition Engine Pengine: Policy engine CCM: Cluster Consensus Membership RA: Resource Agent Linux-HA Japan project 17
つまり Pacemaker 単 独 では HAクラスタソフトとして 動 作 しないのです ノード 監 視 等 を 行 う クラスタ 制 御 部 が 必 要.... Linux-HA Japan project 18
Corosync OpenAIS リソース 制 御 部 クラスタ 制 御 部 OpenAISコミュニティによって 開 発 されたクラスタソフトである OpenAIS のクラスタ 制 御 部 は Corosyncとして 分 離 されました Corosync Linux-HA Japan project 19
Pacemakerは 単 独 で 動 作 させるのではなく 複 数 のコンポーネント の 組 み 合 わせとして 提 供 されます 開 発 コミュニティでは クラスタソフトウェア 間 でのコンポーネントの 共 通 化 を 行 い コミュニティを 統 合 していくという 流 れになっています Pacemaker Pacemaker + Corosync Pacemaker 共 通 コンポーネント Corosync Pacemaker + Heartbeat 3.x Pacemaker 共 通 コンポーネント Heartbeat 3.x 現 在 開 発 中 長 期 的 には には 全 てこちら に 移 行 2010/2/1 リリース 済 み 大 幅 な 機 能 改 善 はなし はなし 短 期 的 な 中 継 ぎの ぎの 位 置 づけ づけ Linux-HA Japan project 20
この 複 数 のコンポーネント 構 成 が 少 々フクザツなのです Linux-HA Japan project 21
HAクラスタのリリース 形 態 Pacemaker + とは とは 呼 びにくいので この2つのリリース 形 態 を Linux-HA Japanプロジェクトでは Pacemaker としています Pacemaker Pacemaker + Corosync リソース 制 御 部 クラスタ 制 御 部 Heartbeat 2.x Pacemaker Resource agents Cluster glue Heartbeat 3.x Pacemaker + Heartbeat3 リソース 制 御 部 クラスタ 制 御 部 OpenAIS OpenAIS Corosync OpenAIS + Corosync リソース 制 御 部 クラスタ 制 御 部 Linux-HA Japan project 22
HAクラスタ 開 発 コミュニティの 状 況 ユーザが 利 用 可 能 なHAクラスタ SUSE 主 導 RedHat 主 導 Heartbeat 2.1.4 Heartbeat 2.1.4 OpenAISコミュニティ SLES11 HAE 1 Pacemakerコ ミュニティ Pacemaker 1.0.4 Heartbeat 2.99.2 Heartbeatコミュニティ OpenAIS 0.80.5 4/14 リリース Pacemaker 1.0.8 agents-1.0.3 glue-1.0.5 5/19 リリース 3/16 リリース Heartbeat 3.0.3 6/21 リリース OpenAIS 1.1.3 Corosync 1.2.5 2010 年 6 月 21 日 時 点 Pacemaker + Corosync Pacemaker + Heartbeat3 agents-1.0.x glue-1.0.x Heartbeat 3.0.x Pacemaker 1.0.9 Corosync 1.2.x Pacemaker + Corosync 急 遽 6/23にリリース されたらしい? RedHat 主 導 LINBIT 主 導 RedHat 主 導 RedHat Clusterコミュニティ 1 SUSE Linux Enterprise Server 11 High Availability Extension 2 RedHat Cluster Suite Cluster 3 Cluster 3.x RHCS 6 Beta 2 RHCS 6.x 2 Linux-HA Japan project 23
3 Pacemakerを 動 かそう! Linux-HA Japan project 24
Pacemakerのインストール 方 法 は? Linux-HA Japan project 25
Pacemaker rpmパッケージ 一 覧 CentOS5.5(x86_64)に Pacemaker + Corosync によるHAクラス タを 構 築 する 場 合 の rpmパッケージ 一 覧 です 2010 年 6 月 26 日 現 在 で 公 開 されている 最 新 rpmのバージョンです pacemaker-1.0.9.1-1.el5.x86_64.rpm pacemaker-libs-1.0.9.1-1.el5.x86_64.rpm corosync-1.2.5-1.3.el5.x86_64.rpm corosynclib-1.2.5-1.3.el5.x86_64.rpm cluster-glue-1.0.5-1.el5.x86_64.rpm cluster-glue-libs-1.0.5-1.el5.x86_64.rpm resource-agents-1.0.3-2.el5.x86_64.rpm heartbeat-3.0.3-2.el5.x86_64.rpm heartbeat-libs-3.0.3-2.el5.x86_64.rpm Linux-HA Japan project 26
こんなに 沢 山 のrpmを ダウンロードしてくるのは 大 変 Linux-HA Japan project 27
しかし CentOS5 系 (RHEL5 系 )ならば yumを 使 えば インストールは 簡 単! Linux-HA Japan project 28
CentOS5.5(x86_64)の 場 合 の Pacemakerインストール 方 法 Pacemaker + Corosync の 場 合 の 例 です 足 りないライブラリのインストール Pacemakerのインストールには rpmパッケージ 依 存 の 関 係 上 libesmtp のインストールが 必 要 です CentOS5.5にはlibesmtpは 同 梱 されて 無 いため download.fedora.redhat.comからダウンロードします # wget wgethttp://download.fedora.redhat.com/pub/epel/5/x86_64/libesmtp- 1.0.4-5.el5.x86_64.rpm # rpm rpm ivh ivhlibesmtp-1.0.4-5.el5.x86_64.rpm Linux-HA Japan project 29
yumリポジトリを 設 定 clusterlabs.org からrepoファイルをダウンロードして yumリポ ジトリを 設 定 します # cd cd /etc/yum.repo.d # wget wgethttp://clusterlabs.org/rpm/epel-5/clusterlabs.repo clusterlabs.repoの 内 容 name=high Availability/Clustering server server technologies (epel-5) baseurl=http://www.clusterlabs.org/rpm/epel-5 type=rpm-md gpgcheck=0 enabled=1 Linux-HA Japan project 30
yumで 簡 単 インストール! これだけでインストール は 完 成! # yum yum install corosync.x86_64 heartbeat.x86_64 pacemaker.x86_64 rpmの 依 存 関 係 で 以 下 のパッケージも 自 動 的 にインストールされます pacemaker-libs corosynclib cluster-glue cluster-glue-libs resource-agents heartbeat-libs Linux-HA Japan project 31
Pacemakerの 設 定 方 法 は? Linux-HA Japan project 32
Pacemaker では クラスタ 制 御 部 リソース 制 御 部 それぞれの 設 定 が 必 要 です Pacemaker + Corosync Pacemaker + Corosync リソース 制 御 部 クラスタ 制 御 部 Linux-HA Japan project 33
クラスタ 制 御 部 の 設 定 (Corosync) /etc/corosync/corosync.conf クラスタ 制 御 部 クラスタの 基 本 的 な 動 作 情 報 クラスタ 内 の 全 ノードに 同 じ 内 容 のファイルを 配 置 compatibility: whitetank aisexec {{ :: }} service service {{ :: }} totem{ totem{ : }} logging{ : }} corosync.confに 4つのディレクティブ の 設 定 が 必 要 です Linux-HA Japan project 34
aisexec aisexecディレクティブにはクラスタを 実 行 するユーザとグループ を 指 定 します クラスタの 子 プロセスは RA を 実 行 するのに 十 分 な 権 限 を 所 有 している 必 要 があるため rootユーザで 実 行 するように 指 定 しま す aisexec { user: root group: root } 実 行 ユーザ グループ 名 Linux-HA Japan project 35
service 使 用 するクラスタに 関 する 情 報 を 指 定 します service { name: pacemaker ver: 0 } 使 用 するクラスタ (pacemaker)を 指 定 Linux-HA Japan project 36
totem ノードがクラスタ 内 で 使 用 するプロトコルのバージョンやオプション 暗 号 化 な どハートビート 通 信 方 法 を 指 定 します totem {{ version: 2 暗 号 化 無 し 設 定 secauth: off off threads: 0 rrp_mode: none clear_node_high_bit: yes yes token: 4000 TOKEN 受 信 のタイムアウト 値 consensus: 10000 4 秒 応 答 がなければフェイル rrp_problem_count_timeout: 3000 オーバ 処 理 を 行 う interface {{ ringnumber: 0 リングナンバー bindnetaddr: 192.168.1.0 バインドするネットワークアドレス mcastaddr: 226.94.1.1 マルチキャスト 通 信 アドレス mcastport: 5405 受 信 ポート 番 号 }} }} Linux-HA Japan project 37
logging Pacemakerのログ 出 力 に 関 する 情 報 を 指 定 します logging {{ fileline: on on to_syslog: yes yes syslog_facility: local1 syslog_priority: info info debug: off off timestamp: on on }} syslogを 使 用 し syslogのファシリティ を local1 に 指 定 Linux-HA Japan project 38
/etc/syslog.conf /etc/corosync.conf で 指 定 したファシリティの 設 定 が 必 要 /var/log/ha-log にログを 出 力 するように 設 定 します また 同 内 容 のログを /var/log/messages に2 重 出 力 しないよう に local1.none の 追 記 も 行 います *.info;mail.none;authpriv.none;cron.none;local1.none : ( 省 略 ) : local1.* local1.* /var/log/messages /var/log/ha-log Linux-HA Japan project 39
これでとりあえずは Pacemakerが 起 動 します! # service corosync start Starting Corosync Cluster Engine (corosync): [[ OK ]] 起 動 はクラスタ 制 御 部 である corosyncを 各 サーバで 起 動 します Linux-HA Japan project 40
起 動 状 態 の 確 認 Pacemakerのコマンド /usr/sbin/crm_mon を 利 用 して 起 動 状 態 が 確 認 できます ============ Last Last updated: Tue Tue Jun Jun 15 1506:31:16 2010 Stack: openais Current DC: DC: pm01 --partition with with quorum Version: 1.0.8-9881a7350d6182bae9e8e557cf20a3cc5dac3ee7 2 Nodes configured, 2 expected votes 0 Resources configured. ============ Online: [[ pm02 pm01 ]] クラスタに 組 み 込 まれている ノード 名 が 表 示 されます Linux-HA Japan project 41
しかしこれだけでは リソース 制 御 部 の 設 定 が 無 いので なーんにも リソースは 起 動 していません Linux-HA Japan project 42
リソース 制 御 部 の 設 定 リソース 制 御 部 リソース 制 御 部 には 次 のような 設 定 が 必 要 です どのようなリソースをどのように 扱 うか Apache PostgreSQLなど どのリソース(アプリケーション)を 起 動 するか? 起 動 監 視 停 止 時 に 関 連 する 時 間 リソースの 監 視 (monitor) 間 隔 は 何 秒 にするか?? リソースの 配 置 などを 指 定 リソースをどのノードで 起 動 するか??? 設 定 方 法 には 主 に2 通 りあります cib.xml にXML 形 式 で 設 定 を 記 述 ( 従 来 のHeartbeat 2.x での 方 法 ) crmコマンドで 設 定 (Pacemakerからの 新 機 能 ) Linux-HA Japan project 43
cib.xml /var/lib/heartbeat/crm/cib.xml 主 に リソースの 定 義 を 設 定 するXMLファイルです (.. (.. 略..)..) <resources> <resources> <primitive <primitive class="ocf" class="ocf" id="prmipwww" id="prmipwww" provider="heartbeat" provider="heartbeat" type="ipaddr"> type="ipaddr"> <instance_attributes <instance_attributes id="prmipwww-instance_attributes"> id="prmipwww-instance_attributes"> <nvpair <nvpair id="prmipwww-instance_attributes-ip" id="prmipwww-instance_attributes-ip" name="ip" name="ip" value="192.168.0.108"/> value="192.168.0.108"/> <nvpair <nvpair id="prmipwww-instance_attributes-nic" id="prmipwww-instance_attributes-nic" name="nic" name="nic" value="eth1"/> value="eth1"/> <nvpair <nvpair id="prmipwww-instance_attributes-cidr_netmask" id="prmipwww-instance_attributes-cidr_netmask" name="cidr_netmask" name="cidr_netmask" value="255.255.255.0"/> value="255.255.255.0"/> </instance_attributes> </instance_attributes> <operations> <operations> <op <op id="prmipwww-start-0s" id="prmipwww-start-0s" interval="0s" interval="0s" name="start" name="start" on-fail="restart" on-fail="restart" timeout="60s"/> timeout="60s"/> <op <op id="prmipwww-monitor-10s" id="prmipwww-monitor-10s" interval="10s" interval="10s" name="monitor" name="monitor" on-fail="restart" on-fail="restart" timeout="60s"/> timeout="60s"/> <op <op id="prmipwww-stop-0s" id="prmipwww-stop-0s" interval="0s" interval="0s" name="stop" name="stop" on-fail="fence" on-fail="fence" timeout="60s"/> timeout="60s"/> </operations> </operations> </primitive> </primitive> </resources> </resources> XMLの 記 法 を 知 る (.. (.. 略..)..) 必 要 があり 難 しい... Linux-HA Japan project 44
crmコマンド crmコマンドは クラスタ 状 態 を 管 理 するためのコマンドラインインター フェイスです crm サブコマンド resource node options configure status help exit オプション show : cleanup クラスタのリソース 管 理 を 行 います status : クラスタのノード 管 理 を 行 います standby show : crmコマンドの 設 定 を 行 います edit load : CIBオブジェクトの 管 理 を 行 います commit クラスタの 状 態 を 表 示 します crmコマンドのサブコマンドを 表 示 します crmコマンドを 終 了 します Linux-HA Japan project 45
crmコマンド 実 行 例 # crm crm crm(live)# configure IPaddr リソースエージェント を 使 用 して して 仮 想 IPを IPを 設 定 をす をす るcrmコマンド 例 です です crm(live)configure# primitive prmipwww ocf:heartbeat:ipaddr params ip="192.168.0.108" nic="eth1 cidr_netmask="255.255.255.0" op op start start interval="0s timeout="60s" on-fail="restart" op op monitor interval="10s timeout="60s" on-fail="restart" op op stop stop interval="0s" timeout="60s" on-fail="fence : crm(live)configure# commit コミットされると cib.xmlに 反 映 されてリソースが 起 動 されます つまりリソース 制 御 部 の 根 っこは cib.xmlなのです Linux-HA Japan project 46
やっぱり 設 定 方 法 は わかりにくいですよね... Linux-HA Japan project 47
crmは 恐 くない! 複 雑 なリソース 制 御 の 設 定 もcrmファイル 編 集 ツール pm-crmgenで 解 決! pm-crmgenを 使 用 すれば テンプレートExcelファイル から 簡 単 にリソース 制 御 部 を 設 定 する 事 が 可 能 です Linux-HA Japanプロジェクトで crmファイル 編 集 ツールを 開 発 中! 開 発 版 は Linux-HA Japanプロジェクトのリポジトリより ダウンロード 可 能 です です http://hg.sourceforge.jp/view/linux-ha/pm-crmgen/ Linux-HA Japan project 48
crmファイル 編 集 ツールで 簡 単 設 定! 1 テンプレートExcelファイルにリソース 定 義 を 記 載 赤 枠 線 の 中 に 値 を 記 入 します 仮 想 IPをActiveノードに 付 与 する 場 合 の 例 です 6/26 時 点 での 開 発 版 での 状 況 です IPaddr のリソース エージェントを 使 用 付 与 する する 仮 想 IPの IPの IPアドレス 等 を 入 力 監 視 間 隔 などを 入 力 Linux-HA Japan project 49
2 CSV 形 式 でファイルを 保 存 仮 想 IPをActiveノードに 付 与 する 場 合 の 例 です crm_sample.csv とし てCSV 形 式 で 保 存 3 CSVファイルをノードへ 転 送 CSVファイル 保 存 後 SCPコマンド 等 でACT 系 ノードへ 転 送 ACT 系 SBY 系 どちらか 片 方 のノードに 転 送 すればOK! Linux-HA Japan project 50
4 pm-crmgenをインストール rpmパッケージ 名 は 予 定 名 です です プログラム 自 体 は pythonで 作 成 さ れています # rpm ivh pm-crmgen-xxx.noarch.rpm 5 pm_crmgenコマンドでcrmファイルを 生 成 # pm_crmgen o o crm_sample.crm crm_sample.csv 生 成 するcrmファイル 名 3で 転 送 したCSVファイル Linux-HA Japan project 51
出 来 上 がった crmファイル 例 (.. (.. 略..)..) Excelファイルで 記 述 した した ### ### Primitive Configuration ### ### 仮 想 IPを IPを 設 定 する する primitive prmipwww ocf:heartbeat:ipaddr crmサブコマンドが params ファイルに 記 述 されます ip="192.168.0.108" nic="eth1" cidr_netmask="255.255.255.0" op op start start interval="0s" timeout="60s" on-fail="restart" op op monitor interval="10s" timeout="60s" on-fail="restart" op op stop stop interval="0s" timeout="60s" on-fail="fence (.. (.. 略..)..) Linux-HA Japan project 52
6 crmコマンドを 実 行 してリソース 設 定 を 反 映 # crm crm(live)# configure crm(live)configure# load update crm_sample.crm crm(live)configure# commit 5で 生 成 したcrmファイル 名 commitで 設 定 が 反 映 される または 以 下 のようにcrmコマンド 一 発 で 反 映 も 可 能 です ( 即 コミットされますが ) # crm crmconfigure load load update crm_sample.crm Linux-HA Japan project 53
これでリソースも 起 動 しました! /usr/sbin/crm_mon を 利 用 して 起 動 したリソースが 確 認 できます ============ Last Last updated: Tue Tue Jun Jun 15 1521:54:14 2010 2010 Stack: Stack: openais Current Current DC: DC: pm01 pm01 --partition with with quorum Version: 1.0.8-9881a7350d6182bae9e8e557cf20a3cc5dac3ee7 2 Nodes Nodes configured, 2 expected votes votes 3 Resources configured. ============ Online: Online: [[ pm02 pm02 pm01 pm01 ]] Resource Group: Group: grpstonithn1 prmstonithn1 (stonith:external/riloe): Started Started pm02 pm02 Resource Group: Group: grpstonithn2 prmstonithn2 (stonith:external/riloe): Started Started pm01 pm01 Resource Group: Group: grpwww prmipwww (ocf::heartbeat:ipaddr): Started Started pm01 pm01 ノード1で 仮 想 IPが IPが 付 与 されました Linux-HA Japan project 54
4 Linux-HA Japan プロジェクトについて Linux-HA Japan project 55
Linux-HA Japan プロジェクトの 経 緯 Heartbeat(ハートビート) の 日 本 における 更 なる 普 及 展 開 を 目 的 として 2007 年 10 月 5 日 Linux-HA (Heartbeat) 日 本 語 サイト を 設 立 しました その 後 日 本 でのLinux-HAコミュニティ 活 動 として Heartbeat-2.x のrpmバイナリと Heartbeat 機 能 追 加 パッケージを 提 供 しています Linux-HA Japan project 56
そしてこれからは Linux-HA Japanプロジェクトから Pacemaker 関 連 の 情 報 やパッケージも 提 供 します! Linux-HA Japan project 57
Linux-HA JapanプロジェクトURL http://linux-ha.sourceforge.jp/ Pacemaker 関 連 情 報 の 公 開 用 として SourceForge.jp に 新 しいウェブサイトが 6/25に オープンしました これから 随 時 情 報 を 更 新 してい きます! Linux-HA Japan project 58
Linux-HA Japan 開 発 者 向 けサイト Heartbeat-2.x 用 の 情 報 も 公 開 中 http://sourceforge.jp/projects/linux-ha/ RHEL/CentOS 用 Heartbeat-2.x rpmバイナリの 提 供 や 機 能 追 加 パッケージ 類 を GPLライセンスに て 公 開 しています 共 有 ディスク 排 他 制 御 機 能 (SFEX) や ディスク 監 視 デーモン 等 が 提 供 されています Pacemaker 関 連 の 開 発 ソースコード もこのサイトから 参 照 可 能 です Linux-HA Japan project 59
linux-ha.org 本 家 Linux-HAサイト http://www.linux-ha.org/wiki/main_page/ja Linux-HA Japanプロジェクト のサイトとは 相 互 リンクを 張 っていきます Linux-HA Japan project 60
clusterlabs.org 本 家 Pacemakerサイト http://clusterlabs.org/ Fedora, opensuse, EPEL(RHEL/CentOS) のrpmがダウンロード 可 能 です Linux-HA Japan project 61
Pacemakerロゴ Linux-HA Japan プロジェクトでは Pacemakerのロゴを 作 成 しました これって うさぎ?? Linux-HA Japan project 62
Pacemaker 動 画 CM Linux-HA Japan プロジェクトでは Pacemakerの 動 画 CMも 作 成 しちゃいました Linux-HA Japan project 63
Linux-HA Japanメーリングリスト 日 本 におけるHAクラスタについての 活 発 な 意 見 交 換 の 場 として Linux-HA Japan 日 本 語 メーリングリスト も 開 設 しています Linux-HA-Japan MLでは Pacemaker Heartbeat3 Corosync その 他 DRBDなど HAクラスタに 関 連 する 話 題 は 全 て 歓 迎 します! ML 登 録 用 URL http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan MLアドレス linux-ha-japan@lists.sourceforge.jp Linux-HA Japan project 64
さいごに Linux-HA Japan project 65
Linux-HA Japanプロジェクトでは Pacemakerの 様 々な 設 定 例 や 追 加 パッケージなどの コンテンツを 載 せていき Linux-HA Japan project 66
Pacemakerの 普 及 展 開 を 推 し 進 めます Linux-HA Japan project 67
ぜひ メーリングリストに 登 録 して HAクラスタの 活 発 な 意 見 交 換 を 交 わしましょう! Linux-HA Japan project 68
Linux-HA Japan 検 索 http://linux-ha.sourceforge.jp/ Linux-HA Japan project 69
5 参 考 情 報 Linux-HA Japan project 70
STONITHとは? STONITHとは Shoot The Other Node In The Head の 略 であり 不 具 合 のあるノードを 強 制 的 にそのノードを ダウンさせる 機 能 です コントロールが 利 かないノードをPacemakerから STONITHプラグインを 通 じて 強 制 的 に 離 脱 させること により リソースの2 重 起 動 を 防 ぎます 確 実 にノードを 強 制 離 脱 させるために サービスを 提 供 するOSとは 別 経 路 の HW 制 御 ボード を 用 いた 電 源 操 作 を 推 奨 します Linux-HA Japan project 71
HW 制 御 ボードの 例 IBM 社 リモート 管 理 アダプターⅡ SlimLine RSAⅡ System x 3650 ( 旧 モデル) 等 にオプションで 搭 載 が 可 能 Integrated Management Module IMM System x 3650 M2 等 に 標 準 搭 載 HP 社 Integrated Lights-Out 2 ilo2 ProLiant DL380 G6 等 に 標 準 搭 載 Integrated Lights-Out 3 ilo3 ProLiant DL380 G7 ( 新 モデル) 等 に 標 準 搭 載 ilo2 Linux-HA Japan project 72
フェイルオーバ 時 にSTONITH 機 能 が 発 動 されるまでの 流 れ1 1 フェイルオーバ 時 にACTノードのリソース 停 止 処 理 が NGとなる 事 象 が 発 生 OS 1 停 止 失 敗 ACTノード リソース Pacemaker STONITH プラグイン 電 源 ユニット HW 制 御 ボード L2SW HW 制 御 ボード SBYノード Pacemaker STONITH プラグイン 電 源 ユニット リソース OS Linux-HA Japan project 73
フェイルオーバ 時 にSTONITH 機 能 が 発 動 されるまでの 流 れ2 2 検 知 したPacemakerが SBYノードのPacemakerに 状 態 を 伝 達 OS 1 停 止 失 敗 ACTノード リソース Pacemaker STONITH プラグイン HW 制 御 ボード 2 L2SW SBYノード Pacemaker STONITH プラグイン HW 制 御 ボード リソース OS 電 源 ユニット 電 源 ユニット Linux-HA Japan project 74
フェイルオーバ 時 にSTONITH 機 能 が 発 動 されるまでの 流 れ3 3 SBYノードのPacemakerがSTONITHプラグインを 通 じ 故 障 発 生 サーバのHW 制 御 ボードを 操 作 して 強 制 電 源 断 OS 1 停 止 失 敗 ACTノード リソース Pacemaker STONITH プラグイン HW 制 御 ボード 2 L2SW 3 SBYノード Pacemaker STONITH プラグイン HW 制 御 ボード リソース OS 電 源 ユニット 電 源 ユニット Linux-HA Japan project 75
フェイルオーバ 時 にSTONITH 機 能 が 発 動 されるまでの 流 れ4 4 強 制 電 源 断 成 功 後 リソースが 起 動 電 源 OFF OS 1 停 止 失 敗 ACTノード リソース Pacemaker STONITH プラグイン HW 制 御 ボード 2 L2SW 3 SBYノード Pacemaker STONITH プラグイン HW 制 御 ボード リソース OS 4 電 源 ユニット 電 源 ユニット Linux-HA Japan project 76
STONITHプラグイン Pacemakerには 様 々なHW 制 御 ボードに 対 応 したSTONITHプラグイ ンが 標 準 装 備 されています プラグインは シェルスクリプト Perl Python 等 で 作 成 されています HP ilo2 用 プラグイン (/usr/lib64/stonith/plugins/external/riloe) IBM RSAⅡ 用 プラグイン (/usr/lib64/stonith/plugins/external/ibmrsa-telnet) IPMI 用 プラグイン (/usr/lib64/stonith/plugins/external/ipmi) IPMIとは サーバー プラットフォームの 状 態 (( 温 度 電 圧 ファン バスなど) 監 視 や 復 旧 リモート 制 御 を 行 うための 標 準 インターフェイス 仕 様 IBM IBM IMM HP ilo3 ilo3 等 で 使 用 が 可 能 Linux-HA Japan project 77