基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx

上传人:b****5 文档编号:8512965 上传时间:2023-01-31 格式:DOCX 页数:47 大小:251KB
下载 相关 举报
基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx_第1页
第1页 / 共47页
基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx_第2页
第2页 / 共47页
基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx_第3页
第3页 / 共47页
基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx_第4页
第4页 / 共47页
基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx

《基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx》由会员分享,可在线阅读,更多相关《基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx(47页珍藏版)》请在冰豆网上搜索。

基于keepalived的redis系统master双机热备读数据负载均衡设置方案.docx

基于keepalived的redis系统master双机热备读数据负载均衡设置方案

基于keepalived的redis系统master双机热备,读数据负载均衡设置方案

==========================================================================================

 

硬件:

机器  ip  作用

master  192.168.0.2  redis系统的master主机

slave1  192.168.0.3  redis系统的slave机器,和master组成双机热备

slave2  192.168.0.4  

redis系统的slave机器,和slave1构成读数据的负载均衡系统

软件:

keepalived,下载地址:

www.keepalived.org

lvs,下载地址:

http:

//www.linuxvirtualserver.org

redis,下载地址:

www.redis.io

centos6.4版本

安装:

不采用编译安装的方式,使用yum安装

1.安装kernel-devel:

yuminstallkernel-devel.这是ipvsadm需要的

2.安装lvs:

yuminstallipvsadm

3.安装keepalived:

yuminstallkeepalived

如果无法联网,请去这里考古寻找自己需要的rpm文件

base:

update:

下面是需要的rpm文件列表截图

kernel-devel需要的文件

以及需要的证书

lvs需要的文件

keepalived需要的文件

注意,三台机器都需要安装keepalived

配置keepalived:

1.centos必要配置:

/etc/sysctl.conf文件

net.ipv4.ip_forward=1#转发开启

2.keepalived必要配置:

master修改/etc/keepalived/keepalived.conf为如下

[plain] viewplaincopy

1.!

ConfigurationFileforkeepalived 

2. 

3.global_defs{ 

4.  notification_email{ 

5.    邮箱 

6.  } 

7.  notification_email_from邮箱 

8.  smtp_server邮箱服务器地址 

9.  smtp_connect_timeout30 

10.  router_idLVS_DEVEL 

11.} 

12.vrrp_instanceVI_1{ 

13.   stateMASTER 

14.   interfaceeth0#eth0是要绑定的网卡 

15.   virtual_router_id100#同一个vrrp_instance中的值必须一样   

16.   priority160  #master的值要高于backup的 

17.   advert_int1   

18.   authentication{ 

19.       auth_typePASS 

20.       auth_pass1111 

21.   }     

22.   virtual_ipaddress{ 

23.       192.168.0.5 #用于双机热备的虚拟ip 

24.   } 

25.    

26.} 

27.virtual_server192.168.0.56379{ 

28.   delay_loop3 

29.   lb_algowrr 

30.   lb_kindDR 

31.   persistence_timeout30 

32.   protocolTCP 

33.   real_server192.168.0.26379{ 

34.       weight8 

35.       notify_downredis服务失败后要执行的脚本的路径/脚本名 #服务失败后要执行的脚本 

36.       TCP_CHECK{ 

37.       connect_timeout1 

38.       nb_get_retry3 

39.       delay_before_retry3 

40.       connect_port6379 

41.       } 

42.   } 

43.} 

slave1修改/etc/keepalived/keepalived.conf为如下

[plain] viewplaincopy

1.!

ConfigurationFileforkeepalived 

2. 

3.global_defs{ 

4.  notification_email{ 

5.   邮箱 

6.  } 

7.  notification_email_from邮箱 

8.  smtp_server邮箱服务器地址 

9.  smtp_connect_timeout30 

10.  router_idLVS_DEVEL 

11.} 

12. 

13.vrrp_instanceVI_1{ 

14.   stateMASTER 

15.   interfaceeth0#eth0是要绑定的网卡 

16.   virtual_router_id100#同一个vrrp_instance中的值必须一样   

17.   priority160  #master的值要高于backup的 

18.   advert_int1   

19.   authentication{ 

20.       auth_typePASS 

21.       auth_pass1111 

22.   }     

23.   virtual_ipaddress{ 

24.       192.168.0.5 #用于双机热备的虚拟ip 

25.   } 

26.  notify_master将slave重新转换为slave的脚本 

27.} 

