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

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

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

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

HAクラスタでPostgreSQLを高可用化(前編)

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

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

Pacemaker + KVMで仮想化クラスタリング ~仮想化連携機能のご紹介~ OSC2011Tokyo/Fall

テーマ Pacemaker-1.1 を味わうための 便利 な使い方 ~ 保守運用に活用しよう ~ Pacemaker で対応する 故障 ケースの起こし方と復旧手順 ~ 事前に動作検証しよう ~ 実際の構築運用シーンで起きる問題の 解決 方法 ~ よくある問題を理解しよう ~ 2

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

スライド 1

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

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

SRA OSS, Inc. ホワイトペーパー IBM Power Systems (Linux) における PaceMaker/DRBD/PostgreSQL/pgpool-II 動作検証 2011 年 10 月 1 日 SRA OSS,Inc. 日本支社 Copyright 2011SRA OSS

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

AutoSlideGenerator

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

Pacemake-1.0とは違うのだよ、1.0とは! ~Pacemaker-1.1新機能のご紹介~

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

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

スライド 1

Pacemakerでお手軽Dockerクラスタリング!

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

JTF2014-LPI-KDC-LPIC3-LPI304seminar

2

100123SLES11HA.pptx

はじめに どのような人に聞いてほしいか PostgreSQLを使っている人 PostgreSQLの可用性を上げたいと思っている人 可用性構成は難しそうだと思っている人 とりあえずPostgreSQLの高可用性構成を構築する手順 について説明 とりあえず 細かいことは置いておく スプリットブレイン S

XEN 仮想マシンの移植 Islandcenter.jp 2009/04/14 既に作成済みの XEN 仮想マシンを移植する方法を説明します 仮想マシンイメージは 通常 /var/lib/xen/image/myvmachine に作成されていますが このファイルを tar 圧縮してリムーバブルメデ

CLUSTERPRO/システム構築ガイド

A : kerl kerl Erlang/OTP Erlang/OTP 2 2 Elixir/Phoenix URL 2 PDF A.2 Bash macos.bash_profile exp

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

CLUSTERPRO ファイルサーバ監視オプション編

スライド 0

Microsoft Word - HAクラスタ構築手順書.doc

Microsoft iSCSI Software Targetを使用したクラスタへの共有ディスク・リソースの提供

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

目次 1 はじめに 対象読者 想定するサーバ環境 注意事項 OS 環境の準備 CentOS 6.2 のインストールと初期設定 Thirdware Linux-HA クラスタスタックのインストール...2 RH

needlework_update_manual_rev1.4

URoad-TEC101 Syslog Guide

スライド 1

Microsoft Word - qtsi_120246jp_rhev.doc

Administration of Veritas Cluster Server 6.0 for UNIX の管理練習問題 例題 1. installvcs -installonly が正常に実行されたことが記録されるテキストファイルは次のどれですか (2 つ選択 ) a. インストールログ b.

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

DHCPサーバのクラスタ化

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

Microsoft Word - ssVPN MacOS クライアントマニュアル_120版.doc

ユーザーズマニュアル 有線ネットワークシステム 発行日 2016 年 3 月 30 日

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

McAfee Application Control ご紹介

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

目次 1 はじめに 利用ソフトウェア 用語について 本書について SoftLayer 構成 構成図 OS/ ソフトウェア情報 SoftLayer 環境 SoftLayer 設定

PostgreSQL Plus 管理者ガイド

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

Microsoft Word - PSM51 and ontap83_config_831jp.doc

App Bridge Monitor Linux Agent インストールガイド Ver.1.9.0

GenieATM 6300-T / 6200-T シリーズ 1. 基本的な機器オペレーションのために 1-1. 機器への接続 機器への接続方法は 以下の 2 通りがあります シリアルポートを使用してログインする LAN 経由で Telnet または SSH を使用して仮想 Interface からロ

