




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、环境Master(主机A):192.168.1.1Slave(主机B) :192.168.1.2 W-VIP(写入) :192.168.1.3 R-VIP(读取) :192.168.1.4 Client(测试) :192.168.1.100操作系统版本:CentOS release 6.4MySQL数据库版本:5.6.14keepalived版本:1.2.7LVS版本:1.26所有环境均为虚拟机二、设计思路1. 服务器A和B,通过mysql的slave进程同步数据。2. 通过keepalived启用两个虚IP:W-VIP/R-VIP,
2、一个负责写入,一个负责读取,实现读写分离。3. A和B都存在时,W-VIP下将请求转发至主机A,R-VIP将请求转发给A和B,实现负载均衡。4. 当主机A异常时,B接管服务,W-VIP/R-VIP此时漂到了主机B上,此时这两个虚IP下都是主机B,实现高可用5. 当主机B异常时,R-VIP会将B踢出,其他不变三、架构图四、软件安装主从两个主机都要装以下软件:1. MySQL的安装(略)2. keepalived安装yum install keepalived2. LVS安装yum install ipvsadm五、配置1. 配置MySQL的主从复制(略)2. 配置keepalivedMaster
3、上的配置vi /etc/keepalived/keepalived.confplain view plaincopy1. ! Configuration File for keepalived 2. 3. global_defs 4. router_id MySQL-ha 5. 6. 7. vrrp_instance
4、VI_1 8. state BACKUP 9. interface eth1 10. virtual_router_id 90 11. priority 100 12.
5、160; advert_int 1 13. notify_master "/usr/local/mysql/bin/remove_slave.sh" 14. nopreempt 15. authentication 16.
6、; auth_type PASS 17. auth_pass 1111 18. 19. virtual_ipaddress 20. 192.168.1.3 label eth1:1
7、160;21. 192.168.1.4 label eth1:2 22. 23. 24. 25. virtual_server 192.168.1.3 6603 26. delay_loop 2
8、27. lb_algo wrr 28. lb_kind DR 29. persistence_timeout 60 30. protocol TCP 31. real_se
9、rver 192.168.1.1 6603 32. weight 3 33. notify_down /usr/local/mysql/bin/mysql.sh 34. TCP_CHECK 35. conne
10、ct_timeout 10 36. nb_get_retry 3 37. delay_before_retry 3 38. connect_port 6603 39. 40.
11、0; 41. 42. 43. virtual_server 192.168.1.4 6603 44. delay_loop 2 45. lb_algo wrr 46. lb_kind DR
12、; 47. persistence_timeout 60 48. protocol TCP 49. real_server 192.168.1.1 6603 50. weight 1 51.
13、0; notify_down /usr/local/mysql/bin/mysql.sh 52. TCP_CHECK 53. connect_timeout 10 54. nb_get_retry 3 55.
14、; delay_before_retry 3 56. connect_port 6603 57. 58. 59. real_server 192.168.1.2 6603
15、60. weight 3 61. TCP_CHECK 62. connect_timeout 10 63. nb_get_retry 3 64. delay_before
16、_retry 3 65. connect_port 6603 66. 67. 68. keepalived配置成服务并开机启动plain view plaincopy1. cp /usr/local/keepalived/etc/rc.d/init.d/keepa
17、lived /etc/rc.d/init.d/ 2. cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ 3. cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ 4. chkconfig -add keepalived 5. chkconfig -level 345
18、;keepalived on vi /usr/local/mysql/bin/remove_slave.shplain view plaincopy1. #!/bin/bash 2. user=u1 3. password=12345 4. log=/usr/local/mysql/log/remove_slave.log 5. echo "date" >> $log 6. /usr
19、/local/mysql/bin/mysql -u$user -p$password -e "set global read_only=OFF;reset master;stop slave;change master to master_host='localhost'" >> $log 7. /bin/sed -i 's#read-only#read-only#
20、39; /etc/f vi /usr/local/mysql/bin/mysql.shplain view plaincopy1. #!/bin/bash 2. /etc/init.d/keepalived stop Slave上的配置vi /etc/keepalived/keepalived.confplain view plaincopy1. ! Configuration File for keepalived 2.
21、160; 3. global_defs 4. router_id MySQL-ha 5. 6. 7. vrrp_instance VI_1 8. state BACKUP 9. interface eth1
22、160; 10. virtual_router_id 90 11. priority 99 12. advert_int 1 13. notify_master "/usr/local/mysql/bin/remove_slave.s
23、h" 14. authentication 15. auth_type PASS 16. auth_pass 1111 17. 18. virtu
24、al_ipaddress 19. 192.168.1.3 label eth1:1 20. 192.168.1.4 label eth1:2 21. 22. 23. 24. virtual_server 192.168.
25、1.3 6603 25. delay_loop 2 26. lb_algo wrr 27. lb_kind DR 28. persistence_timeout 60 29.
26、 protocol TCP 30. real_server 192.168.1.2 6603 31. weight 3 32. notify_down /usr/local/mysql/bin/mysql.sh 33.
27、160; TCP_CHECK 34. connect_timeout 10 35. nb_get_retry 3 36. delay_before_retry 3 37. connec
28、t_port 6603 38. 39. 40. 41. 42. virtual_server 192.168.1.4 6603 43. delay_loop 2 44.
29、 lb_algo wrr 45. lb_kind DR 46. persistence_timeout 60 47. protocol TCP 48. real_server 192.168.1.2&
30、#160;6603 49. weight 3 50. notify_down /usr/local/mysql/bin/mysql.sh 51. TCP_CHECK 52. connect_timeout 10
31、0; 53. nb_get_retry 3 54. delay_before_retry 3 55. connect_port 6603 56. 57.
32、160;58. keepalived配置成服务并开机启动plain view plaincopy1. cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ 2. cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ 3. cp /usr/local/keepalived/sbin/keepalived
33、60;/usr/sbin/ 4. chkconfig -add keepalived 5. chkconfig -level 345 keepalived on vi /usr/local/mysql/bin/remove_slave.shplain view plaincopy1. #!/bin/bash 2. user=u1 3. password=12345 4. log=/u
34、sr/local/mysql/log/remove_slave.log 5. echo "date" >> $log 6. /usr/local/mysql/bin/mysql -u$user -p$password -e "set global read_only=OFF;reset master;stop slave;change master to master_h
35、ost='localhost'" >> $log 7. /bin/sed -i 's#read-only#read-only#' /etc/f vi /usr/local/mysql/bin/mysql.shplain view plaincopy1. #!/bin/bash 2. /etc/init.d/keepalived stop 3. 配置LVSMaster与Slave上的配置
36、相同:vi /usr/local/bin/lvs_real.shplain view plaincopy1. #!/bin/bash 2. # description: Config realserver lo and apply noarp 3. 4. SNS_VIP=192.168.1.3 5. SNS_VIP2=192.168.1.4 6. source /etc/rc.d/i
37、nit.d/functions 7. case "$1" in 8. 9. start) 10. ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP 11.
38、60; ifconfig lo:1 $SNS_VIP2 netmask 255.255.255.255 broadcast $SNS_VIP2 12. /sbin/route add -host $SNS_VIP dev lo:0 13. /sbin/ro
39、ute add -host $SNS_VIP2 dev lo:1 14. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore 15. echo "2" >/proc/sys/net/ipv4/conf/
40、lo/arp_announce 16. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore 17. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce 18.
41、60; sysctl -p >/dev/null 2>&1 19. echo "RealServer Start OK" 20. 21. 22. stop) &
42、#160;23. ifconfig lo:0 down 24. ifconfig lo:1 down 25. route del $SNS_VIP >/dev/null 2>&1 2
43、6. route del $SNS_VIP2 >/dev/null 2>&1 27. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore 28. echo
44、 "0" >/proc/sys/net/ipv4/conf/lo/arp_announce 29. echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore 30. echo "0" >/proc/sys/ne
45、t/ipv4/conf/all/arp_announce 31. echo "RealServer Stoped" 32. 33. 34. *) 35. 36.
46、0; echo "Usage: $0 start|stop" 37. exit 1 38. esac 39. exit 0 plain view plaincopy1. chmod 755 /usr/local/bin/lvs_real.sh 2. echo "/usr/local/bi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024秋七年级英语上册 Unit 3 Body Parts and Feelings Lesson 14 Colours and Feelings教学实录 (新版)冀教版
- 人教版五年级下册语文教学计划(及进度表)
- 八年级物理下册 8.1 认识压强教学实录 (新版)粤教沪版
- Unit 2 Fun Numbers Lessons 2 How many ducks(教学设计)-2024-2025学年闽教版(2024)英语三年级上册
- 45°直角三角形边长公式
- 江西省九江市少年宫科学动力机械课程(教学设计)-滚筒式传送带
- mysql外键一对一设计实例
- 23《月光曲》教学设计-2024-2025学年六年级上册语文统编版
- 2025年募投金融项目建议书
- 九年级历史下册 第六单元 冷战结束后的世界 第22课 不断发展的现代社会教学实录2 新人教版
- 反恐怖测试题及答案
- 《心理健康教育主题班会》主题
- 《义务教育语文课程标准》2022年修订版原版
- JT-T-795-2011事故汽车修复技术规范
- 个人借条电子版模板
- 【小升初】部编版2022-2023学年四川省绵阳市语文升学分班考真题专项模拟试卷(04 现代文阅读)含解析
- 第九-现场勘查课件
- 挖掘机配件名称大全
- 烟花爆竹危险固体废弃物综合利用建设项目可行性研究报告-甲乙丙资信
- 三国知识竞猜600题
- Roland-Dyens-Tango-en-skai-迪恩斯-(探戈)(古典吉他曲谱-两种版本)
评论
0/150
提交评论