master slave replication postgresql banner sub

Hướng dẫn cài đặt Master Slave Replication Postgresql

Master Slave Replication Postgresql là gì?

Master Slave Replication Postgresql là việc chạy song song hai database cùng một lúc. Master sẽ đóng vai trò là database chính để người thao tác trên đó. Trong khi đó, Slave sẽ đóng vai trò là 1 database phụ, nó có trách nhiệm chạy khi Master ngưng hoạt động. Tuy nhiên database Slave chỉ cho phép đọc dữ liệu, không cho phép ghi hay xóa dữ liệu. Hai database master và slave hoạt động song song và luôn trao đổi dữ liệu qua lại.

Bài viết này sẽ hướng dẫn cách cài đặt Master Slave Replication Postgresql. Các bạn có thể ứng dụng cho các database của Odoo.

Hướng dẫn cách thực hiện.

1. Cài đặt postgresql trên cả master và slave.

Cài đặt.

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib postgresql-client

2. Cấu hình trên Master.

Chạy user postgres.

sudo su – postgres

Tạo user để tạo liên kết database giữa master và slave.

psql -c "CREATE USER rep REPLICATION LOGIN CONNECTION LIMIT 1 ENCRYPTED PASSWORD 'yourpassword';"

Chỉnh sữa file pg_hba.conf.

cd /etc/postgresql/9.3/main
nano pg_hba.conf

Thêm dòng sau và lưu lại.

host replication     rep     IP_address_of_slave/32   md5

Chỉnh sữa file postgres.conf.

nano postgresql.conf

Tìm các biến sau và chỉnh lại như bên dưới:

listen_addresses = '*'
wal_level = 'hot_standby'
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 1
hot_standby = on

Restart service postgresql.

service postgresql restart

3. Cấu hình trên Slave.

Stop service postgresql.

service postgresql stop

Chỉnh sữa file pg_hba.conf.

cd /etc/postgresql/9.3/main
nano pg_hba.conf

Thêm dòng sau và lưu lại.

host replication     rep     IP_address_of_master/32   md5

Chỉnh sữa file postgres.conf.

nano postgresql.conf

Tìm các biến sau và chỉnh lại như bên dưới:

listen_addresses = '*'
wal_level = 'hot_standby'
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 1
hot_standby = on

4. Đổ dữ liệu từ master qua slave.

Trên Master.

Chạy câu lệnh sau:

sudo su -postgres
psql -c "select pg_start_backup('initial_backup');"
rsync -cva --inplace --exclude=*pg_xlog* /var/lib/postgresql/9.3/main/ slave_IP_address:/var/lib/postgresql/9.3/main/
psql -c "select pg_stop_backup();"

Trên Slave.

Tạo file recovery.

cd /var/lib/postgresql/9.3/main
nano recovery.conf

Thêm vào các dòng sau:

standby_mode = 'on'
primary_conninfo = 'host=master_IP_address port=5432 user=rep password=yourpassword'
trigger_file = '/tmp/postgresql.trigger.5432'

Restart service postgresql

service postgresql restart

Kết luận:

Mình vừa giới thiệu đến các bạn cách cài đặt Master Slave Replication Postgresql. Các bạn có thắc mắc gì có thể để lại comment chia sẽ bên dưới.
Cảm ơn các bạn theo dõi.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

7 + nineteen =