Heartbeat + Xenで仮想化クラスタリングしてみよう!

Similar documents
挑戦!Pacemakerで自由自在にHAクラスタリング

実演!Pacemakerで楽々クラスタリング

まずは、Pacemakerを使ってみよう!

スライド 0

実演!Pacemakerで楽々クラスタリング OSC2011Tokyo/Spring

PRIMERGY RX300S6 におけるクラスタ製品「DB/Control」と「DBC/APKeeper」の動作検証報告

別紙 : 検証環境の構築手順 ( 章 ) 1. サーバ設定 1.1 IP アドレス設定 サーバは以下の 6 台を用いる pgpool-ii サーバ 2 台 DB サーバ 3 台 上位サーバ 1 台 OS は全サーバで CentOS 6.4 x86_64 とする pgpool-ii のサー

CLUSTERPRO MC RootDiskMonitor 1.0 for Windows FAQ 集 2013(Mar) NEC Corporation 導入に関する質問 運用に関する質問 動作環境に関する質問

自己紹介 名前 所属 飯田雄介 ( いいだゆうすけ ) 主な活動 Linux-HA Japan プロジェクト Pacemaker 本体の機能改善や 外部ツールの開発を行っています Linux-HA Japan から pm_logconv や pm_crmgen といったツールを提供しています 2

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

XenのNICを追加する

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

BIGLOBEクラウドホスティングAPIリファレンス

3 検証結果 3.1 ソフトウェアのインストール Red Hat Enterprise Linux 5.7 は最小構成でインストールし 最新バージョンにアップデートした Thirdware Linux-HA を構成するパッケージ (DRBD Heartbeat Pacemaker) は LINBIT


目次 基本構成 推奨する主な構成. 仮想マシン用ライセンス概要. VMware vsphere 5 環境の高可用構成 2. ライセンス体系 2. VMware vsphere 4 環境の高可用構成. 共有ディスク型 ( 仮想マシン2 台 ). VMware vsphere 4 環境の高可用構成 2

CLUSTERPROXSingleServerSafe SingleServerSafe ご紹介 2007 年 10 月

アジェンダ はクラウド上でも十分使えます 1. の概要 とは の導入事例 で利用される構成 2. をクラウドで使う クラウドサービスの分類 Amazon Web Services による構成例 2

内容環境... 3 対応 OS の変更... 3 関連アプリケーションの追加... 4 機能追加... 5 グラフ機能... 5 稼働率... 8 サービス一括削除 自動復旧エスカレーションコマンド AWS カスタムメトリックス監視 NRPE 任意監視... 11

<MW-400k > InterSec/MW400k アップデート適用手順書 2017 年 8 月 1 版

iRMC S4 ご使用上の留意・注意事項

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定

CLUSTERPRO/システム構築ガイド

2013年『STSSスキルコミュニティ』 テーマ別Kickoff資料

Pacemakerで簡単・気軽にクラスタリングしてみよう!

クラスタ構築手順書

Pacemakerでかんたんクラスタリング体験してみよう

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

DHCPサーバのクラスタ化

/ COMBINATION 入出力の状態 バッテリ状態などをリアルタイムで確認できます 停電などのイベント発生時および一定時間ごとの の状態を履歴として記録し表示できます Webブラウザ またはTelnet 端末を使用して, 遠隔からの状態確認や設定変更ができます Java Web Start また

CLUSTERPRO MC ProcessSaver 1.0 for Windows 構築ガイド 2012(Sep) NEC Corporation はじめに責任範囲適用範囲概要事前準備クラスタ設定

SIOS Protection Suite for Linux v9.3.2 AWS Direct Connect 接続クイックスタートガイド 2019 年 4 月

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

仮想マシン構成のホスト ゲスト連携物理サーバー上の CLUSTERPRO X と仮想マシン上の X SSS で連携が可能です 例えば物理サーバー上の CLUSTERPRO X の異常検出をトリガとし仮想マシン上の X SSS をフェールオーバーさせることなども可能です 仮想化環境に最適なライセンス体

スライド 1

CLUSTERPRO X 4.0 for FileMaker Server ご紹介資料

Rev:1.0 Arcserve Backup 18.0: 下位互換サポート 1 下位互換サポートについて 下位互換サポートの対象製品と対象バージョン 注意点 全体的な注意点 下位互換バージョンのライセンス登録

Windows GPO のスクリプトと Cisco NAC 相互運用性

CLUSTERPRO X 4.0 for Windows VM/Linux VM/Solaris VM 仮想マシン用ライセンス体系資料

2017/8/2 HP SiteScope software 監視機能対応表 この監視機能対応表は HP SiteScope software v11.33) に対応しています モニタ モニタ説明 モニタ説明 SiteScope for Windows SiteScope for Linux ネット

スライド 1

PRIMERGY 仮想マシン(VM) 留意事項 Red Hat Enterprise Linux 5

OS と Starter Pack の対応 (Express5800/R110j-1 向け ) OS と Starter Pack について Express5800/R110j-1 ( 以下サーバ本体製品 ) では Starter Pack のバージョンによってサポート可能な OS が決まります シ

