忍者ブログ

インフラ構築手順書

はじめてのインフラ、サーバ構築時に役に立つように構築手順情報をまとめました。


HOME   »     »  PaceMaker+DRBD構築6【リソース登録】 冗長化構築 PaceMaker+DRBD構築手順  »  PaceMaker+DRBD構築6【リソース登録】

[PR]

広告 

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



PaceMaker+DRBD構築6【リソース登録】

広告 

PaceMaker+DRBD構築6 【リソース登録】

DRBDの設定まで終わったら、次はPaceMakerのリソース登録です。
リソース登録するためにはcrmコマンドやLCMCなど登録できますが、ここではファイルにリソースを記述し取り込む方法で行います。


PaceMakerのリソース登録情報

Mysqlリソース情報
項目
インストールディレクトリ /opt/db/mysql/
DBデータディレクトリ /db01/mysql/data/
Check用DB chk_db
Check用DBユーザ chk_user
Check用DBパスワード passwd
Check用Table chk_tbl

リソース設定のポイント
・リソース設定
項目リソースエージェント備考/今回の設定値
ディスクのチェック ocf:pacemaker:diskd DRBDのデバイス領域:/dev/sdb
DRBDのメタディスク領域:/dev/sda (Internal)
DRBDリソースの設定 ocf:linbit:drbd DRBDリソース名:rdb01
ファイルシステムのリソース設定 ocf:heartbeat:Filesystem デバイス:/dev/drbd0
ディレクトリ:/db
メール通知リソースの設定 ocf:heartbeat:MailTo 通知先:hoge_system@ml01.hoge.hoge.jp
Mysql監視リソースの設定 ocf:heartbeat:mysql ・DBデータディレクトリ
 "/db01/mysql/data"
・Mysql設定ファイル
 "/etc/my.cnf"
・socket
 "/tmp/mysql.sock"
・pid
 "/opt/db/mysql/mysqld.pid"
・ログ
 "/var/log/mysql/mysqld.log"
・パラメータ
 "--ledir=/opt/db/mysql/bin --basedir=/opt/db/mysql"
・ヘルスチェック情報
 ユーザ/パスワード "chk_user"/"passwd"
 ヘルスチェックTable "chk_db.chk_tbl"
Ping監視リソースの設定 ocf:pacemaker:pingd Ping先:172.18.56.254 172.18.56.73 172.18.56.74
VIPリソースの設定 ocf:heartbeat:IPaddr2 VIP:172.18.56.80
VIP重複設定の検知 ocf:heartbeat:VIPcheck 監視VIP:172.18.56.80
※/dev/sdbは、DRBDディスクのマウントポイントである。
# tune2fs -l /dev/sdb
 省略
   Filesystem volume name:   
   Last mounted on:          /db
   Filesystem UUID:          dccf88f5-b49d-495b-b017-33b7ccdceac8
   Filesystem magic number:  0xEF53
 省略

・リソースのグループ、リソース間の制約・順序設定
 group、colocation 、orderで設定

・マスタースレーブのリソース定義
 msで設定


Pachemakerのリソース登録手順

■Pachemakerのリソース登録用ファイルの作成
下記ファイルをテンプレートとして、個別の値を変更するだけでPacemakerにDRBDとMysqlをリソースとして登録でき、簡単に冗長化ができます。
# vi mysql_setup.crm
primitive prm_diskd ocf:pacemaker:diskd \
        params name="diskcheck_status" device="/dev/sdb" interval="10" \
        op start interval="0" timeout="60s" \
        op monitor interval="10s" timeout="60s" \
        op stop interval="0" timeout="60s"
primitive prm_diskd_internal ocf:pacemaker:diskd \
        params name="diskcheck_status_internal" device="/dev/sda" interval="10" \
        op start interval="0" timeout="60s" \
        op monitor interval="10s" timeout="60s" \
        op stop interval="0" timeout="60s"
primitive prm_drbd_r0 ocf:linbit:drbd \
        params drbd_resource="rdb01" \
        op monitor interval="30" role="Master" timeout="30" \
        op monitor interval="40" role="Slave" timeout="30" \
        op start interval="0" timeout="240" \
        op stop interval="0" timeout="100"
primitive prm_fs ocf:heartbeat:Filesystem \
        params device="/dev/drbd0" directory="/db" fstype="ext4" options="noatime" \
        operations $id="prm_fs-operations" \
        op start interval="0" timeout="60" \
        op stop interval="0" timeout="60" \
        op monitor interval="10s" timeout="60s" OCF_CHECK_LEVEL="20" \
        meta target-role="started"
primitive prm_mailto ocf:heartbeat:MailTo \
        params email="hoge_system@ml01.hoge.hoge.jp" subject="HeartBeat FailOver" \
        op start interval="0" timeout="10s" \
        op monitor interval="10s" timeout="10s" \
        op stop interval="0" timeout="10s" \
        meta target-role="started"
