View UltraMonkey-L7 Pacemaker 環境インストールマニュアル(1.0.13-x 対応版)
file info- category(Tag)
- for_PM1.0.x
- file name
- UltraMonkey-L7_PM_install_manual_v1.0.txt
- last update
- 2013-09-25 10:41
- type
- Plain Text
- editor
- hibari
- description
- UltraMonkey-L7 用の Pacemaker インストールマニュアルです
- language
- Japanese
- translate
UltraMonkey-L7 Pacemaker環境インストールマニュアル v1.1 【v1.0.13-x対応版】
[変更履歴]
2013.08.09 [v1.0]:初版
2013.09.25 [v1.1]:3.1 Pacemaker の構成からlogd.cfを削除 4.1 前提条件を修正
------------------------------------------------------------------------
1 前提条件
1.1 主な仕様
1.2 事前準備
2 インストール
2.1 ユーザの作成、パスワード設定
2.2 本体のインストール
2.3 Pacemaker追加パッケージのインストール
2.4 Pacemaker設定モジュールのインストール
3 Pacemaker の設定
3.1 Pacemaker本体モジュールのスクリプト(/etc/init.d/heartbeat) の編集
3.2 クラスタの基本設定(/etc/ha.d/ha.cf) の編集
3.3 クラスタの詳細設定(sample.crm) の編集
3.4 RAスクリプトの配置
4 Pacemaker の動作確認
4.1 前提条件
4.2 確認モニタ起動
4.3 Pacemakerの起動
4.4 Pacemakerの状態確認
4.5 ACT/SBY の切替確認
------------------------------------------------------------------------
1 前提条件
本マニュアルが想定する環境を以下に示します。
1.1 主な仕様
1.1.1 ハードウェア(推奨)
CPU: Xeon 5160 3.00GHz 相当、メモリ: 4GB 相当、HDD: 10GB 相当
Ethernet:1000BASE-T、1000BASE-SX
1.1.2 主なソフトウェア
・OS:RedHatEnterpriseLinux 5.9 (kernel2.6.18-348) x86_64版
・OS:RedHatEnterpriseLinux 6.4 (kernel2.6.32-358) x86_64版
・L7負荷分散フレームワーク(l7vsd)
・L7サーバ監視設定ツール(l7directord)
1.1.3 本マニュアルで使用するパッケージ
・pacemaker-<ver>.x86_64.repo.tar.gz
本マニュアルでは、上記のソースを使用することとして
記述しております。
異なるバージョン等使用する際には注意願います。
すでにUltraMonkey-L7 v3がインストールされている状態とします。
1.2 事前準備
1.2.1 RHELリポジトリの設定
RHELパッケージのリポジトリを設定します。ここでは
例としてRHELインストールDVDを利用する方法を挙げておきます。
RHELインストールDVDをマウントします。
# mount /dev/dvd /media
マウントしたRHELインストールDVDをリポジトリに設定します。
# vi /etc/yum.repo.d/rheldvd.repo
[rhel-server]
name=Red Hat Enterprise Linux $releasever - $basearch - server
baseurl=file:///media/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
1.2.2 Pacemakerリポジトリパッケージの取得と展開
以下のサイトよりPacemakerリポジトリパッケージをダウンロードします。
http://linux-ha.sourceforge.jp/wp/dl
ファイル名は以下になります。
pacemaker-<ver>.x86_64.repo.tar.gz
取得したリポジトリパッケージを/tmpで展開します。
# cd /tmp
# tar zxvf pacemaker-<ver>.x86_64.repo.tar.gz
2 インストール
2.1 yumキャッシュのクリア
# yum clean all
Loaded plugins: rhnplugin, security
Cleaning up Everything ← このログが出力されることを確認する。
2.2 Pacemakerのインストール
# cd /tmp/pacemaker-<ver>.x86_64.repo
# yum -c pacemaker.repo install -y pacemaker pacemaker-mgmt \
pm_crmgen pm_logconvhb pm_diskd pm_extras pm_kvm_tools vm-ctl ipmitool
2.3 インストール後作業
2.2.3 一時的なyumリポジトリの無効化
1.2.1 で例として挙げたDVDのリポジトリを削除します。
# rm /etc/yum.repos.d/rheldvd.repo
その後、umountコマンドでDVDをアンマウントします。
# umount /media
2.2.4 Pacemakerリポジトリパッケージの削除
/tmpに展開したPacemakerリポジトリパッケージを削除します。
# rm -rf /tmp/pacemaker-<ver>.x86_64.repo
2.3.7 RAファイルとCRMファイルを所定のディレクトリに配置
# cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/L7vsd /usr/lib/ocf/resource.d/heartbeat/L7vsd
# cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/L7directord /usr/lib/ocf/resource.d/heartbeat/L7directord
# mkdir ~/pm_def
# cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/sample.crm ~/pm_def/sample.crm
RAファイルに実行権限がついていることを確認します。
# ls -l /usr/lib/ocf/resource.d/heartbeat/L7vsd
# ls -l /usr/lib/ocf/resource.d/heartbeat/L7directord
3 Pacemaker の設定
3.1 Pacemaker の構成
以下のドキュメント(英語)に従って必要ファイルの設定を行います
http://www.clusterlabs.org/doc/en-US/Pacemaker/1.0/html/Pacemaker_Explained/index.html
- authkeys
- ha.cf
(※参考例 authkeys)
# vim /etc/ha.d/authkeys
auth 1
1 sha1 ClusterKey01
(※参考例 ha.cf)
# vim /etc/ha.d/ha.cf
pacemaker on
logfacility local1
debug 0
udpport (ポート番号)*1
keepalive 2
warntime 7
deadtime 10
initdead 48
bcast (NIC名)*2
node (LBサーバ名)*3
node (LBサーバ名)*4
watchdog /dev/watchdog
respawn root /usr/lib64/heartbeat/ifcheckd
*1 : インターコネクト通信用ポート番号を設定
*2 : インターコネクトLANのネットワークデバイス名を設定(※ 対向Nodeに直結したLAN)
*3 : Primary LBサーバ名を設定
*4 : Secondary LBサーバ名を設定
(※参考例 syslog.conf)
# vim /etc/syslog.conf
以下を追記
local1.info /var/log/ha-log
(※参考例 rsyslog.conf)
# vim /etc/rsyslog.conf
以下を追記
local1.info /var/log/ha-log;RSYSLOG_TraditionalFileFormat
$EscapeControlCharactersOnReceive off
3.3 クラスタの詳細設定 (~/pm_def/sample.crm) の編集
3.3.1 VIPcheckプリミティブ・パラメータ の編集
※ -> 編集部分
# vim ~/pm_def/sample.crm
・・・
primitive prmVIPcheck ocf:heartbeat:VIPcheck \
params \
target_ip="MODIFY_TARGET_VIP" \ (*1)
count="1" \
wait="10" \
op start interval="0s" timeout="90s" on-fail="restart" start_delay="4s"
・・・
*1 : Virtual-IPを設定する
3.3.2 VIPプリミティブ・パラメータ の編集
※ -> 編集部分
# vim ~/pm_def/sample.crm
・・・
primitive prmVIP ocf:heartbeat:IPaddr2 \
params \
ip="MODIFY_VIP_IP" \ (*1)
nic="MODIFY_VIP_NIC" \ (*2)
cidr_netmask="MODIFY_VIP_NETMASK" \ (*3)
op start interval="0s" timeout="60s" on-fail="restart" \
op monitor interval="10s" timeout="60s" on-fail="restart" \
op stop interval="0s" timeout="60s" on-fail="block"
・・・
*1 : Virtual-IPを設定する
*2 : Virtual-IPに接続するネットワークデバイス名
*3 : ネットマスク
3.3.3 Pingdプリミティブ・パラメータ の編集
※ -> 編集部分
# vim ~/pm_def/sample.crm
・・・
primitive prmPingd ocf:pacemaker:pingd \
params \
name="default_ping_set" \
host_list="MODIFY_PING_TARGET_IP" \ (*1)
multiplier="100" \
op start interval="0s" timeout="60s" on-fail="restart" \
op monitor interval="10s" timeout="60s" on-fail="restart" \
op stop interval="0s" timeout="60s" on-fail="ignore"
・・・
*1 : GWなど監視先IPアドレスを設定する
3.3.4 Diskdプリミティブ・パラメータ の編集
※ -> 編集部分
# vim ~/pm_def/sample.crm
・・・
primitive prmDiskd ocf:pacemaker:diskd \
params \
name="diskcheck_status_internal" \
device="MODIFY_TARGET_DISK_DEV" \ (*1)
interval="10" \
op start interval="0s" timeout="60s" on-fail="restart" \
op monitor interval="10s" timeout="60s" on-fail="restart" \
op stop interval="0s" timeout="60s" on-fail="ignore"
・・・
*1 : /dev/sdaなど監視ディスクデバイス名を設定する
3.3.5 Primary/Secondaryサーバの編集
※ -> 編集部分
# vim ~/pm_def/sample.crm
・・・
location rsc_location-grpUltraMonkey-1 grpUltraMonkey \
rule 200: #uname eq MODIFY_PRYMARY_HOST \ (*1)
rule 100: #uname eq MODIFY_SECONDARY_HOST \ (*2)
rule -INFINITY: not_defined default_ping_set or default_ping_set lt 100 \
rule -INFINITY: not_defined diskcheck_status_internal or diskcheck_status_internal eq ERROR
・・・
*1 : Primary LBサーバ
*2 : Secondary LBサーバ
3.3.6 不要ファイルの削除
/var/lib/heartbeat/crm 配下にファイルがある場合、全ファイルを削除
3.3.7 【参考】各種設定情報のネットワーク図
Virtual-IP
|
+---------------------------------------------------+
| |
+------------------+ インターコネクトLAN +--------------------+
| Primary LBサーバ |------------------------------| Secondary LBサーバ |
+------------------+ +--------------------+
4 Pacemaker の動作確認
4.1 前提条件
4.1.1 L7vsd/L7directordを起動
# /etc/init.d/l7vsd start
# /etc/init.d/l7directord start
正常に起動できることを確認
4.1.2 L7vsd/L7directordの停止
# /etc/init.d/l7vsd stop
# /etc/init.d/l7directord stop
正常に停止できることを確認
4.1.3 /etc/hostsの設定確認
/etc/hostsが適切に設定してあることを確認
4.2 確認モニタ起動
※ どちらの Node でも可
4.2.1 モニタ起動コマンドを実行し、以下が表示されることを確認
# crm_mon -1
Not connected: Refresh in 2s...
4.3 Pacemaker の起動
※ 両 Node で実施
4.3.1 Pacemaker 起動コマンドを実行し、以下が表示されることを確認
# service heartbeat start
Starting High-Availability services: [ OK ]
4.3.2 【参考】Pacemaker を停止する方法は、以下のコマンドを実行する
# service heartbeat stop
Stopping High-Availability services: [ OK ]
4.4 クラスタの詳細設定 (~/pm_def/sample.crm) のロード
※どちらか片方の Node のみで実施
4.4.1 Pacemaker が起動していることを確認。
# crm_mon -1
heartbeat is running.
============
Last updated: 時間表示
:(省略)
2 Nodes configured, unknown expected votes (*1)
0 Resources configured.
============
Online: [ PrimaryNode名 SecondaryNode名 ] (*2)
Node Attributes:
* Node PrimaryNode名:
+ SecondaryNode名-eth2 : up
* Node SecondaryNode名:
+ PrimaryNode名-eth2 : up
Migration summary:
* Node PrimaryNode名:
* Node SecondaryNode名:
*1 : ノード数の確認
*2 : 全ノードが Online
4.4.2 sample.crm をロードする
# crm options sort-elements no
# crm configure load update ~/pm_def/sample.crm
4.5 Pacemakerの状態確認
4.5.1 モニタで、以下が表示がされることを確認
*1) Node数を確認
*2) リソースグループ数+cloneリソース数を確認
*3) 2つのNodeが「online」 と表示されていることを確認(※起動していないときはOFFLINE)
*4) prmVIPcheck、prmVIP、prmL7directordの3項目がResource Groupになっていることを確認
*5) 上記3項目がStartedとなっていることを確認
# crm_mon -fA
============
Last updated: Tue Jul 2 14:23:40 2013
Stack: Heartbeat
Current DC: Node名 (f8342456-2d38-4a17-89f3-c98cb826473e) - partition with quorum
Version: 1.0.12-066152e
2 Nodes configured, unknown expected votes (*1)
4 Resources configured. (*2)
============
Online: [ PrimaryNode名 SecondaryNode名 ] (*3)
Resource Group: grpUltraMonkey +
prmVIPcheck (ocf::heartbeat:VIPcheck): Started PrimaryNode名 |(*4)
prmVIP (ocf::heartbeat:IPaddr2): Started PrimaryNode名 |(*5)
prmL7directord (ocf::heartbeat:L7directord): Started PrimaryNode名 +
Clone Set: clnL7vsd
Started: [ PrimaryNode名 SecondaryNode名 ]
Clone Set: clnPingd
Started: [ PrimaryNode名 SecondaryNode名 ]
Clone Set: clnDiskd
Started: [ PrimaryNode名 SecondaryNode名 ]
Node Attributes:
* Node PrimaryNode名:
+ default_ping_set : 100
+ diskcheck_status_internal : normal
+ SecondaryNode名-eth2 : up
* Node SecondaryNode名:
+ default_ping_set : 100
+ diskcheck_status_internal : normal
+ PrimaryNode名-eth2 : up
4.6 ACT/SBY の切替確認
4.6.1 ACT(本例では、Primary Node)のPacemakerを停止し、ACT/SBYを切替
# service heartbeat stop
Stopping High-Availability services: [ OK ]
4.6.2 モニタで、以下が表示されることを確認
*1) Secondary Node が online と表示されていることを確認
*2) Primary Node が OFFLINE と表示されていることを確認
*3) Resource Groupの prmVIPcheck、prmVIP、prmL7directord が
Secondary Node で Started していることを確認
============
Last updated: Tue Jul 2 15:26:38 2013
Stack: Heartbeat
Current DC: SecondaryNode名 (f8342456-2d38-4a17-89f3-c98cb826473e) - partition with quorum
Version: 1.0.12-066152e
2 Nodes configured, unknown expected votes
4 Resources configured.
============
Online: [ SecondaryNode名 ] (*1)
OFFLINE: [ PrimaryNode名 ] (*2)
Resource Group: grpUltraMonkey +
prmVIPcheck (ocf::heartbeat:VIPcheck): Started SecondaryNode名 |(*3)
prmVIP (ocf::heartbeat:IPaddr2): Started SecondaryNode名 |
prmL7directord (ocf::heartbeat:L7directord): Started SecondaryNode名 +
Clone Set: clnL7vsd
Started: [ SecondaryNode名 ]
Stopped: [ prmL7vsd:0 ]
Clone Set: clnPingd
Started: [ SecondaryNode名 ]
Stopped: [ prmPingd:0 ]
Clone Set: clnDiskd
Started: [ SecondaryNode名 ]
Stopped: [ prmDiskd:0 ]
Node Attributes:
* Node SecondaryNode名:
+ default_ping_set : 100
+ diskcheck_status_internal : normal
Migration summary:
* Node SecondaryNode名:
| |