centos双机热备 数据库主从相互备份(上)

 

centos双机热备 数据库主从相互备份(中):https://blog.csdn.net/Berzingou/article/details/82026815

安装包及相关文件下载:https://pan.baidu.com/s/1Zgx3hRB400JFLIGHPVdtJA 密码:gg8x

 

安装keepalived并实现双机热备

操作系统  centos(版本7.2  位数64位)
keepalived版本  keepalived-1.2.13

将软件安装包上传到两台服务器各自的/home目录下(两台服务器各有一份)

上传后/home目录详情:

centos双机热备 数据库主从相互备份(上)_第1张图片

实验拓扑图:

centos双机热备 数据库主从相互备份(上)_第2张图片

实验环境:

centos双机热备 数据库主从相互备份(上)_第3张图片

一、安装keepalived(两台服务器都要安装)

1.安装keepalived所需工具包
yum -y install kernel-devel openssl-devel popt-devel  #工具包
cd /home  #进入home目录
tar -xvf keepalived-1.2.13.tar.gz -C /usr/local  #将home目录下的keepalived软件解压到/usr/local目录下
cd /usr/local  #进入/usr/local目录
cd keepalived-1.2.13/  #进入keepalived目录
yum -y install ipvsadm  #安装ipvsadm工具
yum install gcc-c++  #gcc环境安装  中间有询问  按y后直接回车就好

2.编译安装:keepalived

./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/ && make && make install

3.添加为系统服务

chkconfig --add keepalived
chkconfig keepalived on

再次强调  keepalived两个服务器都需要安装

二、配置服务器(192.168.3.13)

1.修改keepalived配置文件

echo "" > /etc/keepalived/keepalived.conf  #清空keepalived.conf中的内容

查看网卡名称  ls/etc/sysconfig/network-scripts/ifcfg-*  (我们这里的网卡名称就是eno16777736)


vim /etc/keepalived/keepalived.conf  #开始修改(配置文件中的选项interface就是前面查询出的网卡名称)

global_defs {	##全局参数配置
   notification_email {		##联系邮箱
     [email protected]  ##lemon1是我的主机名  你设置成你自己的就好
   }
   notification_email_from [email protected]	##邮件发件人相关设置
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id master  ##当前服务器是主服务器
}

vrrp_instance VI_1 {	##定义vrrp热备实例
    state MASTER	##热备状态  MASTER表示主服务器
    interface eno16777736	##网卡名称
    virtual_router_id 51	##虚拟路由器的ID号  每个热备组保持一致
    priority 100	##优先级  数值越大优先级越高  我这里主服务器设置为100从服务器设置为50
    advert_int 1	##通知间隔秒数(心跳频率)
    authentication {	##认证信息  每个热备组保持一致
        auth_type PASS	##认证类型
        auth_pass 1111	##密码字串
    }
    virtual_ipaddress {	##指定虚拟地址(VIP)  可以有多个
        192.168.3.110	##虚拟ip最后三位可以随便指定的    但主从服务器虚拟ip要保持一致
        ##虚拟ip前面的部分(192.168.3)是和你主从服务器前面的保持一致
    }
}

2.启动服务  查看虚拟ip

service keepalived start  #启动keepalived服务
ip addr  #查看虚拟ip

centos双机热备 数据库主从相互备份(上)_第4张图片

 

三、配置备用服务器(192.168.3.14)

1.修改keepalived配置文件

echo "" > /etc/keepalived/keepalived.conf  #清空文件
vim /etc/keepalived/keepalived.conf  #配置文件

global_defs {
   notification_email {
     [email protected]  ##这个改成你自己的就好
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id backup  ##当前服务器是备用服务器
}

vrrp_instance VI_1 {
    state BACKUP	##热备状态  BACKUP表示备用服务器
    interface eno16777736 ##网卡名称
    virtual_router_id 51
    priority 50  ##优先级和主服务器不同
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.3.110  ##虚拟ip(要和主服务器的虚拟ip保持一致)
    }
}

 

将两台服务器防火墙切换为iptables  让VRRP组播其通过防火墙  启动服务

1)、关闭firewall:
service firewalld stop
systemctl disable firewalld.service #禁止firewall开机启动

2)、安装iptables防火墙
yum install iptables-services #安装

3)、编辑iptables防火墙配置
vim /etc/sysconfig/iptables #编辑防火墙配置文件

将  -A INPUT -p vrrp -j ACCEPT   加入到配置文件中

centos双机热备 数据库主从相互备份(上)_第5张图片

service iptables restart(service restart iptables) #重启
systemctl enable iptables.service #设置防火墙开机启动

service keepalived start  #启动服务
iptables -I INPUT -p ip -d 224.0.0.18 -j ACCEPT  #将ip加入防火墙白名单

service iptables save  #保存

查看备用服务器是否有虚拟ip(主服务器正常运行的时候备用服务器是没有虚拟ip的)
ip addr

centos双机热备 数据库主从相互备份(上)_第6张图片

 

四、测试双机热备

1.使用windows的cmd命令行  ping一下虚拟地址(我们这里设置的是192.168.3.101)

centos双机热备 数据库主从相互备份(上)_第7张图片

我们再次查看主服务器和备用服务器的ip情况

 

主服务器此时拥有虚拟ip

centos双机热备 数据库主从相互备份(上)_第8张图片

而备用服务器是没有虚拟ip的

