基于keepalived的redis系统master双机热备(读数据负载均衡)设(8)

2019-03-10 14:41

注意了,这里LVS配置并不是指真的安装LVS然后用ipvsadm来配置他,而是用keepalived的配置文件来代替置LVS,这样会方便很多,一个配置文件搞定这些,维护方便,配置方便是也!

这里LVS配置也有两个配置 一个是虚拟主机组配置 一个是虚拟主机配置

1,虚拟主机组配置文件详解 这个配置是可选的,根据需求来配置吧,这里配置主要是为了让一台realserver上的某个服务可以属于多个Vir并且只做一次健康检查

virtual_server_group { # VIP port

fwmark }

2,虚拟主机配置

virtual server可以以下面三种的任意一种来配置

1. 1. virtual server IP port 2. 2. virtual server fwmark int 3. 3. virtual server group string

复制代码

下面以第一种比较常用的方式来配详细解说一下

virtual_server 192.168.1.2 80 { #设置一个virtual server: VIP:Vport

delay_loop 3 # service polling的delay时间,即服间间隔

lb_algo rr|wrr|lc|wlc|lblc|sh|dh #LVS调度算法

lb_kind NAT|DR|TUN #LVS集群模式

persistence_timeout 120 #会话保持时间(秒为单位),即以用户在120秒同一个后端realserver

persistence_granularity #LVS会话保持粒度,ipvsadm中的-M参数,默认是0xfff个客户端都做会话保持

protocol TCP #健康检查用的是TCP还是UDP

ha_suspend #suspendhealthchecker’s activity virtualhost #HTTP_GET做健康检查时,检查的web服务器(即host:头)

sorry_server #备用机,就是当所有后端realserver节点都不可用时,就用

也就是临时把所有的请求都发送到这里啦

real_server #后端真实节点主机的权重等设置,主要,后端有几台这里个 {

weight 1 #给每台的权重,0表示失效(不知给他道他恢复正常),默认是1

inhibit_on_failure #表示在节点失败后,把他权重设置成0IPVS中删除

notify_up | #检查服务器正常(UP)后,要执行的脚本 notify_down | #检查服务器失败(down)后,要执行的脚本

HTTP_GET #健康检查方式 {

url { #要坚持的URL,可以有多个 path / #具体路径 digest

status_code 200 #返回状态码 }

connect_port 80 #监控检查的端口

bindto #健康检查的IP地址 connect_timeout 3 #连接超时时间 nb_get_retry 3 #重连次数 delay_before_retry 2 #重连间隔 } # END OF HTTP_GET|SSL_GET

#下面是常用的健康检查方式,健康检查方式一共有HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK这些#TCP方式 TCP_CHECK { connect_port 80 bindto 192.168.1.1 connect_timeout 4 } # TCP_CHECK

# SMTP方式,这个可以用来给邮件服务器做集群 SMTP_CHECK host {

connect_ip

connect_port #默认检查25端口 14 KEEPALIVED

bindto

}

connect_timeout retry

delay_before_retry # \?|·-?ê§?à\

helo_name | } #SMTP_CHECK

#MISC方式,这个可以用来检查很多服务器只需要自己会些脚本即可 MISC_CHECK {

misc_path | #外部程序或脚本

misc_timeout #脚本或程序执行超时时间

misc_dynamic #这个就很好用了,可以非常精确的来调整权每天服务器的压力都能均衡调配,这个主要是通过执行的程序或脚本返回的状态代码来动态调整weight值,使权的后端压力来适当调整,不过这需要有过硬的脚本功夫才行哦 #返回0:健康检查没问题,不修改权重 #返回1:健康检查失败,权重设置为0

#返回2-255:健康检查没问题,但是权重却要根据返回代码修改为返回码-2,例如如果程序或脚本执行后返回的#那么权重这回被修改为 200-2 }

} # Realserver } # Virtual Server

配置文件到此就讲完了,下面是一份未加备注的完整配置文件

1. global_defs 2. {

3. notification_email 4. {

5. admin@example.com 6. }

7. notification_email_from admin@example.com 8. smtp_server 127.0.0.1 9. stmp_connect_timeout 30 10. router_id node1 11. }

12. notification_email

13. {

14. admin@example.com 15. admin@ywlm.net 16. } 17.

18. static_ipaddress 19. {

20. 192.168.1.1/24 brd + dev eth0 scope global 21. 192.168.1.2/24 brd + dev eth1 scope global 22. }

23. static_routes 24. {

25. src $SRC_IP to $DST_IP dev $SRC_DEVICE

26. src $SRC_IP to $DST_IP via $GW dev $SRC_DEVICE 27. } 28.

29. vrrp_sync_group VG_1 { 30. group { 31. http 32. mysql 33. }

34. notify_master /path/to/to_master.sh 35. notify_backup /path_to/to_backup.sh 36. notify_fault \37. notify /path/to/notify.sh 38. smtp_alert 39. } 40. group { 41. http 42. mysql 43. } 44.

45.

46. vrrp_script check_running {

47. script \48. interval 10 49. weight 10 50. } 51. 52.

53. vrrp_instance http { 54. state MASTER 55. interface eth0 56. dont_track_primary 57. track_interface { 58. eth0 59. eth1 60. }

61. mcast_src_ip 62. garp_master_delay 10 63. virtual_router_id 51 64. priority 100 65. advert_int 1 66. authentication { 67. auth_type PASS 68. autp_pass 1234 69. }

70. virtual_ipaddress {

71. #/ brd dev scope label

73. 192.168.200.18/24 dev eth2 label eth2:1 74. }

75. virtual_routes {

76. # src [to] / via|gw dev scope tab


基于keepalived的redis系统master双机热备(读数据负载均衡)设(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:笔试题答案-南瑞

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: