分类: MySQL 架构设计 2013-05-08 01:40
5361人阅读 评论(8)
收藏
举报

㈠ 实战环境

服务器名· IP OS MySQL
odd.example.com 192.168.1.116 RHEL-5.8 5.5.16
even.example.com 192.168.1.115 RHEL-5.8 5.5.16

㈡ 方案优缺点

      

      优点

      

      ● 安装配置简单, 实现方便,高可用效率好,可以根据服务与系统的可用性多方面进行切换

      ● 可以将写 VIP 和读 VIP 分别进行设置,为读写分离做准备

      ● 可以在后面添加多个从服务器,并做到负载均衡

      

      缺点

      

      ● 在启动或者恢复后会立即替换掉定义的 sorry_server

         因此如果要实现指定条件替换或者不替换需要通过其他方式实现,比如:临时更改MySQL的端口等

      ● 扩展不是很方便

      ● 切换需要 1s 左右的时间

㈢ 方案适用场景

      

      这个方案适用于只有两台数据库服务器并且还没有实现数据库的读写分离的情况、读和写都配置 VIP

      这个方案能够便于单台数据库的管理维护以及切换工作

      比如进行大表的表结构更改、数据库的升级等都是非常方便的

㈣ 方案架构图

㈤ 部署步骤

   

   ⑴ MySQL 安装

   

      请查阅我之前的一篇文章:MySQL 5.5 三大安装方式:【二进制、源代码编译 和 RPM 包】 安装步骤及优缺点比较

⑵ MySQL主主同步配置

      

      这也请查阅我之前的文章哈:MySQL 主主同步配置

⑶ LVS 安装

   

     在ODD EVEN:

      

       # wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

       # ln -s /usr/src/kernels/2.6.18-308.el5xen-i686/  /usr/src/linux

       # tar -zxv -f ipvsadm-1.24.tar.gz

       # cd ipvsadm-1.24

       # make

       # make install

   

   ⑷ KeepAlived安装

   

      在ODD EVEN:

   

       # wget http://www.keepalived.org/software/keepalived-1.1.19.tar.gz

       # tar -zxv -f keepalived-1.1.19.tar.gz

       # cd keepalived-1.1.19

       # ./configure --prefix=/usr/local/keepalived

       # make

       # make install

       # cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

       # cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

       # cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

       # mkdir /etc/keepalived

       

       

   ⑸ KeepAlived配置

   

     在 ODD

  1. global_defs {
  2. notification_email {
  3. linwaterbin@gmail.com
  4. }
  5. notification_email_from bychjzh@gmail.com
  6. smtp_server smtp.gmail.com
  7. smtp_connect_timeout 30
  8. router_id LVS1
  9. }
  10. vrrp_sync_group test {
  11. group {
  12. loadbalance
  13. }
  14. }
  15. vrrp_instance loadbalance {
  16. state BACKUP
  17. interface eth0
  18. lvs_sync_daemon_inteface eth0
  19. virtual_router_id 51
  20. priority 150
  21. advert_int 1
  22. authentication {
  23. auth_type PASS
  24. auth_pass 1111
  25. }
  26. virtual_ipaddress {
  27. 192.168.1.128 dev eth0 label eth0:1
  28. }
  29. }
  30. virtual_server 192.168.1.128 3306 {
  31. delay_loop 6
  32. lb_algo rr
  33. lb_kind DR
  34. persistence_timeout 20
  35. protocol TCP
  36. sorry_server 192.168.1.115 3306
  37. real_server 192.168.1.116 3306 {
  38. weight 3
  39. TCP_CHECK {
  40. connect_timeout 3
  41. nb_get_retry 3
  42. delay_before_retry 3
  43. connect_port 3306
  44. }
  45. }
  46. }

在EVEN:

   

     大部分都和 ODD 一样、只有 2 处:

   

     ● state BACKUP

   

     ● priority 150

⑹ ODD EVEN 的 realsever 配置

   

     在 ODD EVEN 上

  1. #!/bin/bash
  2. # description: Config realserver lo and apply noarp
  3. SNS_VIP=192.168.1.128
  4. /etc/rc.d/init.d/functions
  5. case "$1" in
  6. start)
  7. ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
  8. /sbin/route add -host $SNS_VIP dev lo:0
  9. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  10. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
  11. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  12. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
  13. sysctl -p >/dev/null 2>&1
  14. echo "RealServer Start OK"
  15. ;;
  16. stop)
  17. ifconfig lo:0 down
  18. route del $SNS_VIP >/dev/null 2>&1
  19. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  20. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
  21. echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
  22. echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
  23. echo "RealServer Stoped"
  24. ;;
  25. *)
  26. echo "Usage: $0 {start|stop}"
  27. exit 1
  28. esac
  29. exit 0

⑺ 启动 KeepAlived和 realsever

   

      在 ODD EVEN

   

      # /etc/rc.d/init.d/realserver.sh start

      # /etc/rc.d/init.d/keepalived start

      # echo “/etc/rc.d/init.d/realserver.sh start” >> /etc/rc.local

      # echo “/etc/rc.d/init.d/keepalived start” >> /etc/rc.local

     

   配置到这边大概都已经差不多了、接下来看看测试

   

   

   

   ㈥ 简单测试

   

      停掉ODD MySQL Server 、看看能否自动却换到 sorry_server

  1. 停止前:
  2. [root@odd keepalived]# ipvsadm -ln
  3. IP Virtual Server version 1.2.1 (size=4096)
  4. Prot LocalAddress:Port Scheduler Flags
  5. -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  6. TCP  192.168.1.128:3306 rr persistent 20
  7. -> 192.168.1.116:3306           Local   3      0          0
  8. 停止:
  9. [mysql@odd ~]$ mysqladmin shutdown
  10. 130508 00:53:50 mysqld_safe mysqld from pid file /home/mysql/mysql/data/odd.example.com.pid ended
  11. [1]+  Done                    mysqld_safe
  12. 停止后:
  13. [root@odd keepalived]# ipvsadm -ln
  14. IP Virtual Server version 1.2.1 (size=4096)
  15. Prot LocalAddress:Port Scheduler Flags
  16. -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  17. TCP  192.168.1.128:3306 rr persistent 20
  18. -> 192.168.1.115:3306           Route   1      0          0
  19. 成功!!

