pgpool-II を使った PostgreSQL のオンラインリカバリ(インストール編)
あとで、修正する
PostgreSQL が稼動してるサーバ側の設定
PostgreSQL を稼動させているサーバ pgsql1(192.168.1.151) と pgsql2(192.168.1.152) で
pgpool 経由での接続を許可する
- /usr/local/pgsql/data/postgres.conf
# NICを 1枚しか挿してないので listen_address = '*'
pgpool を動かすサーバ
PostgreSQL のインストール
tar zxf postgresql-8.3.5.tar.gz
cd ../src/postgresql-8.3.5/
./configure
make && make install
chown -R postgres:postgres /usr/local/pgsql
pgpool-II のインストール
tar zxf pgpool-II-2.1.tar.gz
cd pgpool-II-2.1/
./configure \
- prefix=/usr/local/pgpool2 \
- with-pgsql-libdir=/usr/local/pgsql/lib
make && make install
chown -R postgres:postgres /usr/local/pgpool2su - postgres
- postgres ユーザの環境変数 PATH に /usr/local/pgsql/bin を追加
export PATH=$PATH:/usr/local/pgsql/bin
- recovery 関連のインストール
cd /usr/local/src/pgpool-II-2.1/sql/pgpool-recovery/
make && make install
ついでに pgpool2 にも PATH を通しておく
- ~/.bashrc
export PATH=$PATH:/usr/local/pgsql/bin:/usr/local/pgpool2/bin
設定ファイルの作成
cd /usr/local/pgpool2/etc
cp pcp.conf.sample pcp.conf
cp pgpool.conf.sample pgpool.conf
cp pool_hba.conf.sample pool_hba.conf
- pcp.conf
pgpool2:027adbeda60c4110f38c4d484c6f9731
- pgpool.conf
backend_hostname0 = '192.168.1.151' backend_port0 = 5432 backend_weight0 = 1 backend_data_directory0 = '/usr/local/pgsql/data' backend_hostname1 = '192.168.1.152' backend_port1 = 5433 backend_weight1 = 1 backend_data_directory1 = '/usr/local/pgsql/data'
- pool_hba.conf
host all all 127.0.0.1/32 trust host all all 192.168.1.151 trust host all all 192.168.1.152 trust host all all 192.168.1.155 trust
ライブラリとかの配布
- /usr/local/src/pgpool-II-2.1/sql/pgpool-recovery/ にある pgpool-recovery.so と pgpool-recovery.sql を PostgreSQL が稼動しているサーバにコピーする
/usr/local/src/pgpool-II-2.1/sql/pgpool-recovery/
scp pgpool-recovery.so postgres@192.168.1.151:/usr/local/pgsql/lib
scp pgpool-recovery.so postgres@192.168.1.152:/usr/local/pgsql/lib
scp pgpool-recovery.sql postgres@192.168.1.151:/usr/local/pgsql/share
scp pgpool-recovery.sql postgres@192.168.1.152:/usr/local/pgsql/share