忍者ブログ

インフラ構築手順書

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


HOME   »     »  HeartBeat2+DRBD構築 【HeartBeat リソース設定】 冗長化構築 HeatBeat2+DRBD構築手順  »  HeartBeat2+DRBD構築 【HeartBeat リソース設定】

[PR]

広告 

×

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



HeartBeat2+DRBD構築 【HeartBeat リソース設定】

広告 

HeartBeat2 リソース設定


リソース設定の前に行う作業

・heartBeatが起動している場合は、停止する。
・新規構築のため不要ファイルは削除する。
 (/var/lib/heartbeat/crm/cib.xml, cib.xml.si, cib.xml.last, cib.xml.sig.last)
・PostgreSQLが自動起動している場合は、OFFにする。
 (# chkconfig postgresql off)



V1スタイルの設定ファイルを作成する
R2スタイルのcib.xmlを記述するのは、難しいので、R1スタイルの設定ファイルからR2スタイルのcib.xmlを作成します。
今回作成するリソースは以下の通りです。

 ・DRBD
 ・VIP
 ・PostgreSQL

※DRBDとPostgresqlの設定ができていない場合は、下記を参照し構築してください。
  HeartBeat2+DRBD構築 【DRBD構築手順】
  PostgreSLQ構築手順は後ほど記述します。

・R1スタイルのリソース設定ファイルを作成する。
(プライマリサーバで実施し、セカンダリ起動時にcib.xmlは同期されます。)
# vi /etc/ha.d/haresources.tmp
dev-db01  drbddisk::db01 \
                Filesystem::/dev/drbd0::/db::ext3 \
                IPaddr::10.96.146.102/20/eth0 \
                pgsql
※/etc/ha.d/haresources.tmpは、cib.xmlファイルを作成するための一時ファイルです。
※drbdupperとdrbddiskについて
 ・スタックリソースを管理する場合は、drbdupperを使用する。
  3ノード構成では、1つのDRBDデバイスを別のデバイスの上にスタック(積み重ね)します
 ・非スタックリソースを管理する場合は、drbddiskを使用する。
  今回は単純な冗長化であるため非スタックリソースとなる。
※サービス名(pgsql)は サービスの起動スクリプト名を指定します。起動スクリプトは、以下の順で探します。

/etc/ha.d/resource.d
/etc/init.d

※起動スクリプトの要件
 heartbeatで利用するサービススクリプトは、

 サービスが停止中の場合には「stopped」
 サービスが稼動中の場合には「running」

を含む文字列を表示する必要があります。
※IPaddrとIPaddr2について

 ・IPaddrは仮想IPの発生にifconfigを使い、ネットワークエイリアスとして生成する。
 ・IPaddr2はiproute2を使い、副IPアドレスをifaceに直接付加する。

 ※書式:IPaddr2 ip_addr[/netmask[/iface[:label][/bcast]]]
 ※IPaddr2での仮想IPアドレスは、ifconfigコマンドで表示されないことがある。
確実に確認する方法は、以下のコマンドを実行する必要がある。
# ip addr show
1: lo:  mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:50:56:b6:75:2a brd ff:ff:ff:ff:ff:ff
    inet 10.96.146.101/20 brd 10.96.159.255 scope global eth0
    inet6 fe80::250:56ff:feb6:752a/64 scope link
       valid_lft forever preferred_lft forever
3: eth1:  mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:50:56:b6:49:bd brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.104/24 brd 192.168.100.255 scope global eth1
    inet6 fe80::250:56ff:feb6:49bd/64 scope link
       valid_lft forever preferred_lft forever
4: sit0:  mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0

V1スタイルの設定ファイルからV2スタイルの設定ファイル「cib.xml」へ変換
・変換ツールによりV2スタイルへ変換
# /usr/lib64/heartbeat/haresources2cib.py /etc/ha.d/haresources.tmp
・生成されたcib.xmlを修正する。
変換ツールのバグがあり、以下の2点を修正する。
 ・name="nic"の値  

  修正前:name="nic" value="20"/  修正後:name="nic" value="eth0"/  

 ・name="cidr_netmask"の値  

  修正前:name="cidr_netmask" value="eth0"/  修正後: name="cidr_netmask" value="20"/  


# vi /var/lib/heartbeat/crm/cib.xml
   <primitive class="ocf" id="IPaddr_10_96_146_102" provider="heartbeat" type="IPaddr">
            <operations>
                   <op id="IPaddr_10_96_146_102_mon" interval="5s" name="monitor" timeout="5s"/>
            </operations>
            <instance_attributes id="IPaddr_10_96_146_102_inst_attr">
                    <attributes>
                             <nvpair id="IPaddr_10_96_146_102_attr_0" name="ip" value="10.96.146.102"/>
                             <nvpair id="IPaddr_10_96_146_102_attr_1" name="nic" value="eth0"/>
                             <nvpair id="IPaddr_10_96_146_102_attr_2" name="cidr_netmask" value="20"/>
                     </attributes>
             </instance_attributes>
   </primitive>

・自動フェイルバックを無効としたい場合
name="default-resource-stickiness"の値でフェイルバックの制御ができる。通常は自動フェイルバックを無効にしたほうがいい。

 フェイルバック無効:value="INFINITY"
 フェイルバック有効:value="0"


# vi /var/lib/heartbeat/crm/cib.xml
 <nvpair id="cib-bootstrap-options-default-resource-stickiness" name="default-resource-stickiness" value="INFINITY"/>
※既にHeartBeatを起動している状態であれば、以下のコマンドでcib.xmlファイルを更新する。
# cibadmin -o crm_config -U -X '<nvpair id="cib-bootstrap-options-default-resource-stickiness" name="default-resource-stickiness" value="INFINITY"/>'

・サービス(リソース)障害が発生した場合の制御
サービスが落ちた時にLocalサーバ上で再起動するのを防ぐ場合は以下のようにします。
# vi /var/lib/heartbeat/crm/cib.xml
<nvpair id="cib-bootstrap-options-default-resource-failure-stickiness" name="default-resource-failure-stickiness" value="-INFINITY"/>
Localでの再起動無効:value="-INFINITY"
Localでの再起動有効:value="0"

・ファイル所有者の変更
# chown hacluster:haclient /var/lib/heartbeat/crm/cib.xml

・cib.xmlファイルの記述誤りの有無を確認
# crm_verify -x /var/lib/heartbeat/crm/cib.xml
※記述の誤りがある場合は、メッセージが表示される。表示されない場合は、記述誤りがないことを示す。
※セカンダリサーバは、リソース設定までの設定を行えば、Heartbeat起動時に自動でcib.xmlは配布される。




PostgreSQL+DRBDのリソース設定

PostgreSQLの起動制御
・PostgreSQLの自動起動制御
両サーバでHeartBeatからPostgreSQLを起動させたいので、OS起動時に自動で起動しないようにする。
# chkconfig --del  postgresql

・起動スクリプトの修正(サンプルファイル:/usr/lib/ocf/resource.d/heartbeat/pgsql)
HeartBeatをRPMよりインストールした場合、サンプル起動スクリプトが用意されているので、それを元に修正する。
# vi /usr/lib/ocf/resource.d/heartbeat/pgsql 
: ${OCF_RESKEY_pgctl=/usr/bin/pg_ctl}
: ${OCF_RESKEY_psql=/usr/bin/psql}
: ${OCF_RESKEY_pgdata=/db/pgsql/data}
: ${OCF_RESKEY_pgdba=postgres}
: ${OCF_RESKEY_pgport=5432}
: ${OCF_RESKEY_pgdb=template1}
: ${OCF_RESKEY_logfile=/dev/null}
: ${OCF_RESKEY_stop_escalate=30}

※手動再起動用に/etc/init.d/postgresqlファイルも修正しておく
 ・両サーバの起動スクリプトをPrimaryのみで起動するように修正する。
 ・PGDATAの値も変更する
# vi /etc/init.d/postgresql
PGDATA=/db/pgsql/data
   :
   :
start(){
       #20100416 本番のみ
       H_LOCAL_STAT=`/usr/sbin/drbd-overview |awk '{print $3}'|awk -F/ '{print $1}'`
       if [ $H_LOCAL_STAT != Primary ]; then
           echo "Primaryではないため起動できません"
           exit 1

       fi
       #20100416 end
※DRBDのレプリケーション対象は、[/db]である。



HeartBeatの起動

プライマリ、セカンダリサーバでHearBeatの自動起動設定し、起動をする。
# chkconfig heartbeat on
# /etc/init.d/heartbeat start



HeartBeat2+DRBD構築【目次】

01. HeartBeat2+DRBD構築  【DRBD構築手順】
02. HeartBeat2+DRBD構築  【DRBDの起動と確認】
03. HeartBeat2+DRBD構築  【HeartBeat 基本設定】
04. HeartBeat2+DRBD構築  【HeartBeat リソース設定】
05. HeartBeat2+DRBD構築  【Heart運用手順】
06. HeartBeat2+DRBD構築  【DRBD障害対応】
07. HeartBeat2+DRBD構築  【DRBD構築時に発生したエラー】
08. 「HeartBeat+DRBD」の構築手順に役立つ書籍



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