CLUSTERPRO MC StorageSaver istorage M シリーズ使用時の設定手順 (HP-UX 版 Linux 版 Windows 版 ) 2013(Sep) NEC Corporation istorage M シリーズを使用する場合の StorageSaver 設定手順 (H

スライド 0

Microsoft Word - nvsi_090203_r1_sanboot_vaultdr.doc


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

Perle社 ターミナルサーバIOLAN STS8と富士通PCサーバ PRIMERGY RX2520 M1 の接続検証結果報告書(Red Hat Enterprise Linux 6.6(for Intel64)版)

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

音声認識サーバのインストールと設定

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

Microsoft Word - nvsi_040063jp_hpsglx.doc

Microsoft Word - クライアントのインストールと接続設定

<48554C46545F F A5490E08E9197BF2E786C73>

CLUSTERPRO MC StorageSaver istorage M シリーズ使用時の設定手順 (HP-UX 版 Linux 版 Windows 版 ) 2013(Apr) NEC Corporation istorage M シリーズを使用する場合の StorageSaver 設定手順 (H

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

Maser - User Operation Manual

日本 PostgreSQL ユーザ会第 28 回しくみ + アプリケーション勉強会 Zabbix を使って PostgreSQL を監視してみよう 2014 年 2 月 1 日 TIS 株式会社中西剛紀 (Yoshinori Nakanishi)

rndc BIND DNS 設定 仕組み

Windows(R) Storage Server 2003 R2 iSCSI Software Target パック 留意事項

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

GresCube で快適 PostgreSQL ライフ 2013 年 11 月 8 日 NTT データ藤井雅雄 PostgreSQL カンファレンス 2013 Copyright 2013 NTT DATA Corporation

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

How to Install and Configure Panorama Panorama のインストールと設定 Panorama は Palo Alto Networks のサポートサイトからダウンロード可能な VMware イメージです 本書は Panorama のインストールと Panora

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

PowerPoint プレゼンテーション

LifeKeeperサポートへの問い合わせ

Microsoft PowerPoint - Tutorial_2_upd.ppt

Microsoft Word - GoNET-MIS_評価環境構築マニュアル_ver docx

平成22年度「技報」原稿の執筆について

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

Hi-Available Mail on CLUSTERPRO for Linux HOWTO

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

ServerView ESXi CIM Provider VMware ESXi 4インストールガイド

CLUSTERPRO X IIJ GIO インフラストラクチャー P2 動作検証報告 2017 年 11 月日本電気株式会社クラウドプラットフォーム事業部 CLUSTERPROグループ 1 NEC Corporation 2017

人と地球にやさしい情報社会を イノベーションで実現する グローバルリーディングカンパニー NEC グループビジョン 2017 Page 2

CLAIM接続利用手順

スライド 1

Hyper-V 仮想マシンの設定

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

Cisco Unified Communications Manager サーバ アドレスとユーザ名の自動的な入力

付録

スライド 1

rndc BIND

Microsoft Word - nvsi_090200jp_r1_nvbsvr_mscs.doc


はじめに

Transcription:

Pacemaker で かんたんクラスタリング 体験してみよう! ~ 仮想環境で運用デモしますよ編 ~ 2011 年 7 月 16 日 OSC2011 Kansai@Kyoto Linux-HA Japan プロジェクト田中崇幸 Linux-HA Japan Project 1

自己紹介 名前 : 田中崇幸 (Takayuki Tanaka) Twitter: @tanakacchi21 所属 : Linux-HA Japan プロジェクト コミュニティ旗揚時のメンバー Pacemaker 普及促進のため OSC での講演で全国行脚中 趣味 : マラソン 念願のサブスリーを達成したばかりの市民マラソンランナー 8 月 : 北海道マラソン 10 月 : 大阪マラソン出場予定 Linux-HA Japan Project 2

本日のお話 1 Linux-HA Japanについて 2 本日のPacemakerデモ環境 3 crm_monを使おう! 4 ログメッセージ制御機能を使おう! 5 いろいろデモします! Linux-HA Japan Project 3

1 Linux-HA Japan について Linux-HA Japan Project 4

Linux-HA Japan URL http://linux-ha.sourceforge.jp/ ( 一般向け ) http://sourceforge.jp/projects/linux-ha/ ( 開発者向け ) Pacemaker 情報の公開用として随時情報を更新中です このサイトより Pacemaker リポジトリパッケージがダウンロード可能です 本日の資料 デモ用設定ファイルもこのサイトから公開予定です! Linux-HA Japan Project 5

Linux-HA Japan メーリングリスト 日本における HA クラスタについての活発な意見交換の場として Linux-HA Japan 日本語メーリングリスト も開設しています Linux-HA-Japan ML では Pacemaker Heartbeat3 Corosync DRBD など HA クラスタに関連する話題は歓迎! ML 登録用 URL http://linux-ha.sourceforge.jp/ の メーリングリスト をクリック ML アドレス linux-ha-japan@lists.sourceforge.jp スパム防止のために 登録者以外の投稿は許可制です Linux-HA Japan Project 6

に連載しました! Pacemaker でかんたんクラスタリング 体験してみよう! http://gihyo.jp/admin/serial/01/pacemaker 合計 5 回の連載で Pacemaker の概要説明から構築方法 保守運用にいたるまで紹介しています Linux-HA Japan Project 7

2 本日の Pacemaker デモ環境 Linux-HA Japan Project 8

本日の Pacemaker デモ環境 ハードウェア ノート PC (Core2Duo 2.26MHz メモリ 2G) OS CentOS 5.6 x86_64 HA クラスタ Pacemaker-1.0.11 (7/5 に最新リポジトリパッケージがリリース ) アクティブ / スタンバイの 2 台構成 クラスタ化するアプリケーション PostgreSQL 9.0.4 仮想環境 Xen (CentOS 5.6 同梱版 ) Domain-U は 2 ドメインで構成 各ドメインには CPU 1 メモリ 480M を割り当て Linux-HA Japan Project 9

Pacemaker デモ構成 サービス LAN pm1: アクティブ pm2: スタンバイ demo (Domain-0) pm1 仮想 IP 192.168.0.100 192.168.0.22 eth1 192.168.10.22 eth2 192.168.20.22 インターコネクト LAN1 インターコネクト LAN2 pm1 192.168.0.23 eth1 192.168.10.23 eth2 192.168.20.23 pm2 172.20.24.21 eth3 172.20.24.22 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 172.20.24.23 172.20.24.21 管理用 LAN Linux-HA Japan Project 10

Pacemaker デモ構成 サービス LAN pm1: スタンバイ pm2: アクティブ demo (Domain-0) pm1 192.168.0.22 eth1 192.168.10.22 eth2 192.168.20.22 インターコネクト LAN1 インターコネクト LAN2 pm2 仮想 IP 192.168.0.100 192.168.0.23 eth1 192.168.10.23 eth2 192.168.20.23 pm2 172.20.24.21 eth3 172.20.24.22 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 172.20.24.23 172.20.24.21 管理用 LAN Linux-HA Japan Project 11

Pacemaker デモ機構成 (Xen 仮想 NW) demo (Domain-0) pm1 (Domain-U) eth1 eth2 eth3 xenbr0 ( サービス LAN 用ブリッジ ) pdummy0 xenbr1 ( インターコネクト LAN1 用ブリッジ ) pdummy1 eth1 eth2 eth3 pm2 (Domain-U) xenbr2 ( インターコネクト LAN2 用ブリッジ ) pdummy2 xenbr3 ( 管理 LAN 用ブリッジ ) p dummy0 dummy1 dummy2 Linux-HA Japan Project 12

Pacemaker デモ機構成 (Xen 仮想ディスク ) pm1 (Domain-U) demo (Domain-0) pm2 (Domain-U) /dev/xvda1 (OS 領域 ) /dev/xvda2 (swap) /dev/xvda pm1 OS 領域 /dev/lvm/pm1 pm2 OS 領域 /dev/lvm/pm2 /dev/xvda /dev/xvda1 (OS 領域 ) /dev/xvda2 (swap) /dev/xvdb1 ( 排他制御 ) /dev/xvdb2 (DB 領域 ) /dev/xvdb 共有データ領域 /dev/lvm/shared-disk1 /dev/xvdb /dev/xvdb1 ( 排他制御 ) /dev/xvdb2 (DB 領域 ) Linux-HA Japan Project 13

Pacemaker デモクラスタ制御部設定 /etc/ha.d/ha.cf pacemaker on on debug 0 udpport 694 694 keepalive 2 warntime 7 deadtime 10 10 initdead 48 48 logfacility local1 bcast eth1 eth1 bcast eth2 eth2 node node pm1 pm1 node node pm2 pm2 watchdog /dev/watchdog respawn root root /usr/lib64/heartbeat/ifcheckd クラスタ制御部の基本設定ファイルで クラスタ内の全サーバに同じ内容のファイルを設置します pm_extras をインストールし ifcheckd の設定を追加すればインターコネクト LAN の接続情報等が確認可能になります Linux-HA Japan Project 14

Pacemaker デモリソース構成 これら 4 つのリソースはグループ設定します ディスク排他制御 (sfex) 共有ディスクの排他制御を行います DB データ領域マウント (Filesystem) 共有ディスクにある DB データ領域のマウント制御を行います 仮想 IP 割り当て (IPaddr2) サービス提供用の仮想 IP を割り当てます PostgreSQL 制御 (pgsql) PostgreSQL 9.0.4 の制御を行います Linux-HA Japan Project 15

本日は STONITH のデモも行います STONITH (stonith-helper, xen0, meatclient) STONITH は Shoot The Other Node In The Head の略で監視対象サーバの異常を検出したときに 強制的にそのサーバをダウンさせるノードフェンシングを行います ネットワーク監視 (pingd) 指定した IP アドレスに ping 送信し ネットワーク疎通があるかどうかの監視を行います ディスク監視 (diskd) 指定したディスクデバイスにアクセスし ディスクの正常性確認を行います Linux-HA Japan Project 16

STONITH 実行例 ( スプリットブレイン ) pm1 切断 pm2 Linux-HA Japan Project 17

STONITH 実行例 ( スプリットブレイン ) あいつ死んだな.. リソース起動しよう! あいつ死んだな.. リソース起動しよう! pm1 切断 pm2 Linux-HA Japan Project 18

STONITH 実行例 ( スプリットブレイン ) STONITH pm1 切断 pm2 インターコネクトとは別の通信経路で に対しリセットを実行 Linux-HA Japan Project 19

STONITH 実行例 ( スプリットブレイン ) STONITH pm1 切断 pm2 OS と連動しない から強制電源断 Linux-HA Japan Project 20

STONITH 実行例 ( スプリットブレイン ) STONITH pm1 切断 pm2 OS と連動しない から強制電源断 Linux-HA Japan Project 21

STONITH 実行例 ( リソース停止失敗 ) リソース故障 pm1 pm2 リソース Linux-HA Japan Project 22

STONITH 実行例 ( リソース停止失敗 ) pm1 pm2 停止処理失敗 リソース リソース故障時 フェイルオーバしようとして リソース停止失敗または停止タイムアウト Linux-HA Japan Project 23

STONITH 実行例 ( リソース停止失敗 ) STONITH pm1 pm2 停止処理失敗 リソース Linux-HA Japan Project 24

STONITH 実行例 ( リソース停止失敗 ) STONITH pm1 pm2 リソース Linux-HA Japan Project 25

STONITH 実行例 ( リソース停止失敗 ) STONITH pm1 リソース pm2 リソース STONITH 成功後 リソースがフェイルオーバ Linux-HA Japan Project 26

Pacemaker デモ機フェンシング (STONITH) 構成 demo (Domain-0) pm1 (Domain-U) STONITH eth1 eth2 eth3 xenbr0 ( サービス LAN 用ブリッジ ) pdummy0 xenbr1 ( インターコネクト LAN1 用ブリッジ ) eth1 eth2 eth3 pm2 (Domain-U) pdummy1 xen0 STONITH プラグインを使用し xenbr3 経由で STONITH を実行する xenbr2 ( インターコネクト LAN2 用ブリッジ ) pdummy2 xenbr3 ( 管理 LAN 用ブリッジ ) p dummy0 xm destroy dummy1pm2 dummy2 SSH Linux-HA Japan Project 27

3 crm_mon コマンド を使おう! Linux-HA Japan Project 28

crm_mon とは? crm_mon は Pacemaker が制御しているサーバ状態やリソース状態 インターコネクト LAN ネットワークの状態を確認できるコマンドです # crm_mon Linux-HA Japan Project 29

crm_mon crm_mon 実行例 ============ Last updated: Fri Jul 8 16:47:51 2011 Stack: Heartbeat Current DC: pm2 (7f1b5dcb-e696-414d-8fca-da79274b0a74) - partition with quorum Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87 2 Nodes configured, unknown expected votes 6 Resources configured. ============ Online: [ pm1 pm2 ] Resource Group: grppg prmex (ocf::heartbeat:sfex): Started pm1 prmfs (ocf::heartbeat:filesystem): Started pm1 prmip (ocf::heartbeat:ipaddr2): Started pm1 prmpg (ocf::heartbeat:pgsql): Started pm1 Resource Group: grpstonith1 prmstonith1-1 (stonith:external/stonith-helper): Started pm2 prmstonith1-2 (stonith:external/xen0): Started pm2 prmstonith1-3 (stonith:meatware): Started pm2 Resource Group: grpstonith2 prmstonith2-1 (stonith:external/stonith-helper): Started pm1 prmstonith2-2 (stonith:external/xen0): Started pm1 prmstonith2-3 (stonith:meatware): Started pm1 Clone Set: clndiskd1 Started: [ pm1 pm2 ] Clone Set: clndiskd2 Started: [ pm1 pm2 ] Clone Set: clnpingd Started: [ pm1 pm2 ] Linux-HA Japan Project 30

crm_mon サーバ状態表示 Pacemaker が稼動しているサーバは Online と表示され 停止しているサーバは OFFLINE と表示されます ============ Last Last updated: Fri Fri Jul Jul 8 16:47:51 2011 2011 Stack: Heartbeat Current DC: DC: pm2 pm2 (7f1b5dcb-e696-414d-8fca-da79274b0a74) - partition with with quorum Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87 2 Nodes configured, unknown expected votes 6 Resources configured. ============ Online: [ pm1 pm1 pm2 pm2 ] クラスタに組み込まれているサーバ名が表示されます Linux-HA Japan Project 31

crm_mon リソース状態表示 ( サービス系リソース ) Pacemaker が制御しているリソースの状態が表示されます リソース稼動状態と稼働中のサーバ名が Started サーバ名 などと表示されます Resource Group: grppg prmex (ocf::heartbeat:sfex): Started pm1 pm1 prmfs (ocf::heartbeat:filesystem): Started pm1 pm1 prmip (ocf::heartbeat:ipaddr2): Started pm1 pm1 prmpg (ocf::heartbeat:pgsql): Started pm1 pm1 prmex: ディスク排他制御 (sfex) prmfs: DBデータ領域マウント (Filesystem) prmip: 仮想 IP 割り当て (IPaddr2) prmpg: PostgreSQL 制御 (pgsql) Linux-HA Japan Project 32

サービス系リソース 仮想 IP 192.168.0.100 サービス LAN pm1 grppg 192.168.0.22 prmex eth1 192.168.10.22 prmfs eth2 192.168.20.22 prmip インターコネクト LAN1 インターコネクト LAN2 192.168.0.23 eth1 192.168.10.23 eth2 192.168.20.23 pm2 172.20.24.21 prmpg eth3 172.20.24.22 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 172.20.24.23 172.20.24.21 管理用 LAN Linux-HA Japan Project 33

crm_mon リソース状態表示 (STONITH リソース ) サービス系リソースと同様に Started サーバ名 と表示されます Resource Group: grpstonith1 prmstonith1-1 (stonith:external/stonith-helper): Started pm2 pm2 prmstonith1-2 (stonith:external/xen0): Started pm2 pm2 prmstonith1-3 (stonith:meatware): Started pm2 pm2 prmstonith1-1: サーバ断確認 相打防止プラグイン (stonith-helper) prmstonith1-2: Xen 用フェンシングプラグイン (xen0) prmstonith1-3: 停止通知用プラグイン (meatware) このデモでは grpstonith1 は pm1 をフェンシングする STONITH リソースのため pm2 で稼動しているのが確認できます Linux-HA Japan Project 34

STONITH リソース サービス LAN pm1 192.168.0.22 grpstonith2 eth1 192.168.10.22 eth2 192.168.20.22 インターコネクト LAN1 インターコネクト LAN2 192.168.0.23 grpstonith1 eth1 192.168.10.23 eth2 192.168.20.23 pm2 172.20.24.21 eth3 172.20.24.22 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 172.20.24.23 172.20.24.21 管理用 LAN Linux-HA Japan Project 35

crm_mon リソース状態表示 ( 監視系リソース ) ディスク状態監視 ネットワーク状態監視は 両方のサーバで動作させるように Clone で登録します Started: [ pm1 pm2 ] などと表示され, リソース稼動状態と稼働中のサーバ名がわかります Clone Set: Set: clndiskd1 Started: [ pm1 pm1 pm2 pm2 ] Clone Set: Set: clndiskd2 Started: [ pm1 pm1 pm2 pm2 ] Clone Set: Set: clnpingd Started: [ pm1 pm1 pm2 pm2 ] clndiskd1: 共有ディスク監視 (diskd) clndiskd2: 内蔵ディスク監視 (diskd) clnpingd: ネットワーク監視 (pingd) Linux-HA Japan Project 36

監視系リソース ping 監視先 (pdummy0) 192.168.0.21 サービス LAN pm1 clnpingd clndiskd1 192.168.0.22 eth1 192.168.10.22 eth2 192.168.20.22 インターコネクト LAN1 インターコネクト LAN2 192.168.0.23 eth1 192.168.10.23 eth2 192.168.20.23 clnpingd pm2 clndiskd1 clndiskd2 172.20.24.21 eth3 172.20.24.22 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 172.20.24.23 clndiskd2 172.20.24.21 管理用 LAN Linux-HA Japan Project 37

crm_mon -fa オプションを付与すると インターコネクト LAN 等の状況も確認可能です # crm_mon -fa * Node Node pm1: pm1: + default_ping_set : 100 100 + diskcheck_status : normal + diskcheck_status_internal : normal + pm2-eth1 : up up + pm2-eth2 : up up ネットワーク監視の状況ディスク監視の状況 インターコネクトが UP されているのが確認可能 Linux-HA Japan Project 38

4 ログメッセージ制御機能 を使おう! Linux-HA Japan Project 39

ログメッセージ制御機能 pm_logconv-hb 6/6 6/6 に pm_logconv-hb 1.1 1.1 版をリリース Linux-HA Japan でログメッセージ制御機能を提供中! Pacemaker 標準ログ (ha-log) は出力が多くわかりにくいですが pm_logconv-hb を使用すると 運用上必要なログだけを出力することができます さらにフェイルオーバが発生した際に Start Fail-over のログが出力されるようになります クラスタ制御部が Heartbeat3 である必要性があります (Corosync は未対応です ) Linux-HA Japan Project 40

pm_logconv-hb インストール リポジトリパッケージから yum コマンドで pacemaker インストールの際に pm_logconv-hb も指定してインストールします # cd cd /tmp # tar tar zxvf pacemaker-1.0.11-1.2.1.el5.x86_64.repo.tar.gz # cd cd /tmp/pacemaker-1.0.11-1.2.1.el5.x86_64.repo/ # yum c c pacemaker.repo install pacemaker pm_crmgen pm_diskd pm_logconv-hb pm_extras pm_crmgen-1.1-1.el5.noarch.rpm crm 用設定ファイル編集ツール pm_diskd-1.0-1.el5.x86_64.rpm ディスク監視アプリとRA pm_logconv-hb-1.1-1.el5.noarch.rpm ログメッセージ制御機能 pm_extras-1.1-1.el5.x86_64.rpm その他オリジナル RA 等 Linux-HA Japan Project 41

pm_logconv-hb 動作設定 /etc/pm_logconv.conf 変換元のログファイル名を指定 [Settings] 変換後のログ ha_log_path = /var/log/ha-log ファイル名を指定 output_path = /var/log/pm_logconv.out #hostcache_path = /var/lib/heartbeat/hostcache #syslogformat = True True #reset_interval = 60 60 attribute_pingd = not_defined default_ping_set or or default_ping_set lt lt 100 100 attribute_diskd = not_defined diskcheck_status or or diskcheck_status eq eq ERROR attribute_diskd_inner = not_defined diskcheck_status_internal or or diskcheck_status_internal eq eq ERROR #logconv_logfacility = daemon サービスリソースの最上位と act_rsc = prmex, prmpg 最下位のリソース ID IDを設定 Linux-HA Japan Project 42

pm_logconv-hb 起動設定 inittab に pm_logconv-hb 起動設定を追加し respawn で起動させます /etc/inittab ( 省略 ) : logc:2345:respawn:/usr/share/pacemaker/pm_logconv/pm_logconv.py Linux-HA Japan Project 43

pm_logconv-hb ログ変換例 (PostgreSQL 起動時 ) /var/log/ha-log Jul 11 18:53:34 pm1 crmd: [1996]: info: do_lrm_rsc_op: Performing key=18:14:0:54ec38e9-bfac-4b29-9256-a9b9587456c6 Jul 11 18:53:34 pm1 crmd: [1996]: info: do_lrm_rsc_op: Performing key=18:14:0:54ec38e9-bfac-4b29-9256-a9b9587456c6 op=prmpg_start_0 ) op=prmpg_start_0 ) Jul 11 18:53:34 pm1 lrmd: [1993]: info: rsc:prmpg:63: start Jul 11 18:53:34 pm1 lrmd: [1993]: info: rsc:prmpg:63: start Jul 11 18:53:34 pm1 crmd: [1996]: info: process_lrm_event: LRM operation prmip_monitor_10000 (call=62, rc=0, cib-update=68, Jul 11 18:53:34 pm1 crmd: [1996]: info: process_lrm_event: LRM operation prmip_monitor_10000 (call=62, rc=0, cib-update=68, confirmed=false) ok confirmed=false) ok Jul 11 18:53:35 pm1 pgsql[19130]: INFO: server starting Jul 11 18:53:35 pm1 pgsql[19130]: INFO: server starting Jul 11 18:53:35 pm1 pgsql[19130]: INFO: PostgreSQL start command sent. Jul 11 18:53:35 pm1 pgsql[19130]: INFO: PostgreSQL start command sent. Jul 11 18:53:35 pm1 pgsql[19130]: WARNING: psql: could not connect to server: No such file or directory Is the server Jul 11 18:53:35 pm1 pgsql[19130]: WARNING: psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.pgsql.5432"? running locally and accepting connections on Unix domain socket "/tmp/.s.pgsql.5432"? Jul 11 18:53:35 pm1 pgsql[19130]: WARNING: PostgreSQL template1 isn't running Jul 11 18:53:35 pm1 pgsql[19130]: WARNING: PostgreSQL template1 isn't running Jul 11 18:53:35 pm1 pgsql[19130]: WARNING: Connection error (connection to the server went bad and the session was not Jul 11 18:53:35 pm1 pgsql[19130]: WARNING: Connection error (connection to the server went bad and the session was not interactive) occurred while executing the psql command. interactive) occurred while executing the psql command. Jul 11 18:53:37 pm1 pgsql[19130]: INFO: PostgreSQL is started. Jul 11 18:53:37 pm1 pgsql[19130]: INFO: PostgreSQL is started. Jul 11 18:53:37 pm1 crmd: [1996]: info: process_lrm_event: LRM operation prmpg_start_0 (call=63, rc=0, cib-update=69, Jul 11 18:53:37 pm1 crmd: [1996]: info: process_lrm_event: LRM operation prmpg_start_0 (call=63, rc=0, cib-update=69, confirmed=true) ok confirmed=true) ok /var/log/pm_logconv.out 運用上必要なログだけを出力 Jul Jul 11 11 18:53:34 pm1 pm1 info: Resource prmpg tries to to start. Jul Jul 11 11 18:53:37 pm1 pm1 info: Resource prmpg started. (rc=0) Linux-HA Japan Project 44

