Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344688
  • 博文数量: 45
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 885
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-06 21:07
个人简介

做好自己,不卑不亢,持之以恒!!

文章分类

全部博文(45)

分类: 系统运维

2015-05-27 20:41:47

集群用在实际生产环境中:需要做HA集群的机子,可以用其中一台为LB,加上若干个real server,实例用4台,HA两台,real server2台,HA中的一台做LB:
HA虚拟主机(HA-server):
                            222.24.24.14        server1.example.com   
                            222.24.24.15        server2.example.com

实验虚拟主机(real-server)
                            222.24.24.17        server3.example.com
                            222.24.24.18        server4.example.com
这次实验以httpd服务为例,在实验机server3和server4上都搭建httpd服务并在默认发布目录下建立默认发布目录,如下


在LB主机上安装ipvsadm软件包


添加虚拟网卡,在server3和server4两台实验机上都作如下操作

用ifconfig命令我们可以发现会出现eth0:0 虚拟网卡,

这时我们三台主机上都有222.24.24.100这个IP,当我们用ping命令时会发现时可以ping通的,但是到底时访问的那台主机呢?我们可以使用arp命令进行检测

用arp命令显示的是主机的MAC地址,我们可以利用MAC去寻找所对应的主机

当然还有另外一种方法,在浏览器上输入ip地址根据所搭建的http服务来辨别,可以发现server3和server4两台主机是轮询着被访问的,但这并不是我们想要的结果,我们需要的是当客户访问222.24.24.100这个IP地址时,是由LB访问到server3和server4两台主机后,再由server3和server4两台主机再将信息返回给客户,这样就达到了我们所想要的目的,这个时候就需要安装另外一个安装包:arptables_jf.x86_64(两台主机server3和server4上都得安装)
                                                                     

我们利用arptables命令设定server3和server4这两太real-server不对222.24.24.100这个IP响应,那么当用户访问到ip222.24.24.100时,就只有LB主机对其作出响应了

(server3也要执行arptables命令)
用arptables将其规则重刷并保留其规则

开启两台real-server主机的arptables

再LB主机上可以使用ipvsadm去查看

这时我们再去ping 222.24.24.100这个IP时依旧可以ping通,但是MAC地址一直都是LB这台的,
在浏览器中输入222.24.24.100会轮询响应server3和server4的index.html.


做调度器的主机server2本身不具备健康检查,并不知道real-server那台机子是可用的,它会默认每台都是可用的,负载均衡调度器是关键
所以我们这时得LB主机自动时别健康状况检查
我们可以使用rpm 命令查看其配置文件/usr/share/doc/ldirectord-3.9.5/ldirectord.cf (HAl两台主机都同样操作)



启动ldirectord服务


当我们关闭real-server其中的一台的http服务时

将ldirectord httpd 服务加入HA,heartbeat中,直接启动heartbeat就进行就能与real server通信:
[root@server2 ~]# vim /etc/ha.d/haresources

启动HA下的heartbeat服务,


当主HA出故障不再服务时,server2继续接管server1的工作,
阅读(2268) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~