28.vrrp_instanceVI_2{ 

29.   stateMASTER #将此slave作为读数据的master 

30.   interfaceeth0 

31.   virtual_router_id101 

32.   priority151 

33.   advert_int1 

34.   authentication{ 

35.   auth_typePASS 

36.   auth_pass1111 

37.   } 

38.   virtual_ipaddress{ 

39.   192.168.0.6 #用于读取数据的负载均衡的虚拟ip 

40.   } 

41.} 

42.virtual_server192.168.0.56379{ 

43.   delay_loop3 

44.   lb_algowrr 

45.   lb_kindDR 

46.   persistence_timeout30 

47.   protocolTCP 

48.   real_server192.168.0.26379{ 

49.       weight1     

50.               notify_downredis服务失败后要执行的脚本的路径/脚本名 #服务失败后要执行的脚本 

51.       TCP_CHECK{ 

52.       connect_timeout1 

53.       nb_get_retry2 

54.       delay_before_retry1 

55.       connect_port6379 

56.       } 

57.   } 

58.   real_server192.168.0.36379{ 

59.       weight8 

60.       TCP_CHECK{ 

61.       connect_timeout10 

62.       nb_get_retry3 

63.       delay_before_retry3 

64.       connect_port6379 

65.       } 

66.   } 

67.} 

68.virtual_server192.168.0.66379{ 

69.   delay_loop3 

70.   lb_algowrr 

71.   lb_kindDR 

72.   persistence_timeout30 

73.   protocolTCP 

74.   real_server192.168.0.26379{ 

75.       weight8 

76.       TCP_CHECK{ 

77.       connect_timeout10 

78.       nb_get_retry3 

79.       delay_before_retry3 

80.       connect_port6379 

81.       } 

82.   } 

83.   real_server192.168.0.36379{ 

84.       weight7 

85.       TCP_CHECK{ 

86.       connect_timeout10 

87.       nb_get_retry3 

88.       delay_before_retry3 

89.       connect_port6379 

90.       } 

91.   } 

92.} 

slave2修改/etc/keepalived/keepalived.conf为如下

[plain] viewplaincopy

1.!

ConfigurationFileforkeepalived 

2. 

3.global_defs{ 

4.  notification_email{ 

5.    邮箱 

6.  } 

7.  notification_email_from邮箱 

8.  smtp_server邮箱服务器地址 

9.  smtp_connect_timeout30 

10.  router_idLVS_DEVEL 

11.} 

12.vrrp_instanceVI_2{ 

13.   stateBACKUP 

14.   interfaceeth0 

15.   virtual_router_id101 

16.   priority149 

17.   advert_int1 

18.   authentication{ 

19.   auth_typePASS 

20.   auth_pass1111 

21.   } 

22.   virtual_ipaddress{ 

23.   192.168.0.6 

24.   } 

25.} 

26.virtual_server192.168.0.66379{ 

27.   delay_loop3 

28.   lb_algowrr 

29.   lb_kindDR 

30.   persistence_timeout30 

31.   protocolTCP 

32.   real_server192.168.0.26379{ 

33.       weight8 

34.       TCP_CHECK{ 

35.       connect_timeout10 

36.       nb_get_retry3 

37.       delay_before_retry3 

38.       connect_port6379 

39.       } 

40.   } 

41.   real_server192.168.0.36379{ 

42.       weight7 

43.       TCP_CHECK{ 

44.       connect_timeout10 

45.       nb_get_retry3 

46.       delay_before_retry3 

47.       connect_port6379 

48.       } 

49.   } 

50.} 

配置redis:

 

master无需特殊配置slave1则设置为master的从机 

slave2则需要设置为192.168.0.5的从机,否则在master失效后slave2会无法继续读取数据 

需要的脚本:

在master执行的脚本:

[plain] viewplaincopy

1.#!

/usr/bin/envbash 

2.ervicekeepalivedstop#需要用户具有权限,不中断keepalived服务虚拟ip无法转移  

在slave1执行的脚本:

 