pm_logconv-hb フェイルオーバ時のログ出力例 /var/log/pm_logconv.out Jul Jul 11 11 19:02:15 pm2 pm2 ERROR: Start to to fail-over. Jul Jul 11 11 19:02:23 pm2 pm2 info: Resource prmex tries to to start. Jul Jul 11 11 19:02:24 pm2 pm2 info: Resource prmex started. (rc=0) Jul Jul 11 11 19:02:24 pm2 pm2 info: Resource prmfs tries to to start. Jul Jul 11 11 19:02:24 pm2 pm2 info: Resource prmfs started. (rc=0) Jul Jul 11 11 19:02:24 pm2 pm2 info: Resource prmip tries to to start. Jul Jul 11 11 19:02:24 pm2 pm2 info: Resource prmip started. (rc=0) Jul Jul 11 11 19:02:24 pm2 pm2 info: Resource prmpg tries to to start. Jul Jul 11 11 19:02:26 pm2 pm2 info: Resource prmpg started. (rc=0) Jul Jul 11 11 19:02:26 pm2 pm2 info: Resource prmex : Move Move pm1 pm1 -> -> pm2 pm2 Jul Jul 11 11 19:02:26 pm2 pm2 info: Resource prmpg : Move Move pm1 pm1 -> -> pm2 pm2 Jul Jul 11 11 19:02:26 pm2 pm2 info: fail-over succeeded. fail-overのログは DCノード側のみ出力されます Linux-HA Japan Project 45