CLUSTERPRO X 4.1 for FileMaker Server ご紹介資料

2. システム構成 の運用環境によってインストールするソフトウェアが異なりますので 本項にあわせ次項の構成例もご確認いただき 必要なソフトウェアを選択してください 3 からの変更点は ESMPRO/AC による電源管理を行うために 4 以外に別途 ESMPRO/AC の制御端末となるサーバが必須にな

アジェンダ クラスタリングとは 今回の構成 DRBD Zabbix 等の構成ソフトウェア Zabbix2.0 新機能 構築方法 バックアップについて 参考資料 2

DataKeeper for Windows リリースノート

CLUSTERPRO for Linux PostgreSQL HowTo

NFS On CLUSTERPRO for Linux

Samba on CLUSTERPRO for Linux HOWTO

OSSTechプレゼンテーション


ロードバランサー配下のシボレス IdP 環境設定に関する検証実験 2009 年 12 月 22 日国立情報学研究所学術ネットワーク研究開発センター山地一禎, 中村素典

MIRACLE MH for SNMP サポート SLA( サービスレベルアグリーメント ) ML-CS-0747 本書は サイバートラスト株式会社 ( 以下 サイバートラスト ) が MIRACLE MH for SNMP サポート ( 以下当サポートサービス ) の内容について説明するものである

X-MON 3.1.0

変更履歴 項番版数内容更新日 版新規作成 2013 年 11 月 18 日 1

Microsoft Word - nvsi_080177jp_trendmicro_bakbone.doc

IceWall Remote Configuration Managerのご紹介

100123SLES11HA.pptx

WebSAM LogCollector (リリース3.3) HP-UX用マネージャ クラスタ構築ガイド

スライド 1

HAクラスタをフェイルオーバ失敗から救おう!

<4D F736F F F696E74202D E656D6F73837D836C815B C B CC90DA91B182CC8E DD82F0979D89F082B582E682A F38DFC E >

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP が被るとローカル環境内接続が行えなくな

Oracle Database 監視製品の使い分け 2017 年 10 月日本電気株式会社クラウドプラットフォーム事業部 CLUSTERPROグループ

ESMPRO/ServerManager Ver. 6 変更履歴

UCS M シリーズ サーバでの Redhat/CentOS オペレーティング システムのインストール

CLUSTERPRO X 3.2 for FileMaker Server 13 ご紹介資料 2015 年 8 月日本電気株式会社クラウドプラットフォーム事業部 CLUSTERPRO グループ ( グローバル プロモーションチーム )

CLUSTERPRO X OperationHelper 3.2 for Windows Server Failover Cluster 製品ご紹介資料 2017 年 9 月日本電気株式会社クラウドプラットフォーム事業部 CLUSTERPRO グループ ( グローバル プロモーションチーム )

Microsoft Word - qtsi_120246jp_rhev.doc

Cuoreテンプレート

Microsoft Word - バーチャルクラス(Blackboard)ログイン方法ガイド.docx

Windows Server 2003 Service Pack 適用手順書

HP Systems Insight Manager 7.0 と HP Agentless Management の概要

