忍者ブログ

インフラ構築手順書

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


HOME   »  冗長化構築 PaceMaker+MySQL

[PR]

広告 

×

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



Pacemaker+MySQLレプリケーション構築【Pacemakerインストール】

広告 

PaceMaker+MySQLレプリケーションインストール設定

Pacemakerインストール

pacemaker,corosync,pcs,cmanをインストールする。
# yum install pacemaker.x86_64 corosync.x86_64 pcs cman
※CentOS6.4以降corosync が Pacemaker を立ち上げる「プラグイン方式」が廃止されたのでCmanを利用する
※corosync は CMAN 経由で起動される
・crmのインストール
最近はpcsコマンドがメインとなっているが、pcsコマンドでは設定できない箇所がまだあります。そのためcrmコマンドもインストールしておくと便利でしょう。
# yum install python-dateutil python-lxml
# rpm -Uvh http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/RedHat_RHEL-6/x86_64/python-pssh-2.3.1-4.2.x86_64.rpm
# rpm -Uvh http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/RedHat_RHEL-6/x86_64/pssh-2.3.1-4.2.x86_64.rpm
# rpm -Uvh http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/RedHat_RHEL-6/x86_64/crmsh-2.1-1.1.x86_64.rpm

VIP監視エージェントのインストール
両ノードがマスターとして起動しないようにVIP監視エージェントを導入する
VIP監視エージェントは、標準でインストールされていないため、下記URLから入手する必要がある。
 VIP監視エージェント入手先:http://sourceforge.jp/projects/linux-ha/downloads/45456/VIPcheck/
 VIP監視エージェント置き場所:/usr/lib/ocf/resource.d/heartbeat/VIPcheck
・VIP監視エージェント権限変更
# chown root:root /usr/lib/ocf/resource.d/heartbeat/VIPcheck
# chmod 755 /usr/lib/ocf/resource.d/heartbeat/VIPcheck

PING監視エージェントのインストール
pacemaker:pingリソースエージェントは、fping バイナリがシステムにインストールされていると、ping コマンドでなく fping コマンドを使うようにできている。検証では、host_list に複数のターゲットを指定した場合に、ping コマンド動作ではうまく動かなかった。fping のRPMパッケージは RepoForge からダウンロードできる。


CMAN設定

hostsファイルの追記
# vi /etc/hosts
10.96.146.31 dbserver-01
10.96.146.32 dbserver-02

cluster.confファイルの生成
/etc/cluster/cluster.confファイルの生成をccsコマンドで行う。
 #  ccs -f /etc/cluster/cluster.conf --createcluster cluster_cman
 #  ccs -f /etc/cluster/cluster.conf --addnode dbserver-01
 #  ccs -f /etc/cluster/cluster.conf --addnode dbserver-02
 #  ccs -f /etc/cluster/cluster.conf --addfencedev pcmk agent=fence_pcmk
 #  ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect dbserver-01
 #  ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect dbserver-02
 #  ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk dbserver-01 pcmk-redirect port=dbserver-01
 #  ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk dbserver-02 pcmk-redirect port=dbserver-02

2ノードクラスター構成の設定
2 ノードクラスターを設定している場合(ード台数3台未満の場合)は、設定ファイルに以下の行を追加して単一ノードでも定足数を維持できるようにします。
# vi /etc/cluster/cluster.conf
    <cman expected_votes="1" two_node="1"/>          

Quorum TimeOut設定(CMAN_QUORUM_TIMEOUT=0)
クォーラムが成立しない状態でCMANが起動できるようにCMANの起動オプション(CMAN_QUORUM_TIMEOUT=0)を変更する。
  # vi /etc/sysconfig/cman
  CMAN_QUORUM_TIMEOUT=0

Corosync設定

corosync.conf.exampleを基に作成する。
・ノート障害検知時間設定(token, token_retransmits_before_loss_const)
 
 token: 5000
 token_retransmits_before_loss_const: 10 
・rrp_mode: active#追加
・マルチキャストからユニキャストへ変更する
  transport:udpu追記
  member追記
  mcastaddr削除
                #mcastaddr: 226.94.1.1
                member {
                        memberaddr: 192.168.151.31
                }
                member {
                        memberaddr: 192.168.151.32
                }
・pacemaker と corosync を連携
 service {
        # Load the Pacemaker Cluster Resource Manager  5
        ver:       1
        name:      pacemaker
}
■Corosync設定
サンプル設定(/etc/corosync/corosync.conf.example)を基に上記設定を行う。
# vi  /etc/corosync/corosync.conf
compatibility: whitetank

totem {
        version: 2
        token: 5000
        token_retransmits_before_loss_const: 10
        secauth: off
        threads: 0
        nodeid: 02
        rrp_mode: active
        interface {
                ringnumber: 0
                bindnetaddr: 192.168.151.0
                #mcastaddr: 226.94.1.1
                member {
                        memberaddr: 192.168.151.31
                }
                member {
                        memberaddr: 192.168.151.32
                }
                mcastport: 5405
                ttl: 1
        }
        transport:udpu
}

