第4回Linux-HA 勉強会資料 オープンソースHAクラスタソフトウェア の紹介 2011年9月16日 Linux-HA Japan プロジェクト http://linux-ha.sourceforge.jp/ 森 啓介
自己紹介 名前: 森 啓介 (Keisuke MORI) twitter: @ksk_ha Linux-HA Japanプロジェクト関連の活動 -1.0系(安定版)のパッチメンテナ 現在-1.0.12リリースに向けて鋭意作業中です! 本家Linux-HA開発コミュニティのボードメンバ(でも名前だけ ) 本業 所属会社: NTTデータ先端技術株式会社 所在地: 月島 ー ぜひもんじゃを食べにどうぞ! 普段の業務 NTTグループ内における/Heartbeatの導入支援 サポート バグ報告 パッチ作成などによるNTTからコミュニティへのフィードバック 貢献 2
もくじ ってどんなもの の特長 適用事例 のパッケージ構成 Heartbeatとの関係 のパッケージ構成 開発コミュニテイの動向 開発コミュニティの紹介 今後の開発動向 って何が良いの? どんな使い方ができるの? Heartbeatなら使ったこと あるんだけど Corosyncとかcluster-glueとか 訳わかんない! どんなヤツらが作ってるん? 今何やってんの? 3
の特長 (1) (1)オープンソースであること (2) (2)数多くのLinuxディストリビューションで利用できること (3) (3)複雑な構成にも対応できること (4) (4)応援キャラがいること 4
特長(1) オープンソースであること ライセンス費用が不要 気軽に試してみたり イニシャルコストを抑えることが可能 でも ものすごく安くなる とは限らないよね いざというときは全部自分たちで面倒をみることが可能 当事者能力を持てることが重要 気に入らないところは自分で直せる バグ報告 パッチ作成などでいつでも開発に参加できる 使い方の質問も立派なコミュニティ参加です ぜひ積極的にご参加を! 5
特長(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 6
特長(3) 複雑な構成にも対応できる 一般的なHAクラスタの構成 Active/Standby(1+1)構成 Active/Active構成 全ノードActive構成 相互待機構成 N+1構成 N+M構成 図出典: www.clusterlabs.org (開発サイト) 7
適用事例(1)データベースサーバの冗長化 Groupリソース pgsql pgsql pgsql Filesystem Filesystem Filesystem sfex sfex sfex pingd pingd Cloneリソース pingd pingd 8
適用事例(2)Hadoopマスターノードの冗長化 Groupリソース jobtracker jobtracker jobtracker namenode namenode namenode Filesystem Filesystem Filesystem drbd drbd (Primary) (Primary) MasterSlaveリソース drbd drbd (Secondary) (Secondary) DRBDによるデータレプリケーション 出典: Hadoop徹底入門 翔泳社 Heartbeat2での事例 9
適用事例(3) 3ノードActive構成 Groupリソース1 tomcat tomcat tomcat tomcat Groupリソース2 tomcat tomcat tomcat tomcat Groupリソース3 tomcat tomcat tomcat tomcat Heartbeat2での事例 10
適用事例(4)クラウド基盤 N+2構成 VM1 VM1 VM4 VM4 VM7 VM7 VM VM VM2 VM2 VM5 VM5 VM8 VM8 VM VM VM3 VM3 VM6 VM6 VM9 VM9 VM VM VM管理リソース VM管理リソース VM管理リソース VM管理リソース VM管理リソース VM管理リソース VM管理リソース VM管理リソース ACT N SBY1 SBY2 ACT1 ACT2 +Corosyncでの事例 11
クラスタ構成の設定要素 リソース: 監視対象となるアプリケーションの単位 primitiveリソース, 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 を自動的に設定したもの これらの設定を任意に組み合わせることで 非常に複雑な構成への対応が可能になっています 12
Heartbeatとの関係って? Heatbeatなら使ったことあるんだけど とどういう関係なの? は Heartbeat の後継バージョンです Heartbeatバージョン2までは単一パッケージで提供されて いましたが からは複数のパッケージを組み合 わせて使うようになりました 13
のパッケージ構成 の生い立ち crmシェルによる 簡易な設定 corosync対応 リソース監視機能 多様なリソース制御 多ノード対応 リソースの起動 終了のみ管理 XMLによる設定 pacemakermgmt-2.0 2ノード構成まで Linux-HA Japan追加 パッケージ pacemaker-1.0.11 (安定版) CRM heartbeat1.2.5 heartbeat2.1.4 運用管理等 追加機能 リソース制御機能 resource-agents-3.9.2 cluster-glue-1.0.7 heartbeat3.0.5 corosync1.4.1 ノード管理機能 パッケージを分割 再構成 CRM: Cluster Resource Manager バージョン番号は2011年9月時点での最新版 ノード管理機能を選択可能 14
よくある質問 必要なパッケージが多すぎて覚えられないんだけど インストールには pacemaker だけ覚えてもらえれば充分です 他のパッケージは の依存パッケージとして自動的にインストールされます Linux-HA Japan のリポジトリパッケージには必要なパッケージが全て入っています HeartbeatとCorosyncを選べるって どっちを使えばいいの? (1) 安定版: -1.0.* + Heartbeat-3.0.* 今はこちらがオススメ! より安定動作 実績多し 動作確認済みのバージョン組み合わせをLinux-HA Japanから提供 (2) 開発版: -1.1.* + Corosync-1.* 将来有望 多ノードの場合はこちらが でも機能変更 リリースが頻繁 Heartbeatバージョン1と同じ使い方はできないの? もう開発コミュニティでも誰も動作確認してないので 正直お勧めできません そもそも何でコンポーネントをバラバラにしちゃったのさ? それは 15
クラスタソフトウェアを超えたコンポーネントの共通化 pacemakermgmt-2.0 Red Hat High Availability Add-on (はぁん) OpenAIS Luci Luci Linux-HA Japan追加 パッケージ cman cman rgmanager pacemaker-1.0.11(安定版) pacemaker pacemaker-1.1.5(開発版) OpenAIS リソース制御機能 resource-agents-3.9.2 cluster-glue-1.0.7 heartbeat3.0.5 corosync-1.4.1 ノード管理機能 16
オープンソースクラスタ開発コミュニティの動向 クラスタの開発コミュニティは今 ゆるやかに統合しつつあります Red Hat や SUSE 他のクラスタ開発者同士がコミュニティを通して連携し コンポ ーネントの共通化などが進められています 通常は各コンポーネントごとにML IRC等で活動 Linux-HA(Heartbeat他) Corosync linux-cluster(red Hat) : : : : http://www.clusterlabs.org/ http://www.linux-ha.org/ http://www.corosync.org/ 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 17
LinuxCon / Cluster Summit 2010 Boston 月刊あんどりゅー くんもよろしく! Linux-HA Japanサ イトで絶賛連載中 18
オープンソースクラスタコミュニティ情勢の変化(2008年前期頃まで) RedHat Cluster Suite 陣営 Heartbeat 陣営 Linux-Clusterコミュニティ Linux-HA コミュニティ OpenAISコミュニティ Alan IBM Lars, Andrew, Dejan SuSE Mori NTT S.Dake Fabio 他 RedHat Heartbeatコミュニティボードメンバ 19
オープンソースクラスタコミュニティ情勢の変化(2009年前期頃まで) RedHat Cluster Suite 陣営 陣営 コミュニティ Linux-Clusterコミュニティ OpenAISコミュニティ Linux-HA コミュニティ Dave IBM Lars, Andrew, Dejan Mori SuSE NTT Fabio 他 S.Dake RedHat Heartbeatコミュニティボードメンバ 20
オープンソースクラスタコミュニティ情勢の変化(2010年以降) RedHat Cluster Suite 陣営 陣営 コミュニティ Linux-HA コミュニティ OpenAISコミュニティ Florian, Dejan Dave IBM LINBIT Lars Mori Linux-Clusterコミュニティ Andrew Fabio 他 S.Dake NTT RedHat SuSE Heartbeatコミュニティボードメンバ 21
今後の開発動向 Linux-HA Japanでの開発動向 PostgreSQL 9.1 SR 対応リソースエージェント開発 PostgreSQL 9.1正式リリース (2011/09/12) 本家開発コミュニティに提案予定 皆さんからのフィードバックをお待ちしています KVM対応仮想環境連携機能 本日リリース (2011/09/16) pm_kvm_tools: KVMゲスト内のとハイパーバイザ上のを連携 vm-ctl: 仮想マシンリソース管理用のツール 本家開発コミュニティの開発動向 ディザスタリカバリ対応 遠隔地を結ぶクラスタリング機能(split-site) クラウド対応 ハイパーバイザ上のからのVM内監視機能 -cloud プロジェクト Matahariプロジェクト と Red Hat HA add-on の融合 リソースエージェント(RA)共通化:開発リポジトリの統合は済 今後は共通RAの開発 rgmanagerからへの置き換え 22
おわり 以上です ありがとうございました 23
参考:仮想環境連携機能 pm_kvm_tools の概要 ライブマイグレーション等 仮想環境連携STONITH機能 仮想マシン(VM)の移動先に関わ らず からの STONITH実行を可能とする機能 従来のSTONITHプラグインでは VMが稼働するホスト(ハイパーバ イザ)は固定されている必要があ った(右図上) pm_kvm_toolsを使うと ハイパ ーバイザ上のと連携 することでSTONITHの実行が可 能となる VM(SBY) VM(ACT) STONITH VM(ACT) STONITH (VMゲスト内) (VMゲスト内) (VMゲスト内) (VMゲスト内) (ハイパーバイザ上) (ハイパーバイザ上) c (ハイパーバイザ上) (ハイパーバイザ上) (VMゲスト内) (VMゲスト内) (ハイパーバイザ上) (ハイパーバイザ上) ライブマイグレーション等 VM(ACT) VM(SBY) VM(ACT) (VMゲスト内) (VMゲスト内) (VMゲスト内) (VMゲスト内) (VMゲスト内) (VMゲスト内) 仮想環境 連携機能 (ハイパーバイザ上) (ハイパーバイザ上) c (ハイパーバイザ上) (ハイパーバイザ上) (ハイパーバイザ上) (ハイパーバイザ上) 24