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

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

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

 

安装keepalived并实现双机热备

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

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

上传后/home目录详情:

实验拓扑图:

实验环境:

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

1.准备工作

1) 关闭网络管理控制
vim /etc/sysconfig/network-scripts/ifcfg-eth0  #找到配置文件
按i  进入编辑模式
将配置项NM_CONTROLLED=yes改成no
esc :wq退出并保存

2)安装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.25.137)

1.修改keepalived配置文件

echo "" > /etc/keepalived/keepalived.conf  #清空keepalived.conf中的内容
vim /etc/keepalived/keepalived.conf  #开始修改
按i进入编辑模式   参照以下内容进行配置

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 eth0	##承载虚拟地址的物理接口
    virtual_router_id 51	##虚拟路由器的ID号  每个热备组保持一致
    priority 100	##优先级  数值越大优先级越高  我这里主服务器设置为100从服务器设置为50
    advert_int 1	##通知间隔秒数(心跳频率)
    authentication {	##认证信息  每个热备组保持一致
        auth_type PASS	##认证类型
        auth_pass 1111	##密码字串
    }
    virtual_ipaddress {	##指定虚拟地址(VIP)  可以有多个
        192.168.25.100	##虚拟ip最后三位可以随便指定的    但主从服务器虚拟ip要保持一致
        ##虚拟ip前面的部分(192.168.25)是和你主从服务器前面的保持一致
    }
}

按esc :wq保存并退出

2.启动服务  查看虚拟ip

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

(如果你没有看到你所配置的虚拟ip不一定是你配错了  很大的可能是显示延迟  你可以选择过3分钟后再查看或者重启主服务器)

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

1.修改keepalived配置文件

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

按i进入编辑模式   参照以下内容进行配置

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 eth0
    virtual_router_id 51
    priority 50  ##优先级和主服务器不同
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.25.100  ##虚拟ip(要和主服务器的虚拟ip保持一致)
    }
}

按esc :wq保存文件并退出

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

service iptables save  #保存

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

四、测试双机热备

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

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

主服务器此时拥有虚拟ip

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

2.现在我们将主服务器上面的网卡禁用

ifconfig eth0 down  #关闭主服务器网卡

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

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

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

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

3.主服务器上线后虚拟ip又会漂移到主服务器上(因为主服务优先级高是100)[选做]

ifconfig eth0 up  #开启主服务器网卡(如果你执行这个命令后发现主服务器并没有抢夺虚拟ip  那你重启主服务器试试)

查看主服务器ip情况

安装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环境
按i进入编辑模式

将如下内容配置到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

esc :wq保存文件并退出

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端口
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT  #开放linux的对外访问的端口8080
/etc/rc.d/init.d/iptables save  #保存配置

三、运行tomcat

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

./startup.sh  #启动tomcat服务

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

备用服务器的tomcat配置同理~~

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

一、卸载系统自带mysql

rpm -qa | grep mysql  #查看系统中是否自带mysql
rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64  #卸载自带mysql
rpm -qa | grep mysql  #查看是否卸载成功

二、安装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  #查看文件夹是否有刚才拷贝进来的文件

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

五、开启远程登录权限

保持mysql是登录状态  输入如下命令:
grant all privileges on *.* to 'root' @'%' identified by '123456';  #开启远程登录mysql的权限
flush privileges;  #刷新mysql系统权限相关表
输入exit退出mysql
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT  #开放Linux的对外访问的端口3306
/etc/rc.d/init.d/iptables save  #将修改永久保存到防火墙中

使用navicat远程连接数据库

备用服务器配置和这是一样一样滴~~

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

猜你喜欢

转载自blog.csdn.net/Berzingou/article/details/82017228