logging {
        fileline: off
        to_stderr: no
        to_logfile: yes
        to_syslog: yes
        logfile: /var/log/cluster/corosync.log
        debug: on
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}

amf {
        mode: disabled
}

service {
        # Load the Pacemaker Cluster Resource Manager  5
        ver:       1
        name:      pacemaker
}
※token × token_retransmits_before_loss_const が、ノードが障害と判定されるまでに、クラスターメッセージに応答しなくてもよい最大時間です。
token の規定値は 1000 (1 秒) で、再送 が 4 回まで許可されます。


ログローテート設定

Pacemaker+MySQLレプリケーション構築【ログローテート設定】

自動再起動設定

chkconfig pacemaker on
chkconfig cman off
chkconfig corosync off
※pacemakerの起動スクリプトにCMANを立ち上げる処理を含んでいるので上記クラスタエンジンの自動起動をOFFにする。




Pacemaker+MySQLレプリケーション構築【目次】

Pacemaker+MySQLレプリケーション構築【環境/基本情報】
Pacemaker+MySQLレプリケーション構築【事前設定】
Pacemaker+MySQLレプリケーション構築【Pacemakerインストール設定】
Pacemaker+MySQLレプリケーション構築【MySQLリソース追加】
Pacemaker+MySQLレプリケーション構築【ログローテート設定】
Pacemaker+MySQLレプリケーション構築【PaceMakerコマンド】



おすすめ書籍

[インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門]の書籍横断比較とレビュー

インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門]トラブルシューティングガイド
著者:みやた ひろし
出版日:2013-12-27
出版社:SBクリエイティブ