5 いろいろデモします! Linux-HA Japan Project 46

リソース設定して demo(domain-0) PostgreSQL に接続してみる demo# pgsql -U postgres -h 192.168.0.100 -c SELECT now(); デモ 1 サービス LAN DC pm1 仮想 IP 192.168.0.100 192.168.0.22 eth1 192.168.10.22 eth2 192.168.20.22 インターコネクト LAN1 インターコネクト LAN2 192.168.0.23 eth1 192.168.10.23 eth2 192.168.20.23 pm2 172.20.24.21 eth3 172.20.24.22 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 172.20.24.23 172.20.24.21 管理用 LAN Linux-HA Japan Project 47

サービス LAN 故障させてみる ping 監視先 (pdummy0) 192.168.0.21 デモ 2 仮想 IP 192.168.0.100 pm1 clnpingd 故障 eth1 eth2 サービス LAN インターコネクト LAN1 インターコネクト LAN2 擬似 LAN 断故障 pm1# iptables -A INPUT -i DC -j DROP eth1 eth2 clnpingd pm2 eth3 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 管理用 LAN Linux-HA Japan Project 48

# crm_mon -fa -fa ~ 省略 ~ Node Attributes: * Node pm1: + default_ping_set : 0 : Connectivity is lost + diskcheck_status : normal + diskcheck_status_internal : normal サービス LAN 故障を表示 Linux-HA Japan Project 49