5
0
主题推荐
架构
mysql 数据库服务器 负载均衡 数据库
猜你在找
LINUX EVAL命令
SLF4J 简单日志门面 介绍和使用
在mysql的replicatin环境中masterslave常用参数
mysq的主从复制备份还原
利用Haffman 算法实现对ascii字符文件的压缩
discuz X3数据库表结构
set global sql_slave_skip_counter1
GlusterFS RAID1+RAID0方式的搭建replicate与unify混用
mysql做主从复制成功配置案例
varnish配置

MySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验的更多相关文章

  1. keepalived + lvs marster 与 backup 之间的 高可用

    简介 keepalived 是linux下一个轻量级的高可用解决方案,它与HACMP实现功能类似,都可以实现服务或者网络的高可用,但是又有差别:hacmp是一个专业的.功能完善的高可用软件,它提供了H ...

  2. Mysql双主互备+keeplived高可用架构介绍

    一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种 ...

  3. MySQL高可用架构之Keepalived+主从架构部署

    针对目前公司的数据库架构要做统计规划和调整,所以针对不同的业务环境要选择合适的架构就比较重要,同时作为运维人员又要考虑到维护的便捷性(不能做过多架构维护),最终停留在mha+vip/主从+vip/my ...

  4. Mysql双主互备+keeplived高可用架构(部分)

    一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种 ...

  5. Oracle Compute云快速搭建MySQL Keepalived高可用架构

    最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户 ...

  6. 数据库高可用架构(MySQL、Oracle、MongoDB、Redis)

    一.MySQL MySQL小型高可用架构 方案:MySQL双主.主从 + Keepalived主从自动切换   服务器资源:两台PC Server 优点:架构简单,节省资源 缺点:无法线性扩展,主从失 ...

  7. [转]数据库高可用架构(MySQL、Oracle、MongoDB、Redis)

    一.MySQL   MySQL小型高可用架构 方案:MySQL双主.主从 + Keepalived主从自动切换 服务器资源:两台PC Server 优点:架构简单,节省资源 缺点:无法线性扩展,主从失 ...

  8. MySQL高可用架构-MMM环境部署记录

    MMM介绍MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Perl语言开发,主要用来监控和管理 ...

  9. (5.1)mysql高可用系列——高可用架构方案概述

    关键词:mysql高可用概述,mysql高可用架构 常用高可用方案 20190918 现在业内常用的MySQL高可用方案有哪些?目前来说,用的比较多的开源方案分内置高可用与外部实现,内置高可用有如下: ...

随机推荐

  1. 性能测试Loadrunner与Mysql

    1.库文件下载地址:http://files.cnblogs.com/files/xiaoxitest/MySQL_LoadRunner_libraries.zip 分别库文件和代码添加到Loadru ...

  2. linux性能分析命令1:top命令

    转载:http://www.cnblogs.com/peida/archive/2012/12/24/2831353.html top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的 ...

  3. C++之图片旋转90,再保存

    下面测试代码只需要全部放在一个.cpp文件里就行 //#include "stdafx.h"#include <stdio.h>#include <string& ...

  4. JavScript 日期格式化

    JavScript 日期格式化 //日期格式化 function formatDate(date,fmt) { if(date == null || typeof (date) == undefine ...

  5. 20145215刘俊谦实验五 Java网络编程及安全

    实验内容 掌握Socket程序的编写: 掌握密码技术的使用: 设计安全传输系统. 实验步骤 本次实验由两人组队完成,20145321曾子誉是我本次实验的搭档,链接为:http://www.cnblog ...

  6. RocEDU.阅读.写作《霍乱时期的爱情》书摘(二)

    她不会流一滴眼泪,不会浪费自己的余生,在慢火煮炖的回忆的蛆肉汤中煎熬,不会把自己活活埋葬在四面墙壁之间,成日为自己缝制寿衣,尽管这是当地人乐见寡妇做的事情. 活到这把年纪,人还在的时候就已经腐烂一半了 ...

  7. python-运算、分支、深浅拷贝

      算术表达式: + - * / 除法Python3中是默认向浮点数靠拢 //取整运算   结果的最小整数靠拢  向下 5 // 2 = 2(向下取整) %取余运算 5 % 2 = 1 **幂值运算 ...

  8. HTML中的figure和gigcaption标签

    参考自:anti-time的博客http://www.cnblogs.com/morning0529/p/4198494.html 在写xhtml.html中常常用到一种图片列表,图片+标题或者图片+ ...

  9. com.mysql.jdbc.MysqlDataTruncation:Data Truncation:Data too long for column '字段name' at row 1

    1.问题描述: 在mysql插入数据的时候报错:Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long fo ...

  10. Stm32F103面向对象编程之GPIO

    STM32F103 GPIO面向对象变成实例 创建一个GPIO对象 GpioClass gStateLed = NEW_GPIO(C, 0, GPIO_Mode_Out_PP); 初始化对象 Gpio ...