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 { ##联系邮箱
aaa@qq.com ##lemon1是我的主机名 你设置成你自己的就好
}
notification_email_from aaa@qq.com ##邮件发件人相关设置
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 {
aaa@qq.com ##这个改成你自己的就好
}
notification_email_from aaa@qq.com
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
上一篇: 2018mysql5.7.21主从异地热备份(容灾)
下一篇: 铁轨