LightDB高可用添加witness环境部署

(注:以下部署流程中所设计的IP、端口、HOME/DATA等路径需根据实际环境进行替换为绝对路径,此处仅为举例说明)

1. 使用同一个安装包在新的服务器上安装一个单机版并创建实例(这里以创建的实例端口为以5432 为例);
http://www.light-pg.com/docs/LightDB_Install_Manual/current/install.html#id3
http://www.light-pg.com/docs/LightDB_Install_Manual/current/install.html#id9

2. 修改实例配置文件,vim $LTDATA/lightdb.conf,修改配置shared_preload_libraries,添加ltcluster (注:仅添加ltcluster,其他项无需改动)
shared_preload_libraries='ltcluster,lt_stat_statements,lt_stat_activity,lt_prewarm,lt_cron,ltaudit,lt_hint_plan,lt_show_plans,lt_standby_forward,lt_ope,lt_pathman'

3. 重启实例,$LTHOME/bin/lt_ctl -D $LTDATA start,然后配置ltcluster,执行以下命令:
$LTHOME/bin/ltsql -h 127.0.0.1 -p 5432 -d postgres -c"create extension ltcluster;"
$LTHOME/bin/ltsql -h 127.0.0.1 -p 5432 -d postgres -c "create role ltcluster superuser password 'ltcluster' login;"
$LTHOME/bin/ltsql -h 127.0.0.1 -p 5432 -d postgres -c "create database ltcluster owner ltcluster;"

4. 在$LTHOME/etc/ltcluster下创建witness配置文件 ltcluster.conf,内容如下(192.168.11.130是witness所在服务器IP,根据实际进行修改):
node_id=3
node_name='192168111305432'
conninfo='host=192.168.11.130 port=5432 user=ltcluster dbname=ltcluster connect_timeout=2'
data_directory='$LTDATA'
pg_bindir='$LTHOME/bin'
failover='automatic'
promote_command='$LTHOME/bin/ltcluster standby promote -f $LTHOME/etc/ltcluster/ltcluster.conf'
follow_command='$LTHOME/bin/ltcluster standby follow -f $LTHOME/etc/ltcluster/ltcluster.conf --upstream-node-id=%n'
restore_command='cp $LTHOME/archive/%f %p'
monitoring_history=true #(Enable monitoring parameters)
monitor_interval_secs=2 #(Define monitoring data interval write time parameter)
connection_check_type='ping'
reconnect_attempts=3 #(before failover,Number of attempts to reconnect to primary before failover(default 6))
reconnect_interval=5
standby_disconnect_on_failover =true
log_level=INFO
log_facility=STDERR
log_file='$LTHOME/etc/ltcluster/ltcluster.log'
failover_validation_command='$LTHOME/etc/ltcluster/ltcluster_failover.sh "$LTHOME" "$LTDATA"'
shutdown_check_timeout=1800
use_replication_slots=true

5. 在witness实例中配置主、备服务器免密互通,在$LTDATA/lt_hba.conf中添加以下内容:

host all lightdb $PRIMARY_IP/32 trust
host all lightdb $STANDBY_IP/32 trust
host ltcluster ltcluster $PRIMARY_IP/32 trust
host replication ltcluster $PRIMARY_IP/32 trust
host ltcluster ltcluster $STANDBY_IP/32 trust
host replication ltcluster $STANDBY_IP/32 trust

修改完成后,执行命令 $LTHOME/bin/lt_ctl -D $LTDATA reload

同样的主、备服务器实例中的$LTDATA/lt_hba.conf也需要修改,将witness添加进去:

host all lightdb $WITNESS_IP/32 trust
host ltcluster ltcluster $WITNESS_IP/32 trust
host replication ltcluster $WITNESS_IP/32 trust

修改完成后主、备执行命令 $LTHOME/bin/lt_ctl -D $LTDATA reload

6. 将witness注册添加到环境中,执行以下命令:
$LTHOME/bin/ltcluster -f $LTHOME/etc/ltcluster/ltcluster.conf witness register -h192.168.11.128 -p 5432 -F
$LTHOME/bin/ltclusterd -d -f $LTHOME/etc/ltcluster/ltcluster.conf -p ${LTHOME}/etc/ltcluster/ltcluster.pid

7. 可使用以下命令查看状态:

ltcluster –f $LTHOME/etc/ltcluster/ltcluster.conf cluster show

ltcluster –f $LTHOME/etc/ltcluster/ltcluster.conf service status

 

posted @ 2023-02-02 08:56  小小罗的背影  阅读(30)  评论(0编辑  收藏  举报