时间:2021-05-23
背景:高可用架构版本。
主备分别部署在机器A和B上,现在要将其分别迁移到机器C和D上。
1、首先根据源实例的备份(云盘上可用snapshot),创建一个mirror实例,mirror包含两个节点,分别部署在C和D上。
2、在源实例主节点hba.conf中增加mirror主节点的ip的设置,允许源实例主节点接受来自mirror主节点的连接。
3、mirror实例主节点,创建recovery.conf文件,设置primary_conninfo指向源主节点。启动mirror主节点,建立源实例主到mirror实例主节点的复制关系。
4、在mirror实例主节点hba.conf中增加mirror备节点的ip。允许mirror主节点接受来自mirror备节点的连接。
5、mirror实例备节点,创建recovery.conf文件,设置primary_conn指向mirror实例主节点。启动备节点,建立mirror实例主节点到mirror实例备节点的复制关系。
6、提升mirror实例主节点为cluster master。
postgresql 备提升为主的方式:
pg_ctl方法:在备库主机执行pg_ctl promote shell脚本
触发器文件方式:备库配置recover.conf文件的trigger_file参数,之后在备库主机上创建触发器文件。
补充:Postgresql迁移数据文件存放位置
centos7 里面默认的pgsql的版本是 9.2.4 如果想用更高的版本需要执行以下如下的命令
rpm -ivh https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm安装成功后进行安装
yum install postgresql11yum install postgresql11-server然后启动并且设置为开机启动
systemctl enable postgresql-11 systemctl start postgresql-11启动之后进行数据库初始化
11 以上的系统 还是比较简单的 直接执行
postgresql-setup initdb 就可以初始化数据库
设置密码等工作
su - postgres登录数据库
psql -U postgres修改密码
ALTER USER postgres WITH PASSWORD 'Test6530' 设置密码\q退出数据库
数据库的配置文件默认为:
查看服务状态可得
进入 data目录
/var/lib/pgsql/11/data//usr/lib/systemd/system/postgresql-11.servicecd /var/lib/pgsql/11/data/修改pg_hba.conf 即可
3. 创建新的数据目录
mkdir /home/pgdata4.关闭pgsql
systemctl stop postgresql-115. 复制原来的文件
cp -R /var/lib/pgsql/11/data/* /home/pgdata6.修改权限
chown -R postgres:postgres /home/pgdatachmod 750 /home/pgdata -R7. 修改systemd 里面的配置文件
vim /usr/lib/systemd/system/postgresql-11.service修改PGDATA的指向
8.执行命令重启
systemctl daemon-reloadsystemctl start postgresql-119. 删除原始PGDATA 里面的内容 重启虚拟机验证。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在疫情期间,为减少疾病传染可能性,许多公司的选择了在家远程办公。对于运维来说,既要远程运维,又要保证安全,还要在复杂的IT环境中保持高效,面临很大的挑战。新钛云
很多网站服务器在日常运维过程中很多运维人员之关心数据盘空间占用大小,往往也会忽略系统盘的大小。典型案例:/var/spool/clientmqueue/操作系统
前言在工作中可能会遇到单点Redis向Redis集群迁移数据的问题,但又不能老麻烦运维来做。为了方便研发自己迁移数据,我这里写了一个简单的Redis迁移工具,希
目前postgreSQL数据库的管理,数据查询等都需要安装postgreSQL软件或安装pgadmin等,远程访问都需要先登录到服务器等繁琐的操作。如果是开发团
本文实例讲述了Python运维自动化之nginx配置文件对比操作。分享给大家供大家参考,具体如下:文件差异对比diff.py#!/usr/bin/envpyth