1. CentOS 7 で Pacemaker を利用する場合の注意点
注意点
CentOS 7 上で . . . → Read More: CentOS 7 で Pacemaker を利用する場合の注意点
|
|||||
1. CentOS 7 で Pacemaker を利用する場合の注意点 注意点 Pacemaker本家コミュニティにて、開発最新版のPacemaker 1.1.10 がリリースされました。本バージョンに大きな問題がなければ、Pacemakerはメジャーバージョンアップするとの予告が出ており、1.1.10 は重要なバージョンと言えそうです。 これを記念して、Linux-HA Japanでは、いち早く最新のパッケージを使ってみたいという方のために、RHEL6(x86_64)および互換OS向けのNightlyビルドを公開したいと思います。 http://linux-ha.sourceforge.jp/nightly/ ビルド対象のパッケージは、Pacemaker 1.0系(安定版)、1.1系(開発版)、および周辺コンポーネントです。 Nightlyビルドには、Pacemaker 1.0系と1.1系両方のコンポーネントが混在しているため、どのコンポーネントを組み合わせればよいかわからない人は以下を組み合わせてみてください。 Pacemaker 1.0系 (安定版) cluster-glue . . . → Read More: Nightlyビルド公開します 先日リリースされたFedora 19には、Linux-HA Japanで開発したPostgreSQLのストリーミングレプリケーションのクラスタリング機能がついに同梱されました。 Pacemaker のバージョンも開発版で比較的新しい 1.1.9 が同梱されているので、これを使ってPostgreSQLストリーミングレプリケーションのクラスタリングに挑戦してみたいと思います。 環境今回、Fedoraのインストール手順方法は割愛しますが、以下の環境を用意してください。
インストール両ノードに、yumを使って必要なパッケージを一気にインストールし、PostgreSQLのアーカイブディレクトリを作成しておきます。(両ノードで実行) # yum install postgresql-server pacemaker corosync pcs
読み込んだプラグイン:langpacks, refresh-packagekit
(省略)
完了しました!
# su - postgres
$ mkdir /var/lib/pgsql/pg_archive
PostgreSQLの設定PostgreSQLのデータベースクラスタを作成します。(52-fe19上で実行) $ cd /var/lib/pgsql/data
$ initdb
データベースシステム内のファイルの所有者は"postgres"ユーザでした。
このユーザがサーバプロセスを所有しなければなりません。
(省略)
成功しました。以下を使用してデータベースサーバを起動することができます。
postmaster -D /var/lib/pgsql/data
または
pg_ctl -D /var/lib/pgsql/data -l logfile start
postgresql.conf ファイルに以下を設定します。その他の設定はデフォルトのままで構いません。なお、synchronous_standby_names パラメータが設定されている場合は、必ずコメントアウトして無効にしておいてください。(52-fe19上で設定) listen_addresses = '*'
wal_level = hot_standby
synchronous_commit = on
archive_mode = on
archive_command = 'cp %p /var/lib/pgsql/pg_archive/%f'
max_wal_senders=5
wal_keep_segments = 32
hot_standby = on
restart_after_crash = off
replication_timeout = 5000
wal_receiver_status_interval = 2
max_standby_streaming_delay = -1
max_standby_archive_delay = -1
synchronous_commit = on
restart_after_crash = off
hot_standby_feedback = on
pg_hba.conf ファイルを設定します。(セキュリティは全く考慮していません) (52-fe19上で設定) host all all 127.0.0.1/32 trust
host all all 192.168.0.0/16 trust
host replication all 192.168.0.0/16 trust
PostgreSQLを起動します。(52-fe19上で実行) $ pg_ctl -D . start
サーバは起動中です。
53-fe19 にデータをコピーします。(53-fe19上で実行) # su - postgres
$ pg_basebackup -h 192.168.0.152 -U postgres -D /var/lib/pgsql/data -X stream -P
手動でレプリケーション接続できるか試します。53-fe19に/var/lib/pgsql/data/recovery.confを作成します。 standby_mode = 'on'
primary_conninfo = 'host=192.168.1.152 port=5432 user=postgres'
restore_command = 'cp /var/lib/pgsql/pg_archive/%f %p'
recovery_target_timeline = 'latest'
53-fe19のPostgreSQLを起動します。(53-fe19上で実行) $ pg_ctl -D /var/lib/pgsql/data/ start
52-fe19上で以下のSQLを使ってレプリケーションの状態を確認します。 $ psql -c "select client_addr,sync_state from pg_stat_replication;"
client_addr | sync_state
---------------+------------
192.168.1.153 | async
(1 行)
無事レプリケーション接続できました。では、一旦両ノードのPostgreSQLを停止します。(両ノードで実行) $ pg_ctl -D /var/lib/pgsql/data stop
$ exit
Corosyncの設定corosyncの設定ファイル/etc/corosync/corosync.confを用意します。(両ノードで作成) quorum {
provider: corosync_votequorum
expected_votes: 2
}
aisexec {
user: root
group: root
}
service {
name: pacemaker
ver: 0
use_mgmtd: yes
}
totem {
version: 2
secauth: off
threads: 0
rrp_mode: active
clear_node_high_bit: yes
token: 4000
consensus: 10000
rrp_problem_count_timeout: 3000
interface {
ringnumber: 0
bindnetaddr: 192.168.0.0
mcastaddr: 226.94.1.1
mcastport: 5405
}
interface {
ringnumber: 1
bindnetaddr: 192.168.1.0
mcastaddr: 226.94.1.1
mcastport: 5405
}
}
logging {
fileline: on
to_syslog: yes
syslog_facility: local1
syslog_priority: info
debug: off
timestamp: on
}
Corosyncを起動します。(両ノードで実行) # systemctl start corosync.service
/var/log/messages に以下のようなメッセージが出ればcorosyncの起動成功です。 [MAIN ] main.c:275 Completed service synchronization, ready to provide service.
ちなみに私の環境では、52-fe19でこのログが出続けていますが、原因はよくわかりません。。。とりあえず動いているようなのでこのまま先に進みます。(おぃ! ) Incrementing problem counter for seqid 2087 iface 192.168.0.152 to [1 of 10]
次はPacemkaerの起動・設定に入っていきます。 2010-08-31に、本家にてcorosync 1.2.8がリリースされました。 以下よりソースコードのダウンロードができます。 Corosync.org . . . → Read More: corosync 1.2.8がリリースされました 2010-07-28に、本家にてcorosync 1.2.7がリリースされました。 以下よりソースコードのダウンロードができます。 Corosync.org . . . → Read More: corosync 1.2.7がリリースされました 2010-06-30に、本家にてcorosync . . . → Read More: corosync 1.2.6がリリースされました 2010-06-21に、本家にてcorosync . . . → Read More: corosync 1.2.5 がリリースされました |
|||||
Copyright © 2023 Linux-HA Japan - All Rights Reserved |