bobpxp 发表于 2018-10-8 10:51:31

mysql HA 负载均衡

  DRBD+heartbeat + LVS + keepalived+ mysql
  硬件:master *2 :安装drbd, heartbeat,mysql
  slave*3 : 安装mysql
  keep alived主机*2: 安装LVS, keepalived(real server就是slave)
  应用主机*3
  IP: 两台master 有一个HA VIP1
  两台keepalived主机有一个lvs VIP2
  写操作:
  应用主机(AS)->VIP1->dev/drbd(两台master的drbd会实时同步)
  mysql复制操作:
  0) start slave
  1) 3台slave会起一个I/O线程向vip1发送请求,请求master发送binlog;
  2)master会起一个I/O线程发送binlog给三台slave;
  3)1步骤中的I/O线程会把改变的语句保存到中继log -relay log;
  4)slave会再开一个I/O读取进程,读取relay log。
  读操作:
  三台AS->VIP2->根据lVS算法(RR或WRR)->某一台slave
  也就是读写是分离master与slave的
  一些关键的配置:
  drbd: /etc/drbd.conf, 需要配置drbd device名,例如/dev/drbd0, node1和node2的本地磁盘名,
  node1和node2的IP: 7788
  keepalived:配置vrrp, virtual serverIP配置DR模式,real servers添加slave的IP, 还有一个集成了监控slave I/O健康的脚本 check.slave.pl
  LVS: ipvsadm -L 可以看到多个real server的负载状态, 路由算法RR用于各个real server性能差不多的情况,你一个我一个,WRR加权算法,性能强的做的多。
  heartbeat相关命令:
  # crm_resource --list                     ###查看所有资源,有一组资源
  Resource Group: group_1
  IPaddr_192_168_21_1 (ocf::heartbeat:IPaddr)
  httpd_2   (lsb:httpd)
  主备切换:
  # crm_standby -v true
  # curl http://192.168.21.1/
  orasrv2.xlk.com
  ###也可以通过指定节点的方式进行切换
  ###假定节点2为主,则可以在节点1上执行一下命令将其切换为备
  # crm_standby -v true -U orasrv2.xlk.com
  rhcs切换:
  C、切换某个服务
  可以通过如下方式将一个应用服务从一个节点切换到另一个节点:
  clusvcadm -r-m
  例如:要将节点web1的服务切换到web2上。
  # clusvcadm -r WebServer -m web2.shbztech.com

页: [1]
查看完整版本: mysql HA 负载均衡