[plain] viewplaincopy

1.#!

/usr/bin/envbash 

2. 

3./usr/local/bin/redis-cli-h127.0.0.1-p6379slaveofNOONE#将slave1转换为redis的 

slave1第二个脚本,在master服务重启后将slave1重新转换为slave状态 

最终效果:

192.168.0.5提供了redis的双机热备服务,192.168.0.6则提供了数据读取的负载均衡

[plain] viewplaincopy

1.#!

/usr/bin/envbash 

2. 

3./usr/local/bin/redis-clislaveof192.168.0.26379#将slave1重新转换为redis的slave  

需要注意,master每次需要先启动redis服务然后再启动keepalived

 

==========================================================================================

 

基于keepalived、redissentinel的高可用redis集群【修改版】

2013年12月12日 ⁄综合 ⁄共5289字⁄字号 小 中 大 ⁄ 评论关闭

原方案地址原方案

硬件

机器名

IP

作用

master

192.168.0.2

redis的master服务器

slave1

192.168.0.3

redis的slave服务器

slave2

192.168.0.4

redis的slave服务器

route1

192.168.0.5【虚拟IP:

192.168.0.7】

keepalived和redissentinel服务器,承载写redis的VIP【虚拟ip】,做写的双机热备的主master指定

route2

192.168.0.6【虚拟IP:

192.168.0.8】

keepalived和redissentinel服务器,承载读redis的VIP,做读的负载均衡和写的双机热备的master备份路由指定

详细的keepalived配置,route1

!

ConfigurationFileforkeepalived

global_defs{

 notification_email{

   邮箱

 }

 notification_email_from邮箱@

 smtp_server邮箱服务器地址

 smtp_connect_timeout30

 router_idLVS_DEVEL

}

vrrp_instanceVI_1{

  stateMASTER

  interfaceeth1

  virtual_router_id100

  priority150

  advert_int1

  authentication{

      auth_typePASS

      auth_pass1111

  }  

  virtual_ipaddress{

      192.168.0.7

  }   

}

vrrp_instanceVI_2{

  stateBACKUP

  interfaceeth1

  virtual_router_id101

  priority101

  advert_int1

  authentication{

  auth_typePASS

  auth_pass1111

  }

  virtual_ipaddress{

  192.168.0.8

  }

}

virtual_server192.168.0.76379{

  delay_loop3

  lb_algorr

  lb_kindDR

  persistence_timeout15

  protocolTCP

  real_server192.168.0.46379{

    weight4

    notify_up/home/wind/redis_up.sh

    MISC_CHECK{

    misc_path"/home/wind/redischeck.py192.168.0.46379"

    misc_timeout5

    }

  }

  real_server192.168.0.26379{

    weight3

notify_up/home/wind/redis_up.sh

    MISC_CHECK{

    misc_path"/home/wind/redischeck.py192.168.0.26379"

    misc_timeout5

    }

  }

  real_server192.168.0.36379{    

weight3

notify_up/home/wind/redis_up.sh

    MISC_CHECK{

    misc_path"/home/wind/redischeck.py192.168.0.26379"

    misc_timeout5

    }

  }

}

virtual_server192.168.0.86379{

  delay_loop3

  lb_algowrr

  lb_kindDR

  persistence_timeout30

  protocolTCP

  real_server192.168.0.26379{

    weight8

    TCP_CHECK{

    connect_timeout10

    nb_get_retry3

    delay_before_retry3

    connect_port6379

    }

  }

  real_server192.168.0.36379{

    weight2

    TCP_CHECK{

    connect_timeout10

    nb_get_retry3

    delay_before_retry3

    connect_port6379

    }

  }

 real_server192.168.0.46379{

    weight2

    TCP_CHECK{

    connect_timeout10

    nb_get_retry3

    delay_before_retry3

    connect_port6379

    }

  }

}

route2的配置文件

!

ConfigurationFileforkeepalived

global_defs{

 notification_email{

  #xieqj@

  #shanghq@

 }

 notification_email_fromxieqj@

 smtp_server

 smtp_connect_timeout30

 router_idLVS_DEVEL

}

vrrp_instanceVI_1{

  stateBACKUP

  interfaceeth1

  virtual_router_id100

  priority100

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1