久しぶりのコンテンツ追加ですが、私の備忘録として久しぶりに追記です。
今回はPacemakerとcorosyncでHAクラスタを構築します。
機器構成は以下のとおり
cl01.test.local 192.168.1.10/24 10.10.10.10/24
cl02.test.local 192.168.1.20/24 10.10.10.20/24
192.168.1.0/24のネットワークはインターネット向けのネットワークになります。
10.10.10.0/24のネットワークは同期用のネットワークですのでインターネット等につながる必要はありません。
なので10.10.10.0/24のネットワークはクロスケーブルででも接続しておけばOKです。
【送料無料】バッファロー ツメの折れないLANケーブル カテゴリー5e クロス スタンダードタ… |
それでは早速構築を始めましょう。
PacemakerやcorosyncはRHEL7のDVD等にも収録されていますが、バグフィックス等された最新のものを使いたいのでLinux-HA JAPANから最新のバージョンを落として利用することにします。
また、yumでパッケージ管理をしたいのでLinux-HA JAPANからリポジトリパッケージを入手します。
(コンテンツ作成時の最新は1.1.13-1.1です。以下1.1.13-11での構築を進めています)
サイトからリポジトリパッケージをダウンロードできたらインストールを行います。
root@cl01 # rpm -ivh pacemaker-repo-1.1.13-1.1.el7.x86_64.rpm |
(※cl01,cl02両方で行います。)
レポジトリが入ったら早速yumでパッケージのインストールを行います。
ただし、pacemakerは仮想IPの制御にifconfigコマンドを使うようですのでnettoolsも一緒にインストールします。
root@cl01 # yum install pacemaker-all nettools |
(※cl01,cl02両方で行います。)
インストールができたら早速configを編集します。
以下変更箇所抜粋
root@cl01 # vi /etc/corosync/corosync.conf
totem { rrp_mode: active #追加
interface { bindnetaddr: 10.10.10.0 #同期用ネットワークを指定
quorum { provider: corosync_votequorum expected_votes: 2 |
(cl01,cl02ともに同じ内容で設定。)
次に同期用のキーファイルを作成します。
root@cl01 # corosync-keygen -l |
コマンドを実行するとキーファイルができるので、cl02にも転送します。
下記例ではscpを使っていますが、USBメモリ等を使ってもかまいません。
root@cl01 # scp -p /etc/corosync/authkey root@cl2.test.local:/etc/corosync/authkey |
次にPacemakerの内部プロセスに障害が発生した際もフェイルオーバーさせるために設定を追加します。
以下編集箇所抜粋
root@cl01 # vi /etc/sysconfig/pacemaker
# PCMK_fail_fast=no PCMK_fail_fast=yes
|
(cl01,cl02ともに設定)
次に起動スクリプトの修正を行います。
まずはcorosyncの起動スクリプトの修正です。
以下変更箇所抜粋
root@cl01 # cp -p /usr/lib/systemd/system/corosync.service /etc/systemd/system
root@cl01 #vi /etc/systemd/system/corosync.service
#Restart=on-failure
Restart=on-failure
#RestartSec=70
RestartSec=70
#ExecStartPre=/sbin/modprobe softdog soft_margin=60
ExecStartPre=/sbin/modprobe softdog soft_margin=6
(cl01,cl02共に設定)
root@cl01 # cp -p /usr/lib/systemd/system/pacemaker.service /etc/systemd/system # ExecStopPost=/bin/sh -c 'pidof crmd || killall -TERM corosync' | |
以上で設定は完了です。
systemctl start pacemaker でpacemakerを起動します。
crm_monで状態を確認し、cl01、cl02が共にonlineとなっていればHA構成の完成です。
ただし、Firewalldが動いていると片方しかonlineにならないことがあるので注意。
このk状態で以降crmコマンドでサービス等を設定しサービスの冗長化を行っていく。