阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

红帽(RedHat Linux)6.1之负载均衡(Load Balancer)配置实例

200次阅读
没有评论

共计 5960 个字符,预计需要花费 15 分钟才能阅读完成。

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

架构安排红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

准备 4 台 linux 机器,5 个 IP 地址:
28.6.11.81:对外公布 IP【访问 79 和 80 的 httpd 服务时使用 IP】
28.6.11.77:router 的 primary 服务器
28.6.11.78:router 的 backup 服务器
28.6.11.79:httpd 服务器
28.6.11.80:httpd 服务器
其中:
77 和 78 互为备份,同一时间只有一台在工作。77 和 78 两台正常的时候,77 负责转发;77 断掉,78 接替工作;77 恢复后,78 再次处于休眠状态。
79 和 80 上面运行有通过 IP 地址 81 最终要访问的服务 httpd。79 和 80 两台正常的时候,根据策略负载 httpd 服务请求,其中一台坏掉的时候,请求被转到另外一台正常的服务器上。坏掉的服务器恢复后,负载再次被流转到该服务器上。

二、配置 yum 库,安装【Load Balancer】组包

【在 primary 和 backup 机上都要安装【Load Balancer】组包】

在光驱中放入红帽 6.1 安装光盘,进行如下操作:

[root@linux1178 ha]# mount /dev/cdrom/media/cdrom

[root@linux1178 yum.repos.d]# pwd

/etc/yum.repos.d

[root@linux1178 yum.repos.d]# virhel-source.repo

[rhel-source-lvs]

name=Red Hat Enterprise Linux $releasever -$basearch – Source-lvs

baseurl=file:///media/cdrom/LoadBalancer

enabled=1

gpgcheck=0

[root@linux1178 yum.repos.d]# yum grouplist

如果没有安装【LoadBalancer】,执行:

[root@linux1178 yum.repos.d]# yum -ygroupinstall “Load Balancer”


三、服务配置

77:
[root@linux1177 ~]# service piranha-gui start【Load Balancer 配置通过 IE 界面,启动该服务才能进行配置】
[root@linux1177 ~]# service pulse start【启动该服务才可以进行负载均衡】
[root@linux1177 ~]# service iptables stop
[root@linux1177 ~]# vi /etc/sysctl.conf
确保如下设置:

# Controls IP packet forwarding

net.ipv4.ip_forward= 1

[root@linux1177 ~]#sysctl -p【使 sysctl.conf 文件里的值生效】
[root@linux1177 ~]# piranha-passwd【设置登录配置界面时密码】
78:
[root@linux1178 ~]# service piranha-gui start【Load Balancer 配置通过 IE 界面,启动该服务才能进行配置】
[root@linux1178 ~]# service pulse start【启动该服务才可以进行负载均衡】
[root@linux1178 ~]# service iptables stop
[root@linux1178 ~]# vi /etc/sysctl.conf
确保如下设置:

# Controls IP packet forwarding

net.ipv4.ip_forward= 1

[root@linux1178 ~]#sysctl -p【使 sysctl.conf 文件里的值生效】
[root@linux1178 ~]# piranha-passwd【设置登录配置界面时密码】
79:
[root@linux1179 ~]# service httpd start
[root@linux1179 ~]# service  iptables stop
[root@linux1179 ~]# iptables -f
[root@linux1179 ~]# iptables -L
[root@linux1179 ~]# iptables -t nat -A PREROUTING -p tcp -d 28.6.11.81 –dport 80 -j REDIRECT
[root@linux1179 ~]# service iptables status
确保有如下:

[root@linux1179 ~]# service iptables status

Table: nat

Chain PREROUTING (policy ACCEPT)

num target    prot opt source              destination

1   REDIRECT  tcp  — 0.0.0.0/0            28.6.11.81      tcp dpt:80

2   REDIRECT  tcp  — 0.0.0.0/0            28.6.11.81      tcp dpt:80

[root@linux1179 html]# echo “this is 79”>a.html
确认通过 IE:http://28.6.11.79/a.html 可以访问
80:
[root@linux1180 ~]# service httpd start
[root@linux1180 ~]# service  iptables stop
[root@linux1180 ~]# iptables -f
[root@linux1180 ~]# iptables -L
[root@linux1180 ~]# iptables -t nat -A PREROUTING -p tcp -d 28.6.11.81 –dport 80 -j REDIRECT
[root@linux1180 ~]# service iptables status
确保有如下:

[root@linux1180 ~]# service iptables status

Table: nat

Chain PREROUTING (policy ACCEPT)

num target    prot opt source              destination

1   REDIRECT  tcp  — 0.0.0.0/0            28.6.11.81      tcp dpt:80

2   REDIRECT  tcp  — 0.0.0.0/0            28.6.11.81      tcp dpt:80

[root@linux1180 html]# echo “this is 80”>a.html
确认通过 IE:http://28.6.11.80/a.html 可以访问

四、Piranha 配置

(一)primary 机 77 的配置

 

77 和 78 的配置基本相同,77 为 primary 机,先在 77 上配置然后在把配置文件拷贝到 78 上,再根据 78 的具体情况作相应的调整。

使用 IE 登录如下:http://28.6.11.77:3636,如图:红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

点击“Login”按钮,输入用户“piranha”和在 77 上运行 piranha-passwd 时设置的密码,如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

“确定”后,进入如下界面

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

