码迷,mamicode.com
首页 > 其他好文 > 详细

LVS+Keepalived负载均衡双主架构全攻略

时间:2014-10-15 21:38:22      阅读:492      评论:0      收藏:0      [点我收藏+]

标签:lvs   keepalived   双主   

二、LVS+Keepalived负载均衡双主互备架构

IP信息清单:
名称 IP

  1. LVS-DR-Master 192.168.2.98

  2. LVS-DR-Backup 192.168.2.99

  3. LVS-DR-VIP1 192.168.2.100

  4. LVS-DR-VIP2 192.168.2.105

  5. Realserver01 192.168.2.101

  6. Realserver02 192.168.2.102

  7. Realserver03 192.168.2.103

  8. Realserver04 192.168.2.104

双主互备方案需要2个VIP,分别绑定到两台LVS主机上,然后修改keepalived.conf让两台LVS互相作为备机,代码稍作修改即可:

Shell

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

! Configuration File for keepalived  

  

global_defs {  

notification_email {  

//此处填写你的邮件地址 }  

notification_email_from your email!  

  

smtp_server smtp.**.com  

smtp_connect_timeout 30  

router_id LVS_DEVEL  

}  

vrrp_instance VI_1 {  

state MASTER  

interface eth0  

lvs_sync_daemon_inteface eth0 //如是同一个网卡,可省略  

virtual_router_id 77 //标识ID,请务必保证内网唯一性,和备机必须一致!  

priority 100 //权重需比备机高  

advert_int 2 //主备检测间隔  

authentication { //主备通信密码,必须一致  

auth_type PASS  

auth_pass 1111  

}  

virtual_ipaddress {  

192.168.2.100 VIP,多个请换行填写  

  

}  

}  

  

virtual_server 192.168.2.100 80 {  

delay_loop 6 //每隔6秒检测Realserver健康状况  

lb_algo wlc //wlc算法,其他算法请参考ipvsadm十大算法  

lb_kind DR // 采用DR模式,即直接路由,其他还有TUN和NAT两种模式。  

persistence_timeout 1800 //设置超时未半小时  

protocol TCP  

  

real_server 192.168.2.101 80 { //第一个realserver,请注意80和后面{之间有个空格!  

weight 100 //权重  

HTTP_GET { //通过检测网页来检查Realserver健康状态  

url {  

path /XX/index.jsp //Realserver上的网页,如/model/index.jsp  

status_code 200 //正确的返回值,一般是200  

}  

connect_timeout 3 //超时3秒,则失败  

nb_get_retry 3 //失败重试次数  

delay_before_retry 3 //重试间隔时间  

}  

}  

  

real_server 192.168.2.102 80 {  

weight 100  

TCP_CHECK { //此范例为TCP检查方法,区别于HTTP方法,推荐使用HTTP方法。  

connect_timeout 10  

nb_get_retry 3  

delay_before_retry 3  

connect_port 80  

}  

}  

}  

  

real_server 192.168.2.103 80 {  

weight 100  

HTTP_GET {  

url {  

path /XX/index.jsp  

status_code 200  

}  

connect_timeout 3  

nb_get_retry 3  

delay_before_retry 3  

}  

}  

  

real_server 192.168.2.104 80 {  

weight 100  

HTTP_GET {  

url {  

path /XX/index.jsp  

status_code 200  

}  

connect_timeout 3  

nb_get_retry 3  

delay_before_retry 3  

}  

}  

  

vrrp_instance VI_2 {  

state BACKUP  

interface eth0  

lvs_sync_daemon_inteface eth0 //如是同一个网卡,可省略  

virtual_router_id 78 //标识ID,请务必保证内网唯一性,和备机必须一致!  

priority 90 //权重需比备机高  

advert_int 2 //主备检测间隔  

authentication { //主备通信密码,必须一致  

auth_type PASS  

auth_pass 1111  

}  

virtual_ipaddress {  

192.168.2.105 VIP,多个请换行填写  

  

}  

}  

  

virtual_server 192.168.2.105 80 {  

delay_loop 6 //每隔6秒检测Realserver健康状况  

lb_algo wlc //wlc算法,其他算法请参考ipvsadm十大算法  

lb_kind DR // 采用DR模式,即直接路由,其他还有TUN和NAT两种模式。  

persistence_timeout 1800 //设置超时未半小时  

protocol TCP  

  

real_server 192.168.2.101 80 { //第一个realserver,请注意80和后面{之间有个空格!  

weight 100 //权重  

HTTP_GET { //通过检测网页来检查Realserver健康状态  

url {  

path /XX/index.jsp //Realserver上的网页,如/model/index.jsp  

status_code 200 //正确的返回值,一般是200  

}  

connect_timeout 3 //超时3秒,则失败  

nb_get_retry 3 //失败重试次数  

delay_before_retry 3 //重试间隔时间  

}  

}  

  

real_server 192.168.2.102 80 {  

weight 100  

TCP_CHECK { //此范例为TCP检查方法,区别于HTTP方法,推荐使用HTTP方法。  

connect_timeout 10  

nb_get_retry 3  

delay_before_retry 3  

connect_port 80  

}  

}  

}  

  

real_server 192.168.2.103 80 {  

weight 100  

HTTP_GET {  

url {  

path /XX/index.jsp  

status_code 200  

}  

connect_timeout 3  

nb_get_retry 3  

delay_before_retry 3  

}  

}  

  

real_server 192.168.2.104 80 {  

weight 100  

HTTP_GET {  

url {  

path /XX/index.jsp  

status_code 200  

}  

connect_timeout 3  

nb_get_retry 3  

delay_before_retry 3  

}  

}

说明:以上则为一台LVS主机的keepalived配置,由于篇幅过长,就不另提供相应的互备配置了,其实很简单,就是一边为MARSTER时,对应的互备配置就是BACKUP,然后其他对应位置均做修改即可,通过2个VIP让2台LVS主机均处于工作状态,互为主备结构,提高资源利用率!

最佳建议:将域名同时绑定到2个VIP,然后轮询解析,实现均衡流量的目的!


本文出自 “XFICC” 博客,请务必保留此出处http://xficc.blog.51cto.com/1189288/1564400

LVS+Keepalived负载均衡双主架构全攻略

标签:lvs   keepalived   双主   

原文地址:http://xficc.blog.51cto.com/1189288/1564400

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!