primitive prm_mysqld ocf:heartbeat:mysql \
        params binary="/opt/db/mysql/bin/mysqld_safe" client_binary="/opt/db/mysql/bin/mysql" datadir="/db01/mysql/data" config="/etc/my.cnf" socket="/tmp/mysql.sock" user="mysql" group="dba" pid="/opt/db/mysql/mysqld.pid" log="/var/log/mysql/mysqld.log" additional_parameters="--ledir=/opt/db/mysql/bin --basedir=/opt/db/mysql" test_user="chk_user" test_passwd="passwd" test_table="chk_db.chk_tbl" \
        operations $id="prm_mysqld-operations" \
        op start interval="0" timeout="120s" \
        op stop interval="0" timeout="120s" \
        op monitor interval="20s" timeout="30" OCF_CHECK_LEVEL="10" \
        meta target-role="started"
primitive prm_pingd ocf:pacemaker:pingd \
        params name="default_ping_set" host_list="172.18.56.254 172.18.56.73 172.18.56.74" multiplier="100" dampen="50" \
        operations $id="prm_pingd-operations" \
        op monitor interval="10s" timeout="20s" attempts="50" \
        op start interval="0" timeout="90s" on-fail="restart" \
        op stop interval="0" timeout="100s" on-fail="ignore"
primitive prm_vip ocf:heartbeat:IPaddr2 \
        params ip="172.18.56.80" cidr_netmask="24" \
        op monitor interval="10" \
        meta target-role="started"
primitive prm_vipcheck ocf:heartbeat:VIPcheck \
        params target_ip="172.18.56.80" count="1" wait="10" \
        op start interval="0" timeout="90s" start_delay="4" \
        op stop interval="0" timeout="60s" \
        meta target-role="started"
group grp_mysqld prm_vipcheck prm_fs prm_vip prm_mysqld prm_mailto
ms ms_drbd_r0 prm_drbd_r0 \
        meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
clone clone_diskd prm_diskd
clone clone_diskd_internal prm_diskd_internal
clone clone_pingd prm_pingd
location loc_grp_mysqld grp_mysqld \
        rule $id="loc_grp_mysqld-rule" -inf: not_defined default_ping_set or default_ping_set lt 100
colocation col_mysqld_diskd inf: grp_mysqld clone_diskd
colocation col_mysqld_diskd_internal inf: grp_mysqld clone_diskd_internal
colocation col_mysqld_drbd inf: grp_mysqld ms_drbd_r0:Master
colocation col_mysqld_pingd inf: grp_mysqld clone_pingd
order ord_mysqld_diskd 0: clone_diskd grp_mysqld
order ord_mysqld_diskd_int 0: clone_diskd_internal grp_mysqld
order ord_mysqld_drbd inf: ms_drbd_r0:promote grp_mysqld:start
order ord_mysqld_pingd inf: clone_pingd grp_mysqld
property $id="cib-bootstrap-options" \
        dc-version="1.0.12-066152e" \
        cluster-infrastructure="Heartbeat" \
        stonith-enabled="false" \
        no-quorum-policy="ignore" \
        default-resource-stickiness="200" \
        last-lrm-refresh="1352465746"
rsc_defaults $id="rsc-options" \
        migration-threshold="1" \
        resource-stickiness="INFINITY"

■リソース設定を反映
# crm configure load update mysql_setup.crm 
※/dev/drbd0をext4のファイルシステムで事前に作成していないとエラーとなる。
DRBDプライマリー側で「 mkfs -t ext4 /dev/drbd0」を実行する
 プライマリの確認は[# cat /proc/drbd]で「0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----」となっていることを確認する。Secondary/Primaryとなっている場合は、別ノードがプライマリとなっていることになる。


PaceMakerリソース登録時の補足情報

リソースは大きくPrimitive、Clone、Master/Slaveの3種類に定義することができる。これによって必ず1つのノードで動かさなければならない排他制御が必要なサービス、両方のノードで行う必要がある監視、マスタースレーブ関係のあるサービスなど様々な場面に対応することができる。それらのサービスをリソースエージェントを介することで統一的な方法で管理している。
種類説明
Primitive アクティブ/スタンバイ構成で用いる基本的なリソースで、どこか1つのノードで動くことができるリソース。障害を検知したら他のノードにフェールオーバーさせることができる。
Clone Primitiveリソースを複数のノードで動作させるために使用する。Primitiveを停止してそれを複製するためCloneと呼ばれる。 pingの疎通監視などサービスを提供していないノードでも確認する基本的な監視で利用されることが多い。
Master/Slave Cloneのリソースで親子関係があるリソースに使用する。代表的なリソースとしてPrimaryとSecondaryの状態を管理する必要があるDRBDがあげられる。



PaceMaker+DRBD構築 の目次

01. PaceMaker+DRBD構築  【PaceMakerのインストール】
02. PaceMaker+DRBD構築  【DRBDのインストール】
03. PaceMaker+DRBD構築  【DRBDの設定】
04. PaceMaker+DRBD構築  【MySQLインストール】
05. PaceMaker+DRBD構築  【MySQL設定】
06. PaceMaker+DRBD構築  【リソース登録】
07. PaceMaker+DRBD構築  【運用/障害復旧】


・おすすめ書籍
[Linux-DB システム構築/運用入門 ]のECサイト価格横断比較と評価
HAクラスタ構築のおすすめ書籍


拍手[0回]



Yahoo!ブックマーク Googleブックマーク はてなブックマーク livedoorClip del.icio.us FC2 ニフティクリップ iza Buzzurl 


最新記事
(09/17)
(04/09)
(04/09)
(03/22)
(01/16)
(12/30)
(12/26)
(09/21)
(09/21)
(09/20)
(09/12)
(06/13)
(06/13)
(03/14)
(02/15)
(01/03)
(01/03)
(10/04)
(09/20)
(09/15)
(09/14)
(09/14)
(09/14)
(09/06)
(08/30)
最古記事
(10/29)
(10/29)
(10/29)
(10/29)
(10/29)
(04/12)
(04/12)
(06/12)
(06/12)
(06/20)
(06/22)
(07/22)
(07/22)
(07/30)
(07/30)
(08/18)
(08/18)
(08/22)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)
(08/24)


PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

Copyright © インフラ構築手順書 : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]

管理人限定

検索フォーム

カスタム検索

フリーエリア

ESXiの基本設定・運用設定
ESXiのSSH設定
ESXiの NTP設定
VMware ESXiでの時刻同期(NTP)ペストプラクティス
ESXiのゲストOS(仮想マシン)複製
ESXiのOVF形式で複製
異なるESXiバージョン間の複製(移行)
クローン作成後の後処理
仮想マシンのLVM追加
仮想共有ディスクファイルの作成
ESXi上でハイパーバイザーを稼動させる
パフォーマンスがでないとき確認すること


サーバ構築手順
ESXi上でRACを構築する
GFS2+DRBD構築
PaceMaker+MySQLレプリケーション構築
PaceMaker+DRBD構築
HeartBeat2+DRBD構築


Solarisの構築手順
Solarisのネットワーク設定変更
Solarisのホスト名変更
Solaris11のresolv.conf変更手順
Solaris11のHDD増設手順


AWS(Amazon Web Service)の基本設定・運用設定
S3 WEBサイトの構築
S3 WEBサイトのアクセス制限
S3 WEBサイトのリダイレクト設定


Windows Azureの基本設定・運用設定
AzureでWordpress構築
英語版Wordpressを日本語化する
AzureWebサイトの独自ドメイン設定
AzureWebサイトのモード変更
WEBアクセスログ解析ツールの比較


WordPressの基本設定・運用設定
WordPressの基本構造
WordPressのインストール手順
Wordpressマルチサイト機能
「続き読む(more)」カスタマイズ
Wordpressの独自PHP
Wordpressをサブディレクトリに移す
既存サブディレクトリをルートディレクトリとする
Wordpressが利用可能な共用ホスティング


Postfix構築
Postfixにおける暗号化したSMTP認証設定


SoftEtherVPNの構築
ESXi上のSoftEtherVPN構築
DDNSと組み合わせたSoftEtherVPNの設定


LinuxのAD連携
LinuxのActiveDirectory連携について
PAM認証でAD連携
ApacheでAD連携(LDAP認証)
ApacheでAD連携(Kerberos認証)
SAMBAで2台目DCサーバを構築
RedmineとGitのLDAP(AD)認証設定
JenkinsのLDAP(ActiveDirectory)認証設定


Redmine設定
Alminium(RedmineとGit/SVN)のインストール手順
RedmineとGitのLDAP(AD)認証設定
RedmineとGitの移行
JenkinsのLDAP(ActiveDirectory)認証設定


サーバの基本設定・運用設定
Apache
Apacheの基本設定
Apacheの仮想ホスト設定
PHPの基本設定
Nginxのロードバランサ設定
WebDAV構築手順
アンチウィルス
無償アンチウィルス(ClamAV)の導入手順
システム監視
システム監視ソフトMuninの導入手順
システム監視ソフトZabbixの導入手順
sarによるリソース使用情報取得


サーバ移行
Mysqlマイグレーション
MySQLマイグレーション時の問題点と解決策
Windows
Windows OS評価版からの移行
SQL Server評価版からの移行
クラスタソフト
クラスタソフトの比較

ツリーカテゴリ

広告ーSEO





人気ブログランキングへ
にほんブログ村 IT技術ブログ Webサイト構築へ

ブログ王ランキングに参加中!


最新トラックバック

バーコード

アフィリエイト2