MySQL Router高可用搭建,你学会了吗?( 五 )

  1. 验证pcs集群状态正常,无异常信息输出
[#35#root@gdb1 ~ 15:48:31]35 crm_verify -L[#36#root@gdb1 ~ 17:33:31]362.6 安装ldirectord(三台都做)
  1. ldirectord下载
下载地址 https://rpm.pbone.net/info_idpl_23860919_distro_centos_6_com_ldirectord-3.9.5-%203.1.x86_64.rpm.html
 
MySQL Router高可用搭建,你学会了吗?

文章插图
新标签打开获取到地址后,可以用迅雷下载
 
  1. 下载依赖包ipvsadm
[#10#root@gdb1 ~ 19:51:20]10 wget http://mirror.centos.org/altarch/7/os/aarch64/Packages/ipvsadm-1.27-8.el7.aarch64.rpm
  1. 执行安装,如果安装过程中,还需要其他依赖,需要自行处理
[#11#root@gdb1 ~ 19:51:29]11 yum -y install ldirectord-3.9.5-3.1.x86_64.rpm ipvsadm-1.27-8.el7.aarch64.rpm
  1. 创建配置文件/etc/ha.d/ldirectord.cf,编写内容如下
 checktimeout=3checkinterval=1autoreload=yeslogfile="/var/log/ldirectord.log"quiescent=novirtual=172.17.129.1:6446real=172.17.140.25:6446 gatereal=172.17.140.24:6446 gatereal=172.17.139.164:6446 gatescheduler=rrservice=mysqlprotocol=tcpcheckport=6446checktype=connectlogin="root"passwd="Abc1234567*"database="information_schema"request="SELECT 1"virtual=172.17.129.1:6447real=172.17.140.25:6447 gatereal=172.17.140.24:6447 gatereal=172.17.139.164:6447 gatescheduler=rrservice=mysqlprotocol=tcpcheckport=6447checktype=connectlogin="root"passwd="Abc1234567*"database="information_schema"request="SELECT 1"参数说明
  • checktimeout=3 :后端服务器健康检查等待时间
  • checkinterval=5 :两次检查间隔时间
  • autoreload=yes :自动添加或者移除真实服务器
  • logfile="/var/log/ldirectord.log" :日志文件全路径
  • quiescent=no :故障时移除服务器的时候中断所有连接
  • virtual=172.17.129.1:6446 :VIP
  • real=172.17.140.25:6446 gate :真实服务器
  • scheduler=rr :指定调度算法:rr为轮询,wrr为带权重的轮询
  • service=mysql :健康检测真实服务器时ldirectord使用的服务
  • protocol=tcp :服务协议
  • checktype=connect :ldirectord守护进程使用什么方法监视真实服务器
  • checkport=16310 :健康检测使用的端口
  • login="root" :健康检测使用的用户名
  • passwd="a123456" :健康检测使用的密码
  • database="information_schema" :健康检测访问的默认database
  • request="SELECT1" :健康检测执行的检测命令
将编写好的配置文件,分发到另外两个服务器
[#22#root@gdb1 ~ 20:51:57]22 cd /etc/ha.d/[#23#root@gdb1 /etc/ha.d 20:52:17]23 scp ldirectord.cf gdb2:`pwd`ldirectord.cf100% 13001.1MB/s00:00[#24#root@gdb1 /etc/ha.d 20:52:26]24 scp ldirectord.cf gdb3:`pwd`ldirectord.cf100% 13001.4MB/s00:00[#25#root@gdb1 /etc/ha.d 20:52:29]252.7 配置回环网卡上配置VIP(三台都做)此操作用于pcs内部负载均衡,在lo网卡上配置VIP用于pcs cluster内部通信,如果不操作,则无法进行负载均衡,脚本内容如下vip.sh,放在mysql_bin目录即可
#!/bin/bash . /etc/init.d/functionsSNS_VIP=172.16.50.161case "$1" instart)ifconfig lo:0 $SNS_VIP netmask 255.255.240.0 broadcast $SNS_VIP #/sbin/route add -host $SNS_VIP dev lo:0echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p >/dev/null 2>&1echo "RealServer Start OK";; stop)ifconfig lo:0 down #route del $SNS_VIP >/dev/null 2>&1echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "0" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "0" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "0" >/proc/sys/net/ipv4/conf/all/arp_announceecho "RealServer Stoped";; *)echo "Usage: $0 {start|stop}"exit 1 esacexit 0


推荐阅读