改版履歴 版数改版履歴改版年月日 1 新規作成 2013/3/29 2 TESTIO_MODE を追加 OVER_ACTION VG_STALL_ACTION の設定値を変更 2013/9/30 3 CLUSTERPRO MC StorageSaver for BootDisk (for Linux

IceWall SSO 10.0 Enterprise Edition 動作環境

_mokuji_2nd.indd

はしがき 本書は CLUSTERPRO MC ProcessSaver 1.0 for Linux ( 以後 ProcessSaver と記載します ) と CLUSTERPRO X 3.1 for Linux ( 以後 CLUSTERPRO と記載します ) を組み合わせて フェイルオーバクラスタ

2010年4月~6月 協業実績報告

起動する 起動方法は ご使用の OS により異なります 同一ネットワーク内で 本ソフトを複数台のパソコンから起動すると 本ソフト対応の LAN DISK にアクセスが集中し エラーとなる場合があります [ スタート ] メニュー [( すべての ) プログラム ] [I-O DATA] [LAN D

HAクラスタで PostgreSQLを高可用化 (後編) ~ レプリケーション編 ~

PRIMECLUSTER 他社製PCサーバ使用時の留意事項

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

目次 Pacemaker ってなに? Pacemaker の設定とは? Pacemaker のリソース設定 リソース定義 パラメータ設定 リソース種類選択 リソース制約 クラスタ設定 さいごに Linux-HA Japan の紹介 Linux-HA Japan Project 2

MIRACLE System Savior による Red Hat Storage 2.1 on HP ProLiant SL4540 Gen8 バックアップ / リストア検証報告書 ミラクル リナックス株式会社 作成者 : エンタープライズビジネス本部 青山雄一

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

iRMC4(PY-RMC411)

Islandcenter.jp SUSE Linux Enterprise Server の XEN GUI とコマンドの相関 ここでは SUSE Linux Enterprise Server 10 に実装された YaST の Virtual Machine Manager と 一般に良く知られて

付録

Microsoft Word - SE第15回.doc

Microsoft Word - PCOMM V6.0_FAQ.doc

使用する前に

Slide 1

CLUSTERPRO X 4.0 for Windows VM/Linux VM/Solaris VM 仮想マシン用ライセンス体系資料

1. 対象装置 (1) 日立仮想 Fibre Channel アダプタ 適用装置 : EP8000 7xx/S8xx/E8xx/S9xx 2. 仮想 FC アダプタドライバ来歴 この仮想 FC アダプタドライバは 次の機能拡張とバグ修正を含みます バージョン内容 新規追加 7

IceWall SSO 10.0 サポートマトリクス

Express5800 シリーズ Windows Server 2019 NIC チーミング (LBFO) 設定手順書 Microsoft Windows Windows Server は 米国 Microsoft Corporation の米国およびその他の国における登録商標です その他 記載され

CLUSTERPRO MC StorageSaver 2.0 for Windows 導入ガイド 第 1 版 2015 年 3 月 日本電気株式会社

CLUSTERPRO for Linux MySQL HowTo

Transcription:

+ Xenで仮想化クラスタリングしてみよう! 2010 年 2 月 26 日 Linux-HA-Japanプロジェクト田中崇幸 Linux-HA-Japan Project 1

本日の話題 1 って何? 2 3 4 5 仮想化クラスタリング構成仮想化クラスタリング応用構成編 Linux-HA-Japanプロジェクトについて参考情報 Linux-HA-Japan project 2

1 って何? Linux-HA-Japan project 3

とは? オープンソースで実現する高可用性クラスタリングソフトウェアです は サービスの可用性向上ができる HA クラスタを可能とした コストパフォーマンスに優れたオープンソースのクラスタリングソフトウェアです Linux-HA-Japan project 4

概要 は 故障発生を検知し 待機系サーバへフェイルオーバさせることが可能です サービス利用者には故障を意識させずにサービスを継続して提供することが可能です Active Standby フェイルオーバ Active ハートビート 故障発生 故障 ハートビート 共有ディスク 共有ディスク Linux-HA-Japan project 5

基本的動作 : ノード監視 相手ノードの監視 一定間隔で相手ノードと通信し 相手ノードの生死を確認します ( ハートビート通信 ) 相手ノードと通信できなくなった場合に 相手はダウンしたと判断し フェイルオーバ処理を行います ACT ノード SBY ノード ACT ノード SBY ノード リソース 生きてる? リソース リソース リソース 故障 生きてるよ! ハートビート通信断 ノード断 Linux-HA-Japan project 6

リソース リソースエージェント とは? リソース ではよく出てくる言葉なのでおぼえてください! HA クラスタにおけるリソースとは サービスを提供するために必要な構成要素の事で が起動 停止 監視等の制御対象とするアプリケーション NIC ディスク等を示します Linux-HA-Japan project 7

リソースエージェント (RA) リソースエージェント (RA) とは そのリソースと を仲介するプログラムになり 主にシェルスクリプトで作成されています は リソースエージェントに対して指示を出し リソースの起動 (start) 停止 (stop) 監視 (monitor) の制御を行います Linux-HA-Japan project 8

基本的動作 : リソース制御 リソースの制御 : 起動 (start) 停止 (stop) 監視 (monitor) 起動後は一定間隔で監視 正しく動作していない場合にはフェイルオーバ等の処理を実施します 生きてる? ACT ノード リソース 生きてるよ! SBY ノード リソース 生きてる? ACT ノード 故障 リソース SBY ノード リソース 開始 リソースが壊れたな リソースを SBY 側で起動してサービス継続して! Linux-HA-Japan project 9

では Web 系 DB 系 ネットワーク系 ファイルシステム系等のリソースエージェントがなど 標準で多数用意されています MySQL や や Tomcat 用のリソースエージェントなどもありますよ! 標準リソースエージェントの一例 分類 リソース リソースエージェント (/usr/lib/ocf/ resource.d/heartbeat/) ファイルシステム系ディスクマウント Filesystem DB 系 PostgreSQL pgsql Web 系 Apache apache ネットワーク系 仮想 IPアドレス IPaddr Linux-HA-Japan project 10

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 11

例 ) と PostgreSQL リソース エージェントの関係 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 12

2 仮想化クラスタリング 構成 ここからやっと本番? Linux-HA-Japan project 13

話を進めるにあたってまずは仮想化を行うターゲットの構成を決めます Linux-HA-Japan project 14

仮想化のターゲットとする HA 構成 ここでは 異なる 2 つのサービスでクラスタ化されている 4 台ノード構成を Xen でサーバ統合する構成を考えてみます サービスA 仮想 IP ACT ノード サービス A 系クラスタグループ SBY ノード サービス LAN サービスB 仮想 IP ACT ノード サービス B 系クラスタグループ SBY ノード クライアント リソース A リソース A リソース B リソース B ハートビート LAN1 ハートビート LAN2 ハートビート LAN1 ハートビート LAN2 Linux-HA-Japan project 15

ACT ノードには サービス LAN 側に からサービス提供用仮想 IP IPアドレスが付与され クライアントへサービスが提供されているとします クライアント サービスA 仮想 IP ACT ノード サービス A 系クラスタグループ SBY ノード サービス LAN サービスB 仮想 IP ACT ノード サービス B 系クラスタグループ SBY ノード リソース A リソース A リソース B リソース B ハートビート LAN1 ハートビート LAN2 ハートビート LAN1 ハートビート LAN2 Linux-HA-Japan project 16

サービスA 仮想 IP ACT ノード サービス A 系クラスタグループ SBY ノード すべてのノードで サービス LAN ハートビート LAN は別経路が用意され それぞれの LAN は冗長化されているとします リソース A リソース A ハートビート LAN1 ハートビート LAN2 Linux-HA-Japan project 17

サービス A サービス B と 4 ノードで別々のサービスが提供されているクラスタグループを Xen により仮想化してサーバ統合する構成を考えます クライアント サービスA 仮想 IP ACT ノード サービス A 系クラスタグループ SBY ノード サービス LAN サービスB 仮想 IP ACT ノード サービス B 系クラスタグループ SBY ノード リソース A リソース A リソース B リソース B ハートビート LAN1 ハートビート LAN2 ハートビート LAN1 ハートビート LAN2 Linux-HA-Japan project 18

このターゲットで仮想化クラスタリングの HA 構成を考えてみました Linux-HA-Japan project 19

を各 Domain-U のゲスト OS にインストールし ノード間の Domain-U でハートビート通信を行い HA クラスタを構成します ACT 系 Domain-U サービス LAN Domain-0 ACT ノード Domain-U [ サービス A] リソース A Domain-U [ サービス B] リソース B リソース監視 Domain-0 SBY ノード Domain-U [ サービス A] リソース A Domain-U [ サービスB] リソースリソースB b リソースエージェント リソースエージェント リソースエージェント リソースエージェント ハートビート通信 ハートビート LAN Linux-HA-Japan project 20

リソース監視方法など 物理環境と同様にリソースの制御が実現できます! ACT 系 Domain-U Domain-0 ACT ノード Domain-U [ サービスA] リソースA Domain-U [ サービス B] リソース B リソースエージェント リソースエージェント ハートビート通信 Linux-HA-Japan project 21

サービス層であるリソース監視のみで 仮想マシン層である Domain-U の監視が行われていないが? ACT 系 Domain-U Domain-0 ACT ノード Domain-U [ サービスA] リソースA Domain-U [ サービスB] リソースB リソースエージェント リソースエージェント ハートビート通信 Linux-HA-Japan project 22

Domain-U が停止している またはホスト OS である Domain-0 が停止している場合は ハートビート通信断によりフェイルオーバ処理が行われます Domain-0 ACT ノード Domain-U [ サービスA] リソースA Domain-U [ サービスB] リソースB 構成に面白味は無いけど Domain-U を物理環境 ( ハードウェア ) とみなすシンプルな構成ですね! Domain-0 SBY ノード Domain-U [ サービス A] リソース A Domain-U [ サービスB] リソースリソースB b リソースエージェント リソースエージェント リソースエージェント リソースエージェント ハートビート通信断 ノード断 Linux-HA-Japan project 23

仮想化クラスタリングに適した ネットワークの構成を 考えてみました Linux-HA-Japan project 24

仮想ブリッジと bonding 構成 ネットワークの冗長化は Domain-0 で bonding を構成し 仮想ブリッジと接続することで実現可能です Domain-U は bonding と結び付けられている仮想ブリッジに接続させるだけで bonding による冗長化の効果を得ることができます ACT ノード bond0 Domain-U eth0 Domain-0 vif0.0 vif1.0 xenbr0 pbond0 eth0 eth1 外部ネットワーク ( サービス LAN) サービス LAN 側は この bonding 構成により冗長化します Linux-HA-Japan project 25

仮想化クラスタリングのネットワーク構成 ACT ノード SBY ノード サービス A Domain-U サービス B Domain-U bond0 Domain-0 eth2 eth3 eth0:0 eth0 eth1 eth2 eth0:0 eth0 eth1 eth2 xenbr0 pbond0 xenbr1 xenbr2 eth0 eth1 peth2 peth3 サービス LAN ハートビート LAN1 ハートビート LAN2 eth0 eth1 peth2 peth3 pbond0 xenbr1 xenbr2 Domain-0 xenbr0 bond0 eth2 eth3 eth0 eth1 eth2 eth0 eth1 eth2 サービス A Domain-U サービス B Domain-U Linux-HA-Japan project 26

サービス A Domain-U サービス B Domain-U Domain-U のサービス LAN 側インターフェース (eth0) ACTノードは bonding デバイス (pbond0) に接続している仮想ブリッジ xenbr0 に接続します eth0:0 eth0 eth1 eth2 eth0 eth1 eth2 bond0 eth2 eth3 eth0:0 Domain-0 xenbr0 pbond0 xenbr1 xenbr2 eth0 eth1 peth2 peth3 サービス LAN ハートビート LAN1 ハートビート LAN2 Linux-HA-Japan project 27

サービス提供用の仮想 IP IPアドレスは Domain-U の ACT から起動されるノード IPaddr リソースエージェントにより eth0 に付与します ( リソースエージェントにより eth0:0 が作成される ) サービス A Domain-U サービス B Domain-U Domain-0 サービスLAN ( リソースエージェントにより bond0 eth0:0 eth0 が作成される ) eth2 xenbr0 pbond0 eth3 eth1 eth0:0 eth0 eth1 eth2 eth0:0 eth0 eth1 eth2 xenbr1 xenbr2 peth2 peth3 ハートビート LAN1 ハートビート LAN2 Linux-HA-Japan project 28

サービス A Domain-U サービス B Domain-U ACT ノード 接続します Domain-0 bond0 eth0:0 eth0 eth1 eth2 eth0 eth1 eth2 eth2 eth3 eth0:0 ハートビート LAN は 物理環境と同じく 2 系統とするため 仮想ブリッジをさらに 2 系統 ( xenbr1,, xenbr2 ) 作成して 接続します xenbr1 xenbr0 pbond0 xenbr1 xenbr2 eth0 eth1 peth2 peth3 サービス LAN ハートビート LAN1 ハートビート LAN2 Linux-HA-Japan project 29

2 つの異なるクラスタグループで ハートビート LAN の物理線を共有するため ハートビート通信用 ACTノード UDP ポートを分け ブロードキャストパケットが混在しないようにする必要があります Domain-0 サービス A Domain-U サービス B Domain-U eth0:0 eth0 eth1 eth2 eth0 eth1 eth2 bond0 eth2 eth3 eth0:0 xenbr0 pbond0 xenbr1 xenbr2 eth0 eth1 peth2 peth3 サービス LAN ハートビート LAN1 ハートビート LAN2 Linux-HA-Japan project 30

ハートビート通信用ポートを変更するためには の基本設定ファイル (/etc/ha.d/ha.cf) に 異なるポート番号の設定が必要です サービス A: /etc/ha.d/ha.cf crm crmon on use_logd on on udpport 694 694 keepalive 2 warntime 20 20 deadtime 24 24 initdead 48 48 bcast eth1 eth1 bcast eth2 eth2 node srv-a01 node srv-a02 ハートビート LAN 用に異なるポート番号を設定します 同一ポート番号でも動作しますが ログに Warning が多数出力されます... サービス B: /etc/ha.d/ha.cf crm crmon on use_logd on on udpport 1694 keepalive 2 warntime 20 20 deadtime 24 24 initdead 48 48 bcast eth1 eth1 bcast eth2 eth2 node srv-b01 node srv-b02 Linux-HA-Japan project 31

仮想ネットワークの設定方法 ブリッジ作成用カスタムスクリプト (network-custom-hoge) を新規に作成します /etc/xen/scripts/network-custom-hoge の例 #!/bin/bash script=/etc/xen/scripts/network-bridge $script start vifnum=0 bridge=xenbr0 netdev=bond0 $script start vifnum=1 bridge=xenbr1 netdev=eth2 $script start vifnum=2 bridge=xenbr2 netdev=eth3 仮想ブリッジ xenbr0 に物理デバイス bond0 を関連付ける Linux-HA-Japan project 32

Xen デーモンの構成ファイル (xend-config.sxp) を修正して 作成したカスタムスクリプト (network-custom-hoge) を読み込ませるように設定します 設定後 Domain-0 を再起動させると新しい仮想ブリッジが作成されます /etc/xen/xend-config.sxp の修正箇所 #(network-script network-bridge) (network-script network-custom-hoge) 新規に作成したスクリプト名を記載する Xen 仮想ブリッジの作成方法は HA に特化した設定ではなく インターネット上では多数紹介されています! Linux-HA-Japan project 33

あとは 物理環境と同様に を設定して 起動するだけ! # service heartbeat start Starting High-Availability service: [OK] Linux-HA-Japan project 34

3 仮想化クラスタリング 応用構成編 Linux-HA-Japan project 35

仮想化クラスタリングでの STONITH 構成を 考えてみました Linux-HA-Japan project 36

STONITH とは? STONITH とは Shoot The Other Node In The Head の略であり 不具合のあるノードを強制的にそのノードをダウンさせる機能です コントロールが利かないノードを から STONITH プラグインを通じて 強制的に離脱 させることにより リソースの 2 重起動を防ぎます 確実にノードを強制離脱させるために サービスを提供する OS とは別経路の HW 制御ボード を用いた電源操作を推奨します Linux-HA-Japan project 37

HW 制御ボードの例 IBM 社 リモート管理アダプター Ⅱ SlimLine RSAⅡ System x 3650 ( 旧モデル ) 等にオプションで搭載が可能 Integrated Management Module IMM System x 3650 M2 ( 新モデル ) 等に標準搭載 HP 社 Integrated Lights-Out 2 ilo2 ProLiant DL380 G6 等に標準搭載 ilo2 Linux-HA-Japan project 38

フェイルオーバ時に STONITH 機能が発 動されるまでの流れ 1 1 フェイルオーバ時に ACT ノードのリソース停止処理が NG となる事象が発生 OS 1 停止失敗 ACT ノード リソース STONITH プラグイン 電源ユニット HW 制御ボード L2SW HW 制御ボード SBY ノード STONITH プラグイン 電源ユニット リソース OS Linux-HA-Japan project 39

フェイルオーバ時に STONITH 機能が発 動されるまでの流れ 2 2 検知した が SBY ノードの に状態を伝達 OS 1 停止失敗 ACT ノード リソース STONITH プラグイン HW 制御ボード 2 L2SW SBY ノード STONITH プラグイン HW 制御ボード リソース OS 電源ユニット 電源ユニット Linux-HA-Japan project 40

フェイルオーバ時に STONITH 機能が発 動されるまでの流れ 3 3 SBY ノードの が STONITH プラグインを通じ 故障発生サーバの HW 制御ボードを操作して強制電源断 OS 1 停止失敗 ACT ノード リソース STONITH プラグイン HW 制御ボード 2 L2SW 3 SBY ノード STONITH プラグイン HW 制御ボード リソース OS 電源ユニット 電源ユニット Linux-HA-Japan project 41

フェイルオーバ時に STONITH 機能が発 動されるまでの流れ 4 4 強制電源断成功後 リソースが起動 電源 OFF OS 1 停止失敗 ACT ノード リソース STONITH プラグイン HW 制御ボード 2 L2SW 3 SBY ノード STONITH プラグイン HW 制御ボード リソース OS 4 電源ユニット 電源ユニット Linux-HA-Japan project 42

STONITH プラグイン には 様々な 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 IPMI とはとは サーバー プラットフォームの状態 (( 温度 電圧 ファン バスなど )) 監視や復旧 リモート制御を行うための標準インターフェイス仕様 Linux-HA-Japan project 43

xen0 STONITH プラグイン (/usr/lib64/stonith/plugins/external/xen0) HW 制御ボード操作の代わりに SSH 経由で xm destroyコマンドを Domain-0からDomain-Uの強制断を行うSTONITHプラグインが標準装備されています Domain-0 SSH ACT ノード Domain-U [srv-a01] 停止失敗 リソース STONITH プラグイン SSH で対向ノードの Domain-0 にログインして SBYノード xm destroy を実行 L2SW # xm destroy srv-a01 Domain-U [srv-a02] STONITH プラグイン リソース Linux-HA-Japan project 44

しかし Domain-0にSSHログイン不可な故障状態ならば STONITH 機能の発動ができないのでは? Linux-HA-Japan project 45

STONITH エスカレーション機能 SSH でログイン出来ない場合でも STONITH 機能拡張プラグインによるエスカレーション機能により HW 制御ボードを利用して強制離脱させる事が可能になります Linux-HA-Japan プロジェクトより機能拡張プラグインを 3 月公開予定!! Linux-HA-Japan project 46

1 仮想環境でのSTONITH 発動時 SSHで対向ノードへのログインが失敗 SSH でログイン失敗 ACT ノード SBY ノード Domain-0 Domain-U [srv-a01] Domain-U [srv-a02] SSH 停止失敗 STONITH 機能拡張プラグイン リソース L2SW STONITH 機能拡張プラグイン リソース HW 制御ボード HW 制御ボード 電源ユニット 電源ユニット Linux-HA-Japan project 47

2 SSHログインが失敗した場合 エスカレーション機能で物理環境と同様にHW 制御ボードを操作して強制電源断を行う HW 制御ボードを操作して強制電源断 SBYノード ACT ノード Domain-0 Domain-U [srv-a01] Domain-U [srv-a02] SSH 停止失敗 STONITH 機能拡張プラグイン リソース L2SW STONITH 機能拡張プラグイン リソース HW 制御ボード HW 制御ボード 電源ユニット 電源ユニット Linux-HA-Japan project 48

4 Linux-HA-Japan プロジェクトについて Linux-HA-Japan project 49

Linux-HA-Japan プロジェクトの経緯 ( ハートビート ) の日本における更なる普及展開を目的として 2007 年 10 月 5 日 Linux-HA () 日本語サイト を設立しました その後 日本での Linux-HA コミュニティ活動として -2.* の rpm バイナリと 機能追加パッケージを提供しています Linux-HA-Japan project 50

Linux-HA-Japan プロジェクト URL SourceForge.JP に開設中 http://sourceforge.jp/projects/linux-ha/ RHEL 用 -2.* rpm バイナリの提供や 機能追加パッケージ類を GPL ライセンスにて公開しています 共有ディスク排他制御機能 (SFEX) や ディスク監視デーモン等が提供中で これからも多数の追加パッケージ公開を予定しています Linux-HA-Japan project 51

本家 Linux-HA サイト http://www.linux-ha.org/wiki/main_page/ja Linux-HA-Japan プロジェクトのサイトとは 相互リンクを張っていきます Linux-HA-Japan project 52

の次期バージョンって どうなっているの? Linux-HA-Japan project 53

Pacemaker 2.x リソース制御部 Tengine CRM Pengine CCM RA 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 54

Corosync OpenAIS リソース制御部 クラスタ制御部 OpenAIS コミュニティによって開発されたクラスタソフトである OpenAIS のクラスタ制御部は Corosync として分離されました Corosync Linux-HA-Japan project 55

Pacemaker 単独で動作させるのではなく 複数のコンポーネントの組み合わせとして提供されます 開発コミュニティでは クラスタソフトウェア間でのコンポーネントの共通化を行い コミュニティを統合していくという流れになっています Pacemaker Pacemaker + Corosync Pacemaker 共通コンポーネント Corosync Pacemaker + 3.x Pacemaker 共通コンポーネント 3.x 現在開発中長期的には全てこちらに移行 2010/2/1 リリース済み大幅な機能改善はなし短期的な中継ぎの位置づけ Linux-HA-Japan project 56

HA クラスタ開発コミュニティの状況 ユーザが利用可能な HA クラスタ機能 SUSE 主導 RedHat 主導 2.1.4 OpenAIS コミュニティ 2.1.4 SLES11 HAE 1 Pacemaker コミュニティ Pacemaker 1.0.4 2.99.2 コミュニティ OpenAIS 0.80.5 OpenAIS 1.1.1 Corosync 1.2.0 agents, glue 2.99.2 Pacemaker + Corosync ( 開発版 ) Pacemaker 1.0.7 2010 年 2 月時点 Pacemaker + agents, glue 1.0.2 3.0.2 Pacemaker + Corosync Pacemaker 1.0.x Corosync 1.2.x 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 2 RHCS 6.x 2 Linux-HA-Japan project 57

Pacemaker ロゴアンケート実施中 Linux-HA-Japan プロジェクトでは 次期クラスタソフトウェア Pacemaker のロゴを作成中です 投票サイトに5つ案を載せましたので どれが良いか皆さんの投票をお待ちしています! ロゴの案 紹介ページ http://sourceforge.jp/projects/linux-ha/wiki/pm_logo アンケートページ アンケート実施期間 2010 年 3 月 1 日まで http://www.efeel.to/survey/linux-ha-japan-logo/ Linux-HA-Japan project 58

Linux-HA-Japan メーリングリスト 日本における についての活発な意見交換の場として Linux-HA-Japan 日本語メーリングリスト も開設しています Linux-HA-Japan ML では Pacemaker 3.0 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 59

さいごに Linux-HA-Japan project 60

Linux-HA-Japanプロジェクトでは様々な 設定例や追加パッケージなどのコンテンツを載せていき Linux-HA-Japan project 61

や次期クラスタソフトPacemaker Corosyncの普及展開を推し進めます Linux-HA-Japan project 62

ぜひメーリングリストに登録して HAクラスタの活発な意見交換を交わしましょう! Linux-HA-Japan project 63

Linux-HA-Japan 検索 http://sourceforge.jp/projects/linux-ha/ Linux-HA-Japan project 64

5 参考情報 Linux-HA-Japan project 65

のインストール方法は? CentOS5 系 (RHEL5 系 ) ならば インストールは簡単! -2.1.4-1 の rpm パッケージを Linux-HA-Japan プロジェクトからダウンロード heartbeat-2.1.4-1.rhel5.x86_64.rpms.tar.gz heartbeat-2.1.4-1.x86_64.rpm stonith-2.1.4-1.x86_64.rpm pils-2.1.4-1.x86_64.rpm 用ユーザ / グループの設定 グループ : haclient / gid:90 ユーザ名 : hacluster / uid:90 上記 Tarball には他 rpm ファイルもありますが 最低限これだけを入れれば OK! ダウンロードした rpm ファイルを rpm コマンドでインストール Linux-HA-Japan project 66

Linux-HA-Japan プロジェクト提供の rpm ダウンロードサイト http://sourceforge.jp/projects/linux-ha/releases/?package_id=10606 Linux-HA-Japan project 67

の設定方法は? /etc/ha.d/ha.cf の基本的な動作情報 クラスタ内の全ノードに同じ内容のファイルを配置 crm crmon on use_logd on on udpport 694 694 keepalive 2 warntime 20 20 deadtime 24 24 initdead 48 48 bcast eth1 eth1 bcast eth2 eth2 node srv01 node srv02 ー Ver.2 モードで動作させるー log logデーモンを使ってログを出力ーハートビート通信にポート 694 694を使用ーハートビート間隔を 2 秒に設定ー警告発信用ハートビート不通時間を 20 20 秒に設定ーノードが死んだと判断する時間を 24 24 秒に設定ー node で指定された全ノードの起動を待つ時間を 48 48 秒に設定ハートビート通信に bcast を使用し I/F I/Fに eth1,eth2 を使用クラスタを構成するノード名が srv01 srv02 Linux-HA-Japan project 68

/etc/logd.cf のログ出力先を指定 クラスタ内の全ノードに 同じ内容のファイルを配置 /etc/ha.d/authkeys クラスタを構成する認証キーを保持するファイル 認証キーが同じノード群でクラスタを構成 クラスタ内の全ノードに 同じ内容のファイルを配置 Linux-HA-Japan project 69

/var/lib/heartbeat/crm/cib.xml cib.xml = 主に リソースの定義を設定するxmlファイル どのようなリソースをどのように扱うか 起動 監視 停止時に関連する時間 リソースの配置などを指定 cib.xml の記法 (DTD) を知る必要があり難しい...... <constraints> (.. (.. 略..)..) <rsc_location id="rul_dk_dsc" rsc="grp_pgsql"> <rule <rule id="prefered_rul_dk_dsc" score="-infinity" boolean_op="and"> <expression attribute="diskcheck_status" id="dkstatus1" operation="defined"/> <expression attribute="diskcheck_status" id="dkstatus2" operation="eq" value="error"/> </rule> </rule> </rsc_location> (.. (.. 略..)..) </constraints> Linux-HA-Japan project 70

cib.xml はもう恐くない! 複雑な XML 形式の設定も hb-cibgen で解決! Ver.2 では DBMS 等のリソース構成や動作は cib.xml で記述します この cib.xml が複雑なので なかなか手が出せないという声がありました hb-cibgen を使用すれば Excel ファイルから cib.xml を簡単に生成する事が可能です Linux-HA-Japan project 71

cib.xml 編集ツールを使おう! hb-cibgen のパッケージ (zip ファイル ) を Linux-HA-Japan プロジェクトのサイトからダウンロード hb-cibgen-1.03-1_1-noarch.zip hb-cibgen-1.03-1.noarch.rpm hb_cibgen 本体 hb_cibgen_env_1.03-1_1.xls テンプレートファイル (Excel 形式 ) hb-cibgen 本体の rpm ファイルを rpm コマンドでインストール 1 テンプレート作成 2csv ファイル作成 3hb_cibgen コマンド実行により 簡単に xml ファイルが生成可能! Linux-HA-Japan project 72

詳しくは cib.xml 編集ツールの 公開 wiki を参照しましょう! http://sourceforge.jp/projects/linux-ha/wiki/hb-cibgen Linux-HA-Japan project 73

Xen リソースエージェント (/usr/lib/ocf/resource.d/heartbeat/xen) Domain-0から 標準の Xen リソースエージェントを使用して仮想マシンを監視させることができますが サービス LAN ACT 系 Domain-U Domain-0 リソースエージェント (Xen) ACT ノード Domain-U [ サービス A] リソース A Domain-U [ サービス B] リソース B 仮想マシン監視 Domain-0 リソースエージェント (Xen) SBY ノード Domain-U [ サービス A] リソース A Domain-U [ サービスB] リソースリソースB b ハートビート通信 ハートビート LAN Linux-HA-Japan project 74

このリソースエージェントによる監視では Domain-0 から xm list コマンドの結果を参照するのみなので Domain-U 内の詳細な稼動状態がわからない Xen リソースエージェント監視 (monitor) 処理の抜粋 #!/bin/sh ( 省略省略 ) # we we have have Xen Xen 3.0.3 or or lower STATUS=`xm list list --long $1 $1 2>/dev/null grep grep state 2>/dev/null` echo echo "${STATUS}" grep grep -qs -qs "[-r][-b][-p]---" if if [ $? $? -ne -ne 0 ]; ]; then then return $OCF_NOT_RUNNING xm xmlist の結果から Domain-U が が else else r r (running), b (blocked), p (paused) return $OCF_SUCCESS かどうかの状態しか判断していない fi fi ( 省略省略 ) Linux-HA-Japan project 75

ACT 系 Domain-U 仮想マシン内が異常であるかどうかは Domain-0 のレイヤからは検出できない Domain-0 リソースエージェント (Xen) ACT ノード Domain-U [ サービス A] Domain-U [ サービス B] リソースA リソースB?? ハートビート通信 Linux-HA-Japan project 76

監視対象は ACT 系 Domain-U の仮想マシンであり Domain-U 内のリソース監視を行うことができない ACT 系 Domain-U Domain-0 リソースエージェント (Xen) ACT ノード Domain-U [ サービス A] Domain-U [ サービス B] リソース? A リソース? B 仮想マシンを 仮想マシンをいちリソースとみなす構成 これでは高可用性のシステムは構築できませんね ムは構築できませんね ハートビート通信 Linux-HA-Japan project 77

デバイス一括監視機能 Domain-U のディスク I/O 処理は Xen Hyperviosr と Domain-0 経由のため Domain-U のゲスト OS からではディスク故障検出ができない場合がありました デバイス一括監視機能は ホスト OS の Domain-0 にディスクや ping 監視機能を搭載する事が可能なため 故障検出をより確実に行うことが可能になります Linux-HA-Japan プロジェクトより 3 月公開予定!! Linux-HA-Japan project 78

デバイス一括監視機能による 内蔵ディスク監視の例 Domain-0 デバイス一括監視機能 ディスク監視 ACT ノード Domain-U [ サービス A] リソース A 故障を検出した場合は 各 Domain-U の へ故障情報を通知する Domain-U [ サービス B] リソース B Xen Hyperviosr 内蔵ディスク Domain-0 からディスク監視を行う Linux-HA-Japan project 79