centos双机热备 数据库主从相互备份(上)_第9张图片

2.现在我们重启主服务器

reboot  #重启主服务器

此时我们看到的现象是客户端ping会先断开一下  然后又能正常ping通

centos双机热备 数据库主从相互备份(上)_第10张图片

其实就是keepalived监测到了主服务器连接不上了  于是就将请求切到了备用服务器上

此时虚拟ip也会漂移到备用服务器上

centos双机热备 数据库主从相互备份(上)_第11张图片

到此我们就用keepalived实现了双机热备

 

安装JDK(两个服务器都安装)

一、卸载系统自带jdk

rpm -qa | grep java  #查看当前系统是否已经安装java

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64  #卸载系统自带jdk
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64

rpm -qa | grep java  #查看是否卸载成功

二、解压jdk安装包

mkdir /usr/local/java  #创建java文件夹
cd /home  #进入jdk安装包所在目录
ls  #查看是否有jdk安装包
tar -xvf jdk-8u181-linux-x64.tar.gz -C /usr/local/java  #解压jdk安装包到/usr/local/java目录
cd /usr/local/java  #进入java目录

ls  #查看jdk是否成功解压

三、配置java环境

vim /etc/profile  #开始配置java环境

将如下内容配置到profile文件中 

#set java environment 
JAVA_HOME=/usr/local/java/jdk1.8.0_181
JRE_HOME=/usr/local/java/jdk1.8.0_181/jre 
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 
export JAVA_HOME JRE_HOME CLASS_PATH PATH

source /etc/profile  #使配置文件生效
java -version  #查看是否配置成功

 

 

安装tomcat(两个服务器都要安装)

一、解压安装包

cd /home  #进入home目录
ls  #查看tomcat安装包是否存在
tar -xvf apache-tomcat-8.5.20.tar.gz -C /usr/local  #解压文件到/usr/local目录
cd /usr/local  #进入local目录
ls  #查看tomcat安装包是否成功解压
mv apache-tomcat-8.5.20/ tomcat  #修改文件夹apache-tomcat-8.5.20名字为tomcat
ls  #查看是否修改成功

二、开放8080端口
vim /etc/sysconfig/iptables  #进入防火墙配置文件
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT  #在配置文件中加入此行内容(开放8080端口)
service iptables restart  #重启防火墙

centos双机热备 数据库主从相互备份(上)_第12张图片

设置tomcat开机自启动

cd /etc/rc.d/

chmod +x rc.local #赋予rc.local以执行权限

vim /etc/rc.d/rc.local  #编辑开机自启动文件

加入以下配置:

# 配置tomcat自启动
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
/usr/local/tomcat/bin/startup.sh

centos双机热备 数据库主从相互备份(上)_第13张图片

三、运行tomcat

cd tomcat/bin  #进入tomcat下的bin目录
ls  #可以看到启动服务和停止服务的脚本

./startup.sh  #启动tomcat服务

使用主机ip(192.168.3.13:8080)进行访问

centos双机热备 数据库主从相互备份(上)_第14张图片

备用服务器的tomcat配置同理

 

安装mysql并实现能用navicat进行远程登录(两个服务器都要安装)

一、清除系统自带mysql  安装依赖

yum remove  mysql mysql-server mysql-libs mysql-server;  #卸载系统自带mysql
find / -name mysql  #将找到的mysql文件夹都delete掉

yum install perl-Data-Dumper.x86_64  安装perl
yum install net-tools  安装net-tools

二、安装mysql

mkdir /usr/local/mysql  #新建mysql文件夹
cd /home  #进入home目录
ls  #查看目录内容

cp MySQL-server-5.7.4_m14-1.el6.x86_64.rpm MySQL-client-5.7.4_m14-1.el6.x86_64.rpm /usr/local/mysql  #拷贝文件到mysql目录
cd /usr/local/mysql  #进入mysql文件夹
ls  #查看文件夹是否有刚才拷贝进来的文件

centos双机热备 数据库主从相互备份(上)_第15张图片

rpm -ivh MySQL-server-5.7.4_m14-1.el6.x86_64.rpm  #安装mysql服务端
rpm -ivh MySQL-client-5.7.4_m14-1.el6.x86_64.rpm   #安装mysql客户端

三、将mysql加到系统服务中并设置开机启动
chkconfig --add mysql  #加入到系统服务
chkconfig mysql on  #自动启动

四、修改mysql初始密码

service mysql start  #启动mysql服务
cat /root/.mysql_secret  #查看并复制mysql初始密码

mysql -u root -p  #登录mysql
粘贴刚才的查看的密码
成功登录!
set password = password('123456');  #修改mysql初始密码为123456

centos双机热备 数据库主从相互备份(上)_第16张图片

五、开启远程登录权限

保持mysql是登录状态  输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by '123456';  #开启远程登录mysql的权限
flush privileges;  #刷新mysql系统权限相关表
输入exit退出mysql

vim /etc/sysconfig/iptables  #进入防火墙配置文件
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT  #在配置文件中加入此行内容(用来开放3306端口)

centos双机热备 数据库主从相互备份(上)_第17张图片
service iptables restart  #重启防火墙

使用navicat远程连接数据库

centos双机热备 数据库主从相互备份(上)_第18张图片

备用服务器配置同理

 

centos双机热备 数据库主从相互备份(中):https://blog.csdn.net/Berzingou/article/details/82026815

 

你可能感兴趣的:(双机热备)