[[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 ]の書籍横断比較とレビュー

[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用
著者:安井 真伸
出版日:2008-08-07
出版社:技術評論社





拍手[0回]



Pacemaker+MySQLレプリケーション構築【ログローテート設定】

広告 

Paemakerのログローテート設定

Pacemakerログ出力には、ファイル出力とsyslogの方法がある。 ここではsyslog出力設定にして、ログローテートする手順を説明する。
Pacemakerのログローテート設定ポイント

・syslogでログを受け取る設定 ・syslogの制限設定を解除する ・ログローテート対象の重複ログローテートの回避

pacemaker停止
Pacemakerが既に起動している場合は、停止する。
# /etc/init.d/pacemaker stop


corosyncのログ設定

corosyncのsyslog出力設定
# vi /etc/corosync/corosync.conf 
logging {
        fileline: off
        to_stderr: no
        to_logfile: no
        to_syslog: yes
        syslog_facility: local1
        syslog_priority: info
        #logfile: /var/log/cluster/corosync.log
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}


pacemakerのsyslog出力設定

pacemakerのsyslog出力設定
# vi /etc/sysconfig/pacemaker
export PCMK_logfile=none
export PCMK_logfacility=local2
export PCMK_logpriority=info


syslog設定とログローテート

syslog設定
messagesログにpacemakerログとcorosyncログの出力されないように設定追加と pacemakerログとcorosyncログの受け取り設定を行う。
# vi /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none;local1.none;local2.none /var/log/messages
local1.*                                                /var/log/cluster/corosync.log
local2.*                                                /var/log/cluster/pacemaker.log

・rsyslogのrate-limitingを無効
rsyslogのデフォルトでは、一斉出力されるログを制限する設定がある。 この設定があるとログの一部が喪失する恐れがあるので、無効にする。
# vi /etc/rsyslog.conf
$SystemLogRateLimitInterval 0

ログローテート設定
/etc/logrotate.d/syslogファイルの記述にcorosync.logとpacemaker.logを追加する。
# vi /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/cluster/corosync.log
/var/log/cluster/pacemaker.log
{
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

・重複設定を削除
cmanのデフォルトのログローテート設定でpacemaker.logとcorosync.logが重複設定されているので回避する /var/log/cluster/*以下すべてをログローテートする設定になっているので、個別指定へ変更する。
# vi /etc/logrotate.d/cman
/var/log/cluster/dlm_controld.log /var/log/cluster/fenced.log /var/log/cluster/gfs_controld.log {
        missingok
        compress
        copytruncate
        daily
        rotate 31
        minsize 2048
        notifempty
}


設定反映

# /etc/init.d/rsyslog restart
# /etc/init.d/pacemaker start


Pacemaker+MySQLレプリケーション構築【目次】

Pacemaker+MySQLレプリケーション構築【環境/基本情報】
Pacemaker+MySQLレプリケーション構築【事前設定】
Pacemaker+MySQLレプリケーション構築【Pacemakerインストール設定】
Pacemaker+MySQLレプリケーション構築【MySQLリソース追加】
Pacemaker+MySQLレプリケーション構築【ログローテート設定】
Pacemaker+MySQLレプリケーション構築【PaceMakerコマンド】



おすすめ書籍

[インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門]の書籍横断比較とレビュー

インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門]トラブルシューティングガイド
著者:みやた ひろし
出版日:2013-12-27
出版社:SBクリエイティブ

[[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 ]の書籍横断比較とレビュー

[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用
著者:安井 真伸
出版日:2008-08-07
出版社:技術評論社





拍手[0回]



PaceMacker+Mysqlレプリケーション構築手順[冗長化設定]

広告 

PaceMaker基本動作設定

■スプリットブレインが発生してもクォーラムが特別な動作を行わないように設定します。
# pcs property set stonith-enabled=false
# pcs property set no-quorum-policy=ignore
# pcs property set crmd-transition-delay=2s
■自動フェイルバックなし、同一サーバでリソースの再起動を試みる回数を 1 回に設定します。
# pcs resource defaults resource-stickiness="INFINITY" migration-threshold="1"
■VIP監視
# pcs resource create res-chk-vip1 ocf:heartbeat:VIPcheck \
   target_ip=10.96.146.30 count=1 wait=10 \
   op start interval=0s timeout=90s on-fail=restart start-delay=4s 
■VIP設定
# pcs resource create res-vip1 ocf:heartbeat:IPaddr2 ip=10.96.146.30 cidr_netmask=24 op monitor interval=30s 
■メール送信
# pcs resource create res-mailto ocf:heartbeat:MailTo \
        params email="hoge_system@ml01.hoge.hoge.jp" subject="Pacemaker FailOver" \
        op monitor interval="10s" timeout="10s" \
        op start interval="0" timeout="10s" \
        op stop interval="0" timeout="10s" \
        meta target-role="started"
■ping監視
# pcs resource create res-ping ocf:pacemaker:ping \
        params name="default_ping_set" host_list="10.96.146.39 10.96.146.40 10.96.146.41" multiplier="100" dampen="50" \
        op monitor interval="10s" timeout="20s"  \
        op start interval="0" timeout="90s" \
        op stop interval="0" timeout="100s"
# pcs resource clone res-ping
※「ocf:pacemaker:pingd」は古いので「ocf:pacemaker:ping」を利用すること。「ocf:pacemaker:pingd」はフェイルオーバできないなどバグがある。
■Mysqlクラスタ設定
Slaveとして稼働させる2号機をStandby
#pcs cluster standby dbserver-02
MySQLリソースの設定
# pcs resource create res-mysql ocf:heartbeat:mysql binary=/usr/bin/mysqld_safe pid=/var/run/mysqld/mysqld.pid \
  datadir="/data/db/mysqld/daito-data" config="/etc/my.cnf" user="mysql" group="mysql"  log="/data/db/mysqld/log/mysqld.log" \
  test_user="chk_user" test_passwd="helthpasswd" test_table="chk_db.chk_tbl" \
  replication_user=repl replication_passwd=slavepasswd \
  op start interval=0 timeout=120s \
  op stop interval=0 timeout=120s \
  op monitor interval=10s role=Master timeout=30s  on-fail="restart" \
  op monitor interval=30s role=Slave timeout=30s  on-fail="restart" \
  op promote interval=0 timeout=120s \
  op demote interval=0 timeout=120s \
  op notify interval=0 timeout=90s 
■Master/Slaveセットを作成します。
# pcs resource master ms-mysql res-mysql master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
■リソースグループ
# pcs resource group add grp-network res-chk-vip1 res-vip1 res-mailto 
■同居制約
# pcs constraint colocation add grp-network ms-mysql INFINITY with-rsc-role=Master
# pcs constraint colocation add  master ms-mysql with res-ping
■起動順序
# pcs constraint order promote ms-mysql then start grp-network
# pcs constraint order start res-ping-clone then promote ms-mysql
# pcs constraint order start res-chk-vip1 then start res-vip1
※on-fail="xxx"の設定に応じた動作を行う。指定できる動作には以下のものがある。
block 故障したリソースの管理を停止し待機する。
fence リソース故障が発生したメンバーノードをSTONITHによって再起動し、フェールオーバする。
ignore 何の処理も行わない。
stop 故障したリソースを停止し、他のメンバーノードへフェールオーバさせない。
restart 故障したリソースを他のメンバーノードへフェールオーバする(デフォルト)。



Pacemaker+MySQLレプリケーション構築【目次】

Pacemaker+MySQLレプリケーション構築【環境/基本情報】
Pacemaker+MySQLレプリケーション構築【事前設定】
Pacemaker+MySQLレプリケーション構築【Pacemakerインストール設定】
Pacemaker+MySQLレプリケーション構築【MySQLリソース追加】
Pacemaker+MySQLレプリケーション構築【ログローテート設定】
Pacemaker+MySQLレプリケーション構築【PaceMakerコマンド】



おすすめ書籍

[インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門]の書籍横断比較とレビュー

インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門]トラブルシューティングガイド
著者:みやた ひろし
出版日:2013-12-27
出版社:SBクリエイティブ

[[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 ]の書籍横断比較とレビュー

[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用
著者:安井 真伸
出版日:2008-08-07
出版社:技術評論社





拍手[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

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