mysql远程访问,主从/主主双机备份,以及使用keeplived实现故障自动切换(二)

来源:互联网 发布:mac菜单栏如何清除 编辑:程序博客网 时间:2024/06/14 16:26

3. 双机故障切换

  Keepalived的作用是检测服务器的状态,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中。
  

(1)在两台主机上分别装上Keepalived。

   由于在安装过程中遇到很多坑,故将步骤描述一下

 1. 下载keepalived-1.2.21.tar.gz。不同版本目录结构有一定区别,以下步骤不一定适用于其他版本。 2. 在/usr/local/目录下,tar zxvf keepalived-1.2.21.tar.gz 3. cd keepalived-1.2.21  4. ./configure => make => make install 5. ln -s /usr/local/keepalived-1.2.21/bin/keepalived /usr/bin/keepalived //将keepalived命令软连接到/usr/bin下 6. cp /usr/local/keepalived-1.2.21/keepalived/etc/init.d/keepalived.init /etc/init.d/keepalived //这三步添加启动脚本且方便用service管理 7. chmod 755 /etc/init.d/keepalived //添加执行权限 8. chkconfig keepalived on //开机启动 9. 修改/etc/init.d/keepalived中的配置文件路径,将. /etc/sysconfig/keepalived改为. /usr/local/keepalived-1.2.21/keepalived/etc/init.d/keepalived.sysconfig 10. mkdir /etc/keepalived 11. ln -s /usr/local/keepalived-1.2.21/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf 12. service keepalived restart

(2)主服务器keepalived配置
  
  /etc/keepalived/keepalived.conf编辑如下:

! Configuration File for keepalivedglobal_defs {   notification_email {     ***@163.com   }   notification_email_from ***@163.com   smtp_server 127.0.0.1   smtp_connect_timeout 30   #router_id MYSQL_HA   #vrrp_skip_check_adv_addr   #vrrp_strict   #vrrp_garp_interval 0   #vrrp_gna_interval 0}vrrp_script check_mysql {    script "/usr/local/keepalived-1.2.21/check_mysql.sh" #定义监控mysql进程的脚本      interval 2 ##监控时间间隔      weight 2 #负载参数  }vrrp_sync_group VG1 {     group {        VI_1     }}vrrp_instance VI_1 {    state MASTER    interface eno16777736 #通过ifconfig查看网卡名称    virtual_router_id 51 #虚拟路由的标志,一组lvs的虚拟路由标识必须相同,这样才能切换    priority 100 #服务启动优先级,值越大,优先级越高,BACKUP 不能大于MASTER    advert_int 1 #服务器之间的存活检查时间      nopreempt #不主动抢占资源,只在master这台优先级高的设置,backup不设置    authentication {        auth_type PASS #认证类型          auth_pass 1111 #认证密码,一组lvs 服务器的认证密码必须一致      }    track_script {    check_mysql    }        virtual_ipaddress {        172.16.188.135    }}

/usr/local/keepalived-1.2.21/check_mysql.sh如下,通过能否连接mysql来监控服务器是否可用

#! /bin/bashMYSQL=/usr/bin/mysqlMYSQL_HOST=localhostMYSQL_USER=rootMYSQL_PASSWORD=123$MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD -e "show status;" > /dev/null 2>&1if [ $? == 0 ]then    echo "$MYSQL_HOST mysql login successfully"    exit 0else    /etc/init.d/keepalived stop    exit 2fi

(3)另一台服务器keepalived配置
  
  与第(2)步中基本一致,除了

  • state 设为 BACKUP
  • priority设为90
  • nopreempt不设置

注意:interface eno16777736 #通过ifconfig查到网卡名称为eno16777736

(4)两台主机防火墙配置
  由于Centos7中用firewalld替代了iptables, 考虑到以下的配置,选择关闭firewall并安装iptables。

 1、关闭firewall:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动 2、安装iptables防火墙yum install iptables-services #安装在/etc/sysconfig/iptables防火墙配置文件中添加以下3行-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT-A INPUT -d 172.16.188.135/32 -j ACCEPT#172.16.188.135为虚拟主机地址-A INPUT -d 224.0.0.18 -j ACCEPT#添加VRRP通讯支持systemctl restart iptables.service #最后重启防火墙使配置生效systemctl enable iptables.service #设置防火墙开机启动

重要提示:不能删除firewall,否则会删除很多关联的系统组件

以上步骤,即实现了故障自动切换。可通过以下方式验证。

  • 通过ip addr命令查看VIP位于哪台服务器上
  • 通过mysql -h 172.16.188.135 -u user -p看能否连接成功

注:当故障恢复的时候,要关闭重启keepalived,否则VIP无法自动切换回来

4. 参考文章

  1. 学一点 mysql 双机异地热备份—-快速理解mysql主从,主主备份原理及实践 http://www.cnblogs.com/shuidao/p/3551238.html
  2. mysql主从复制配置操作以及主主配置宕机切换演练 http://blog.csdn.net/kjsayn/article/details/51350691
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 蓝色T恤衣领汗積洗不掉怎么办 蓝色t恤衣领汗积洗不掉怎么办 羽绒服在衣柜里放黄了怎么办 白羽绒服放久了泛黄怎么办 白色t恤领子发黄怎么办 身体爱出油衣服领子总爱脏怎么办 白色衣服衣领净洗后变红怎么办 棒球服衣领洗变形怎么办 挂盐水手肿了怎么办 衣服买大了肩宽怎么办 买来的衣服肩宽怎么办 素描揉擦之后的黑点怎么办 扭脖子响了一下怎么办 画的眼线容易掉怎么办 做完眼线后眼睛肿了怎么办 洗眼线眼睛肿了怎么办 眼线留眼泪总是爱花妆怎么办 戴眼镜眼球外凸怎么办 修眉后的眉渣怎么办 内眼线容易晕妆怎么办 手抖不会画眼线怎么办 画眼线眼睛总眨怎么办 画眼线总是晕妆怎么办 眼线笔没用完干了怎么办 新的眼线笔干了怎么办 不涂口红没气色怎么办 眼线笔容易晕妆怎么办 眼线笔老是晕妆怎么办 眼线液老是晕妆怎么办 旋转眼线笔断了怎么办 眼睛去皮以后眉眼距窄怎么办 速写型总是画不准怎么办 速写人物不会打形怎么办 鼻头又圆又大怎么办 耳鸣嘴溃疡眼流泪上火怎么办 孩子看电视总挤眼睛怎么办 小孩老是咳嗽有痰怎么办 长时间看手机眼睛模糊怎么办 长时间看电脑眼睛模糊怎么办 手机玩多了眼睛模糊怎么办 手机看多了眼睛模糊怎么办