リソースグループ移動させてみる # crm resource move grppg pm1 force # crm resource unmove grppg デモ 3 pm1 eth1 eth2 eth3 サービス LAN インターコネクト LAN1 リソースグループ移動 インターコネクト LAN2 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 仮想 IP 192.168.0.100 grppg eth1 192.168.10.23 prmex eth2 prmfs 192.168.20.23 prmip eth3 prmpg 172.20.24.23 DC pm2 管理用 LAN Linux-HA Japan Project 50

リソース故障させてみる デモ 4 擬似故障 # kill -9 postgresql 親プロセス サービス LAN DC 仮想 IP 192.168.0.100 pm1 故障 eth1 eth2 インターコネクト LAN1 インターコネクト LAN2 フェイルオーバ eth1 eth2 pm2 eth3 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 管理用 LAN Linux-HA Japan Project 51

# crm_mon -fa -fa ~ 省略 ~ Online: [ pm1 pm2 ] Resource Group: grppg prmex (ocf::heartbeat:sfex): Started pm1 prmfs (ocf::heartbeat:filesystem): Started pm1 prmip (ocf::heartbeat:ipaddr2): Started pm1 prmpg (ocf::heartbeat:pgsql): Started pm1 FAILED 故障検出を表示 Linux-HA Japan Project 52

