hghac集群ipv6设置参考
文章目录环境文档用途详细信息环境系统平台Linux x86-64 Red Hat Enterprise Linux 7版本4.5.10文档用途本文主要用于指导hghac集群如何使用ipv6。支持版本说明hghac4.2.3开始etcd及etcd支持使用ipv6但自带的vip-manager版本不支持ipv6需要升级到更高版本的vip-manager才可支持ipv6。hghac4.2.5及更新版本中的所有组件均支持ipv6。详细信息一、整体步骤1、按照数据库集群先备后主的顺序关闭hghac集群服务及数据库服务2、关闭集群的vip-manager服务3、关闭集群的etcd服务4、删除各节点的etcd data目录5、修改各节点etcd的配置文件将文件中的ipv4地址更换为ipv6三个节点均需修改修改完成后启动etcd服务三个节点启动时间不要超过10s。6、确认etcd集群状态状态正常后修改对应的环境变量信息7、修改各节点的hghac配置文件将文件中的ipv4地址修改为ipv68、启动主节点hac状态无误后再启动备节点hac服务9、修改各节点vip-manger配置文件信息将涉及到的ipv4地址替换为ipv6地址上传新版本vip-manger服务器替换旧版本vip-manager。10、启动各节点vip-manger服务确认vip是否挂载挂载完成则替换成功。11、验证能否正常备份确认是否修改pgpass文件。二、环境说明序号集群架构ipv4ipv6vip1hghac192.168.11.51fd15:4ba5:5a2b:1008:a516:cbff:be1c:2148/64fd15:4ba5:5a2b:1008:a516:cbff:be1c:204c2hghac192.168.11.52fd15:4ba5:5a2b:1008:200c:29ff:fe0a:aeb0/64fd15:4ba5:5a2b:1008:a516:cbff:be1c:204c3hghac192.168.11.53fd15:4ba5:5a2b:1008:fd42:d7ab:ea6e:5aef/6fd15:4ba5:5a2b:1008:a516:cbff:be1c:204c三、步骤明细1、按照数据库集群先备后主的顺序关闭hghac集群服务及数据库服务#检查数据库集群主备节点role角色列中leader节点为主节点其他节点为备节点①任意节点执行hghactl list确认主备②按照先备后主的顺序去各数据库节点停止hghac服务systemctl stop hghac.service2、关闭集群的vip-manager服务 在所有节点执行关闭命令systemctl stop vip-manager.service3、关闭集群的etcd服务在所有节点执行关闭命令systemctl stop etcd.service4、备份各节点的etcd data目录①确定etcd data目录的路径三个节点可能不一致请详细检查cat /usr/local/hghac/etcd/etcd.yml|grep />②修改各节点的etcd环境变量vi ~/.bash_profile #export ETCDCTL_ENDPOINTShttp://192.168.11.51:2379,http://192.168.11.52:2379,http://192.168.11.53:2379 --把原来ipv4的环境变量信息注释掉前面加#号 export ETCDCTL_ENDPOINTShttp://[fd15:4ba5:5a2b:1008:a516:cbff:be1c:2148]:2380,http://[fd15:4ba5:5a2b:1008:200c:29ff:fe0a:aeb0]:2380,http://[fd15:4ba5:5a2b:1008:fd42:d7ab:ea6e:5aef]:2380③使之生效source ~/.bash_profile④执行etcd集群状态检查etcdctl endpoint status -w table⑤开启etcd集群的密码登陆验证etcdctl user add root --新建用户--输入两次密码假如密码为highgo etcdctl --user root:highgo auth enable --开启密码验证 etcdctl --user root role get root --验证密码登陆,命令执行完成后需输入密码才能登陆。7、修改各节点的hghac配置文件将涉及到的ipv4地址修改为ipv6对于配置文件中的特殊说明①etcd3部分需配置刚才添加的etcd用户及密码②listen部分*:5867改为[::]:5867 端口号根据实际情况来③pg_hba部分的说明0.0.0.0/0改为::/0127.0.0.1/32改为::1/128vi /usr/local/hghac/hac/hghac.yml scope: test namespace: /service/ name: see_02 restapi: listen: [fd15:4ba5:5a2b:1008:200c:29ff:fe0a:aeb0]:8008 connect_address: [fd15:4ba5:5a2b:1008:200c:29ff:fe0a:aeb0]:8008 etcd3: hosts: [fd15:4ba5:5a2b:1008:a516:cbff:be1c:2148]:2379,[fd15:4ba5:5a2b:1008:200c:29ff:fe0a:aeb0]:2379,[fd15:4ba5:5a2b:1008:fd42:d7ab:ea6e:5aef]:2379 username: root password: highgo bootstrap: dcs: ttl: 30 loop_wait: 10 retry_timeout: 10 maximum_lag_on_failover: 1048576 master_start_timeout: 300 synchronous_mode: false postgresql: use_pg_rewind: true parameters: wal_level: replica hot_standby: on wal_keep_size: 100 max_wal_senders: 10 max_replication_slots: 10 wal_log_hints: on archive_mode: off archive_timeout: 1800s logging_collector: on method: initdb_keygen initdb_keygen: command: /usr/local/hghac/hac/initdb_keygen.sh keep_existing_recovery_conf: True no_params: True postgresql: database: highgo listen: [::]:5867 --监听所有ipv6地址 connect_address: [fd15:4ba5:5a2b:1008:200c:29ff:fe0a:aeb0]:5867 bin_dir: /opt/highgo/hgdb-see-4.5.8/bin data_dir: /opt/highgo/hgdb-see-4.5.8/data config_dir: /opt/highgo/hgdb-see-4.5.8/data pgpass: /tmp/.pgpass authentication: replication: username: sysdba password: Hello1234 rewind: username: sysdba password: Hello1234 sysdba: password: Hello1234 syssso: password: Hello1234 syssao: password: Hello1234 parameters: ssl: on ssl_cert_file: /opt/highgo/hgdb-see-4.5.8/data/server.crt ssl_key_file: /opt/highgo/hgdb-see-4.5.8/data/server.key pg_hba: - local all all sm3 - host all all ::1/128 sm3 - host all all ::/0 sm3 - local replication all sm3 - host replication all ::1/128 sm3 - host replication all ::/0 sm3 - hostssl replication all ::/0 sm3 - hostssl replication all ::1/128 sm38、启动数据库主节点hac状态无误后再启动备节点hac服务①启动主节点hac服务确认主节点状态正常systemctl start hghac.service hghactl list②主节点启动成功后启动备节点的hac服务确认是否正常systemctl start hghac.service hghactl list上图中观察role列存在leader及replica或sync standby节点lag in MB为0则表明状态正常。9、修改各节点vip-manger配置文件信息将涉及到的ipv4地址替换为ipv6地址将新版本的vip-manger命令上传到当前环境替换旧版本vip-manager命令vip-manager需使用4.2.5之后的版本才执行ipv6的使用需要手动copy一个新版的vip-manger命令到当前环境下替换旧版本的vip-manager。etcd-user及etcd-password使用第6步中配置的etcd的root用户及对应密码vi /usr/local/hghac/vip-manager/vip-manager.yml [roothost2 ~]# cat /usr/local/hghac/vip-manager/vip-manager.yml interval: 1000 trigger-key: /service/test/leader trigger-value: see_02 ip: fd15:4ba5:5a2b:1008:a516:cbff:be1c:204c netmask: 64 interface: ens33 hosting-type: basic dcs-type: etcd dcs-endpoints: http://[fd15:4ba5:5a2b:1008:a516:cbff:be1c:2148]:2379,http://[fd15:4ba5:5a2b:1008:200c:29ff:fe0a:aeb0]:2379,http://[fd15:4ba5:5a2b:1008:fd42:d7ab:ea6e:5aef]:2379 --格式显示问题需要左侧缩进4格 etcd-user: root etcd-password: highgo retry-num: 2 retry-after: 250 verbose: false10、启动各节点vip-manger服务确认vip挂载情况挂载正常则处理完毕①启动vip-managersystemctl start vip-manager.service②查看服务状态systemctl status vip-manager.service -l11、验证能否正常备份查看修改pgpass文件。检查密码文件如果存在127.0.0.1的地址修改为1vi ~/.pgpass localhost:5867:highgo:sysdba:Hello1234 ::1:5867:highgo:sysdba:Hello1234检查定时任务中的备份任务如果条件运行手动进行一次全备也可以等第二天检查备份情况是否正常。