在“GLOBAL SETTINGS”页,输入 primary 机的地址 28.6.11.77,点击“Direct Routing”按钮,确保“Current type is”是 direct,然后点击“ACCEPT”按钮保存设置。

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

在“REDUNDANCY”页,输入 backup 机的地址 28.6.11.78,然后点击“ACCEPT”按钮保存设置。

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

在“VIRTUAL SERVERS”页,点击“ADD”按钮进行添加,如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

在“VIRTUALSERVER”页,进行如上的设置,点击“ACCEPT”按钮保存设置。

注:“Scheduling”可以进行调度策略选择。

如果 28.6.11.77 这个地址是设在 eth0 上的,上图中的“Device”字段就设置为“eth0:1”,怎么检查 11.77 是配在 eth0 上看如下,如果不是需要相应修改。

[root@linux1177~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:50:56:A5:74:53

          inet addr:28.6.11.77  Bcast:28.6.11.255  Mask:255.255.255.0

          inet6 addr:fe80::250:56ff:fea5:7453/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1

          RX packets:1647186 errors:0 dropped:0overruns:0 frame:0

          TX packets:1278257 errors:0 dropped:0overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:770390855 (734.7 MiB)  TX bytes:91967354 (87.7 MiB)

 

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

在“REAL SERVER”页面,点击“ADD”按钮进行添加,如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

点击“EDIT”进行编辑,如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

输入如上内容,点击“ACCEPT”保存,点击“REALSERVER”标签,进入如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

点击“ADD”再添加,进入如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

选中新添加条目,并点击“EDIT”进行编辑,进入如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

输入如上内容,点击“ACCEPT”保存,点击“REALSERVER”标签,进入如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

选中“11.79”条目,点击“(DE)ACTIVATE”按钮,使用同样的方法激活 11.80 条目,结果如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

处于“UP”状态,才真正进入分发目标列表里面。

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

在“MONITORING SCRIPTS”采用默认设置。

 

点击“CONTROL/MONITORING”进入如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

点击“Update information now”按钮,把信息同步到 77 的配置文件 /etc/sysconfig/ha/lvs.cf 中。

如上内容配置完成后,重启 pulse 服务。

[root@linux1177 ~]#service pulse restart

(二)backup 机 78 的配置

 

把 primary 机 77 的 lvs.cf 文件拷贝到 78 的相同目录,重新启动 piranha-gui 服务,登录 http://28.6.11.78:3636,根据实际情况修改有关内容。

如下:

[root@linux1178 ~]# ifconfig eth0

eth0: error fetching interface information:Device not found

[root@linux1178 ~]# ifconfig eth1

eth1     Link encap:Ethernet  HWaddr00:50:56:A5:0C:50

         inet addr:28.6.11.78  Bcast:28.6.11.255  Mask:255.255.255.0

         inet6 addr: fe80::250:56ff:fea5:c50/64 Scope:Link

         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1

         RX packets:36621 errors:0 dropped:0 overruns:0 frame:0

         TX packets:14600 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:1000

          RX bytes:10089426 (9.6 MiB)  TX bytes:1049130 (1.0 MiB)

由上可知,28.6.11.78 是配在 eth1 上的,所以在“VIRTUALSERVER”页上的“Device”字段就设置为“eth1:1”,见下图:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

最后点击“CONTROL/MONITORING”进入如下:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

点击“Update information now”按钮,把信息同步到 78 的配置文件 /etc/sysconfig/ha/lvs.cf 中。

如上内容配置完成后,重启 pulse 服务。

[root@linux1178~]# service pulse restart

五、验证方法

 

使用浏览器【建议使用微软 IE】访问如下 URL:

http://28.6.11.81/a.html

根据 Round robin 的调度策略,如下的两个界面会以同等几率出现,如下:

界面一:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

界面二:

红帽(RedHat Linux)6.1 之负载均衡(Load Balancer)配置实例

 

更进一步的测试,可以依次关闭 77,78,79,80 四台机器中的一台机器,看 LoadBalancer 的表现,然后根据现象排查问题。

 

PS:

 

1、piranha-gui 服务为配置用,停掉也能进行 LB

2、Master server 和 backup server 上的 httpd 服务器停掉也能进行 LB

3、无论是 eth1:1 还是 eth0:1 的写法,采用的是同一块网卡配两个地址的方式,所以是 eth1 还是 eth0,对准了很准重要,否则会有如下提示:

Sep 22 16:44:34 linux1178 lvs[7400]:create_monitor for httpd/11.79 running as pid 7411

Sep 22 16:44:34 linux1178 lvs[7400]:create_monitor for httpd/11.80 running as pid 7412

Sep 22 16:44:34 linux1178 nanny[7412]:starting LVS client monitor for 28.6.11.81:80 -> 28.6.11.80:80

Sep 22 16:44:34 linux1178 nanny[7411]:starting LVS client monitor for 28.6.11.81:80 -> 28.6.11.79:80

Sep 22 16:44:34 linux1178 nanny[7412]: [active] making 28.6.11.80:80 available

Sep 22 16:44:34 linux1178 nanny[7411]: [active] making 28.6.11.79:80 available

Sep 22 16:44:34 linux1178 pulse[7405]:SIOCGIFBRDADDR failed: No such device

Sep22 16:44:39 linux1178 pulse[7403]: gratuitous lvs arps finished

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137574.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5960字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中