この状態で リソースグループ移動させてみる # crm resource move grppg pm1 force デモ 5 pm1 フェイルカウント eth1 eth2 eth3 サービス LAN インターコネクト LAN1 リソースグループ移動インターコネクトLAN2 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 仮想 IP 192.168.0.100 grppg eth1 192.168.10.23 prmex eth2 prmfs 192.168.20.23 prmip eth3 prmpg 172.20.24.23 DC pm2 管理用 LAN Linux-HA Japan Project 53

切り替わらないのは ミスではありません! Linux-HA Japan Project 54

フェイルカウントがカウントアップされているため クリアしなければ切り替わりません # crm_mon -fa ============ ~ 省略省略 ~ ============ Migration summary: * Node Node pm1: pm1: prmpg: migration-threshold=1 fail-count=1 * Node Node pm2: pm2: Failed actions: prmpg_monitor_10000 (node=pm1, call=34, rc=7, status=complete): not not running Linux-HA Japan Project 55

フェイルカウントをクリアしてみる # crm resource cleanup prmpg pm1 # crm resource unmove grppg デモ 6 サービス LAN DC 仮想 IP 192.168.0.100 pm1 フェイルカウント クリア grppg eth1 prmex eth2 prmfs prmip eth3 prmpg インターコネクト LAN1 インターコネクト LAN2 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth1 eth2 eth3 pm2 管理用 LAN Linux-HA Japan Project 56

