第4回linux-ha勉強会資料 pacemakerの紹介
TRANSCRIPT
Copyright(c) 2011 Linux-HA Japan Project
第4回Linux-HA 勉強会資料
オープンソースHAクラスタソフトウェアPacemakerの紹介
2011年9月16日Linux-HA Japan プロジェクト
http://linux-ha.sourceforge.jp/森 啓介
2Copyright(c) 2011 Linux-HA Japan Project
自己紹介 名前: 森 啓介 (Keisuke MORI)
twitter: @ksk_ha
Linux-HA Japanプロジェクト関連の活動 Pacemaker-1.0系(安定版)のパッチメンテナ
現在Pacemaker-1.0.12リリースに向けて鋭意作業中です! 本家Linux-HA開発コミュニティのボードメンバ(でも名前だけ…)
本業 所属会社: NTTデータ先端技術株式会社
所在地: 月島 ー ぜひもんじゃを食べにどうぞ! 普段の業務
NTTグループ内におけるPacemaker/Heartbeatの導入支援・サポート バグ報告・パッチ作成などによるNTTからコミュニティへのフィードバック・貢献
3Copyright(c) 2011 Linux-HA Japan Project
もくじ Pacemakerってどんなもの
Pacemakerの特長 適用事例
Pacemakerのパッケージ構成 HeartbeatとPacemakerの関係 Pacemakerのパッケージ構成
開発コミュニテイの動向 開発コミュニティの紹介 今後の開発動向
Pacemakerって何が良いの?どんな使い方ができるの?
Heartbeatなら使ったことあるんだけど…
Corosyncとかcluster-glueとか訳わかんない!
どんなヤツらが作ってるん?今何やってんの?
4Copyright(c) 2011 Linux-HA Japan Project
Pacemakerの特長 (1)オープンソースであること (2)数多くのLinuxディストリビューションで利用できること (3)複雑な構成にも対応できること (4)応援キャラがいること
(1) (2) (3) (4)
5Copyright(c) 2011 Linux-HA Japan Project
特長(1) オープンソースであること ライセンス費用が不要
気軽に試してみたり、イニシャルコストを抑えることが可能 でも「ものすごく安くなる」とは限らないよね…
いざというときは全部自分たちで面倒をみることが可能 当事者能力を持てることが重要
気に入らないところは自分で直せる バグ報告、パッチ作成などでいつでも開発に参加できる 使い方の質問も立派なコミュニティ参加です。ぜひ積極的にご参加を!
6Copyright(c) 2011 Linux-HA Japan Project
特長(2)多くのLinuxディストリビューションで利用可能 Red Hat Enterprise Linux 5/6
RHEL5/6用リポジトリパッケージをLinux-HA Japanページから入手可能(1.0系安定版) RHEL6 ではTechnology Preview として標準添付(1.1系開発版)
CentOS 5/6, Scientific Linux 5/6 RHELと同様に利用可能
Fedora 14/15/16 SUSE Linux Enterprise Linux Server 11
HAE (High Availability Extension)という製品として利用可能 openSUSE 11 Gentoo 11 Debian squeeze / wheezy Ubuntu 11
7Copyright(c) 2011 Linux-HA Japan Project
特長(3) 複雑な構成にも対応できる一般的なHAクラスタの構成
Active/Standby(1+1)構成 Active/Active構成
全ノードActive構成 相互待機構成
N+1構成 N+M構成 ・・・
図出典: www.clusterlabs.org (Pacemaker開発サイト)
8Copyright(c) 2011 Linux-HA Japan Project
適用事例(1)データベースサーバの冗長化
PacemakerPacemaker
sfexsfex
FilesystemFilesystem
pgsqlpgsql
IPaddr2IPaddr2
PacemakerPacemaker
pingdpingd pingdpingd
sfex
Filesystem
pgsql
IPaddr2
Groupリソース
Cloneリソース
9Copyright(c) 2011 Linux-HA Japan Project
適用事例(2)Hadoopマスターノードの冗長化
FilesystemFilesystem
IPaddr2IPaddr2
namenodenamenode
jobtrackerjobtracker
Filesystem
IPaddr2
namenode
jobtracker
PacemakerPacemaker PacemakerPacemaker
出典: Hadoop徹底入門 翔泳社※Heartbeat2での事例
MasterSlaveリソース
Groupリソース
drbd(Primary)drbd
(Primary) drbd(Secondary)drbd
(Secondary)
DRBDによるデータレプリケーション
10Copyright(c) 2011 Linux-HA Japan Project
適用事例(3) 3ノードActive構成
PacemakerPacemaker PacemakerPacemaker
tomcat
IPaddr2
tomcat
IPaddr2
tomcattomcat
IPaddr2IPaddr2
Groupリソース1
tomcattomcat
IPaddr2IPaddr2
Groupリソース2
tomcattomcat
IPaddr2IPaddr2
Groupリソース3
tomcat
IPaddr2
tomcat
IPaddr2
tomcat
IPaddr2
tomcat
IPaddr2
PacemakerPacemaker
※Heartbeat2での事例
11Copyright(c) 2011 Linux-HA Japan Project
適用事例(4)クラウド基盤 N+2構成
VM管理リソースVM管理リソース
PacemakerPacemaker
VM1VM1
VM2VM2
VM3VM3
・・
・
VM管理リソースVM管理リソース
VM4VM4
VM5VM5
VM6VM6
・・
・
VM管理リソース
VM
VM
VM
・・
・
VM管理リソース
VM
VM
VM・
・・
VM管理リソースVM管理リソース
VM7VM7
VM8VM8
VM9VM9
・・
・・・・
ACT1 ACT2 ACT N SBY1 SBY2・・・
PacemakerPacemaker PacemakerPacemakerPacemakerPacemakerPacemakerPacemaker
※Pacemaker+Corosyncでの事例
12Copyright(c) 2011 Linux-HA Japan Project
Pacemakerクラスタ構成の設定要素 リソース: 監視対象となるアプリケーションの単位
primitiveリソース IPaddr2, apache, mysql, pgsql, Filesystem, sfex, VirtualDomain, etc...
groupリソース cloneリソース master slave リソース
アプリケーションのホットスタンバイ DRBD、 MySQLレプリケーション、PostgreSQL 9.1 SR対応(coming soon...)
制約条件: リソースの配置先、起動順序を制御 location (配置ノード制御) colocation (同居制御) order (起動・終了順序制御)
groupリソース=colocation + order を自動的に設定したもの
これらの設定を任意に組み合わせることで、非常に複雑な構成への対応が可能になっています
13Copyright(c) 2011 Linux-HA Japan Project
Heartbeatとの関係って?
Pacemaker は Heartbeat の後継バージョンです。
Heartbeatバージョン2までは単一パッケージで提供されていましたが、Pacemakerからは複数のパッケージを組み合わせて使うようになりました。
Heatbeatなら使ったことあるんだけど…Pacemakerとどういう関係なの?
14Copyright(c) 2011 Linux-HA Japan Project
運用管理等追加機能
Pacemakerのパッケージ構成 Pacemakerの生い立ち
pacemaker-1.0.11 (安定版)
heartbeat- 1.2.5
heartbeat-2.1.4
CRM
heartbeat- 3.0.5
corosync-1.4.1 ノード管理機能
リソース制御機能
ノード管理機能を選択可能!
パッケージを分割、再構成CRM: Cluster Resource Manager
cluster-glue-1.0.7resource-agents-3.9.2
pacemaker-mgmt-2.0
Linux-HA Japan追加パッケージリソースの起動・
終了のみ管理2ノード構成まで
リソース監視機能多様なリソース制御多ノード対応XMLによる設定
crmシェルによる簡易な設定corosync対応
バージョン番号は2011年9月時点での最新版
15Copyright(c) 2011 Linux-HA Japan Project
よくある質問 必要なパッケージが多すぎて覚えられないんだけど…
インストールには“pacemaker” だけ覚えてもらえれば充分です。 他のパッケージは Pacemakerの依存パッケージとして自動的にインストールされます。 Linux-HA Japan のリポジトリパッケージには必要なパッケージが全て入っています。
HeartbeatとCorosyncを選べるって、どっちを使えばいいの? (1) 安定版: Pacemaker-1.0.* + Heartbeat-3.0.* ← 今はこちらがオススメ!
より安定動作・実績多し。動作確認済みのバージョン組み合わせをLinux-HA Japanから提供 (2) 開発版: Pacemaker-1.1.* + Corosync-1.* ← 将来有望
多ノードの場合はこちらが◯。でも機能変更・リリースが頻繁。
Heartbeatバージョン1と同じ使い方はできないの? もう開発コミュニティでも誰も動作確認してないので、正直お勧めできません。
そもそも何でコンポーネントをバラバラにしちゃったのさ? それは…
16Copyright(c) 2011 Linux-HA Japan Project
クラスタソフトウェアを超えたコンポーネントの共通化
heartbeat- 3.0.5 ノード管理機能
リソース制御機能
pacemaker-mgmt-2.0
Linux-HA Japan追加パッケージ
cluster-glue-1.0.7
corosync-1.4.1
resource-agents-3.9.2
OpenAIScman
cmanrgmanagerpacemaker
pacemaker-1.0.11(安定版)pacemaker-1.1.5(開発版)
PacemakerRed Hat
High Availability Add-on(はぁん)
OpenAIS
LuciLuci
17Copyright(c) 2011 Linux-HA Japan Project
オープンソースクラスタ開発コミュニティの動向 クラスタの開発コミュニティは今、ゆるやかに統合しつつあります
Red Hat や SUSE 他のクラスタ開発者同士がコミュニティを通して連携し、コンポーネントの共通化などが進められています。
通常は各コンポーネントごとにML、IRC等で活動 Pacemaker : http://www.clusterlabs.org/ Linux-HA(Heartbeat他) : http://www.linux-ha.org/ Corosync : http://www.corosync.org/ linux-cluster(Red Hat) : https://fedorahosted.org/cluster/wiki/HomePage
Linux Foundation HA-WG の設立・全体の活動を統括 正式アナウンス: 2011年3月3日 年に一度程度 F2F ミーティングで集中議論
2008年プラハ、2010年ボストン、2011年・・・スケジュールが合わずあえなく中止 主な参加組織
Red Hat SUSE LINBIT NTT (Linux-HA Japan) その他:IBM, Oracle
18Copyright(c) 2011 Linux-HA Japan Project
LinuxCon / Cluster Summit 2010 Boston
月刊あんどりゅーくんもよろしく!
Linux-HA Japanサイトで絶賛連載中
19Copyright(c) 2011 Linux-HA Japan Project
オープンソースクラスタコミュニティ情勢の変化(2008年前期頃まで)
Linux-HA コミュニティ
OpenAISコミュニティ
Linux-Clusterコミュニティ
SuSE RedHatIBM NTT
S.Dake Fabio 他
Heartbeat 陣営 RedHat Cluster Suite 陣営
Alan Lars, Andrew, Dejan
Heartbeatコミュニティボードメンバ
Mori
20Copyright(c) 2011 Linux-HA Japan Project
オープンソースクラスタコミュニティ情勢の変化(2009年前期頃まで)
Linux-HA コミュニティ
Linux-Clusterコミュニティ
Pacemaker コミュニティ
OpenAISコミュニティ
SuSE RedHatIBM NTT
S.Dake Fabio 他Dave Lars, Andrew, Dejan
Pacemaker 陣営 RedHat Cluster Suite 陣営
Mori
Heartbeatコミュニティボードメンバ
21Copyright(c) 2011 Linux-HA Japan Project
オープンソースクラスタコミュニティ情勢の変化(2010年以降)
Linux-HA コミュニティ
Linux-Clusterコミュニティ
SuSEIBM
Pacemaker コミュニティ
OpenAISコミュニティ
LINBIT NTT RedHat
Pacemaker 陣営 RedHat Cluster Suite 陣営
Fabio 他
Dave Lars
Florian, DejanS.Dake
Andrew
Mori
Heartbeatコミュニティボードメンバ
22Copyright(c) 2011 Linux-HA Japan Project
今後の開発動向 Linux-HA Japanでの開発動向
PostgreSQL 9.1 SR 対応リソースエージェント開発 PostgreSQL 9.1正式リリース!(2011/09/12) 本家開発コミュニティに提案予定。皆さんからのフィードバックをお待ちしています!
KVM対応仮想環境連携機能 本日リリース!(2011/09/16) pm_kvm_tools: KVMゲスト内のPacemakerとハイパーバイザ上のPacemakerを連携 vm-ctl: 仮想マシンリソース管理用のツール
本家開発コミュニティの開発動向 ディザスタリカバリ対応:遠隔地を結ぶクラスタリング機能(split-site) クラウド対応:ハイパーバイザ上のPacemakerからのVM内監視機能
Pacemaker-cloud プロジェクト、Matahariプロジェクト Pacemaker と Red Hat HA add-on の融合
リソースエージェント(RA)共通化:開発リポジトリの統合は済。今後は共通RAの開発 rgmanagerからPacemakerへの置き換え
23Copyright(c) 2011 Linux-HA Japan Project
おわり以上です。ありがとうございました!
24Copyright(c) 2011 Linux-HA Japan Project
参考:仮想環境連携機能 pm_kvm_tools の概要
仮想環境連携STONITH機能
仮想マシン(VM)の移動先に関わらず、PacemakerからのSTONITH実行を可能とする機能
従来のSTONITHプラグインではVMが稼働するホスト(ハイパーバイザ)は固定されている必要があった(右図上)。
pm_kvm_toolsを使うと、ハイパーバイザ上のPacemakerと連携することでSTONITHの実行が可能となる。
Pacemaker(VMゲスト内)Pacemaker
(VMゲスト内)
VM(ACT)
Pacemaker(VMゲスト内)Pacemaker
(VMゲスト内)
VM(SBY)
Pacemaker(VMゲスト内)Pacemaker
(VMゲスト内)
VM(ACT)
cPacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
ライブマイグレーション等
Pacemaker(VMゲスト内)Pacemaker
(VMゲスト内)
VM(ACT)
Pacemaker(VMゲスト内)Pacemaker
(VMゲスト内)
VM(SBY)
Pacemaker(VMゲスト内)Pacemaker
(VMゲスト内)
VM(ACT)
cPacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
Pacemaker(ハイパーバイザ上)
ライブマイグレーション等
仮想環境連携機能
STONITH STONITH