云部署(1)keepalived+postgresql主从

本文介绍了使用keepalived和postgresql实现云环境中的主从故障切换方案。在正常情况下,客户端通过VIP访问主服务器的postgresql服务,从服务器仅用于备份。当主服务器的postgresql服务停止时,keepalived会将VIP切换到从服务器,确保服务的连续性和数据一致性。文章还涵盖了服务器配置、客户端设置以及测试过程,强调了主从切换后的只读问题,并预告了解决方案将在后续篇幅中讨论。
摘要由CSDN通过智能技术生成

一、需求架构图

主从数据一致,用vip进行故障切换,挂了任何一台对客户的访问没有影响,从机只提供读和备份服务。

分析:正常情况cs通过vip访问ms的postgresql服务,ss这时只备份

          当mspostgresql服务停止,keepalived检测到后,也stop 自己的服务,让vip浮动到ss上

         当ms 服务正常,vip自动浮动到ms上


二、服务器配置

cs客户端

[root@cs ~]# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core) 
[root@cs ~]# ls
anaconda-ks.cfg   postgresql-9.6.5.tar.gz

解压postgresql并切换到相应的目录,

检测:要联网,检测缺少依赖包yum一下就好了

编译:这个过程太长了,我通常编译一会就ctrl c终止了,后来使用也没发现有什么不同

安装:一定要看到complete才ok,数据目录在/usr/local/pgsql下

[root@cs postgresql-9.6.5]# ./configure 
[root@cs postgresql-9.6.5]# make
[root@cs postgresql-9.6.5]# make install
[root@cs pgsql]# ls
bin  include  lib  share

没有数据目录是因为数据库还没有初始化,我还是自己创建一个数据目录pgdata吧

再指定postgresql的命令路径

[root@cs pgsql]# mkdir pgdata
[root@cs pgsql]# vim /etc/bashrc
#添加
export PATH=$PATH:/usr/local/pgsql/bin
export PGDATA=/usr/local/pgsql/pgdata
只有特定用户postgres才可以使用postgresql数据库
[root@cs pgsql]# useradd postgres
[root@cs pgsql]# cd ..
[root@cs local]# chown postgres:postgres pgsql -R

数据库初始化
[root@cs local]# which initdb
/usr/local/pgsql/bin/initdb
[root@cs local]# su postgres
[postgres@cs local]$ initdb -D $PGDATA

启动数据库
[postgres@cs local]$ cd pgsql/pgdata
[postgres@cs pgdata]$ pwd
/usr/local/pgsql/pgdata
[postgres@cs pgdata]$ pg_ctl start -D $PGDATA -l logfile
进入数据库

[postgres@cs pgdata]$ psql
psql (9.6.5)
Type "help" for help.

postgres=# 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值