リソース故障時 停止タイムアウト デモ 7 pm1 擬似故障 # kill -9 postgresql 親プロセス 故障 仮想 IP 192.168.0.100 eth1 eth2 サービス LAN インターコネクト LAN1 インターコネクト LAN2 タイムアウト擬似のための仕掛けは次ページ eth1 eth2 DC pm2 STONITH 停止タイムアウト eth3 排他制御領域 /dev/xvdb1 フェイルオーバ DB 領域失敗 /dev/xvdb2!? 管理用 LAN eth3 Linux-HA Japan Project 57

停止タイムアウトデモのために こんな仕掛けします 1. pgsql リソースエージェントの stop 制御部に sleep 60 をわざと入れます /usr/lib/ocf/resource.d/heartbeat/pgsql 381 #pgsql_stop: Stop PostgreSQL 382 pgsql_stop() { 383 local rc 384 sleep 60 385 if! pgsql_status 386 then 387 #Already stopped 388 return $OCF_SUCCESS 389 fi Linux-HA Japan Project 58

2. crm コマンドで prmpg のストップタイムアウトを 60s から 20s に変更します # crm configure edit 初期構築後 値を変更したい場合に便利です primitive prmpg ocf:heartbeat:pgsql \ params pgctl="/usr/pgsql-9.0/bin/pg_ctl" start_opt="-p 5432 -h -h 192.168.0.100" psql="/usr/pgsql-9.0/bin/psql" pgdata="/var/lib/pgsql/9.0/data" pgdba="postgres" pgport="5432" pgdb="template1" \ op op start interval="0s" timeout="60s" on-fail="restart" \ op op monitor interval="10s" timeout="60s" onfail="restart" \ op op stop interval="0s" timeout="20s" on-fail="fence" on- Linux-HA Japan Project 59

# crm_mon -fa Migration summary: * Node pm1: prmpg: migration-threshold=1 fail-count=1 * Node pm2: Failed actions: prmpg_monitor_10000 (node=pm1, call=34, rc=7, status=complete): not running prmpg_stop_0 (node=pm1, call=35, rc=-2, status=timed Out): unknown exec error ストップタイムアウト状態を表示 Linux-HA Japan Project 60

スプリットブレイン 擬似故障 # ifdown eth1 # ifdown eth2 デモ 8 サービス LAN DC 仮想 IP 192.168.0.100 pm1 eth1 eth2 インターコネクト LAN1 故障 インターコネクト LAN2 eth1 eth2 pm2 eth3 排他制御領域 /dev/xvdb1 DB 領域 /dev/xvdb2 eth3 STONITH 管理用 LAN Linux-HA Japan Project 61