什么是集群:
计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多。
集群就是一组独立的计算机,通过网络连接组合成一个组合来共同完成一个任务。
LVS的模式:
lvs有三种主要模式:nat模式(LVS/NAT),直接路由模式(LVS/DR)ip隧道模式(LVS/TUN)
以及二度开发的第四种模式(FULL NAT)
LVS在企业架构中的位置:
用户 --> LVS负载均衡服务器 —> apahce服务器 —> mysql服务器&memcache服务器&共享存储服务器。并且我们的mysql、共享存储也能够使用LVS再进行负载均衡。
集群的特点:
1)高性能performance。一些需要很强的运算处理能力比如天气预报,核试验等。这就不是几台计算机能够搞定的。这需要上千台一起来完成这个工作的。
2)价格有效性
通常一套系统集群架构,只需要几台或数十台服务器主机即可,与动则上百王的专用超级计算机具有更高的性价比。
3)可伸缩性
当服务器负载压力增长的时候,系统能够扩展来满足需求,且不降低服务质量。
4)高可用性
尽管部分硬件和软件发生故障,整个系统的服务必须是7*24小时运行的。
集群的优势:
1)透明性
如果一部分服务器宕机了业务不受影响,一般耦合度没有那么高,依赖关系没有那么高。比如NFS服务器宕机了其他就挂载不了了,这样依赖性太强。
2)高性能
访问量增加,能够轻松扩展。
3)可管理性
整个系统可能在物理上很大,但很容易管理。
4)可编程性
在集群系统上,容易开发应用程序,门户网站会要求这个。
小结:
集群就是一组相互独立的计算机,通过高速的网络组成一个计算机系统,每个集群节点都是运行其自己进程的一个独立服务器。对网络用户来讲,网站后端就是一个单一的系统,协同起来向用户提供系统资源,系统服务。
一、LVS集群的搭建
DR模式的原理:
负载均衡器和RS都使用同一个IP对外服务。但只有DR对ARP请求进行响应,所有RS对本身这个IP的ARP请求保持静默。也就是说,网关会把对这个服务IP的请求全部定向给DR,而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地址改为RS的MAC(因为IP一致)并将请求分发给这台RS。这时RS收到这个数据包,处理完成之后,由于IP一致,可以直接将数据返给客户,则等于直接从客户端收到这个数据包无异,处理后直接返回给客户端。由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域,也可以简单的理解为在同一台交换机上。
DR模式的特性:
1)RS可以使用私有地址;但也可以使用公网地址,此时可以直接通过互联网连入RS以实现配置、监控等;
2)RS的网关一定不能指向DIP;
3)RS跟DR要在同一物理网络内(不能由路由器分隔);
4)请求报文经过DR,但响应报文一定不经过DR
5)不支持端口映射;
6)RS可以使用大多数的操作系统;
1.环境说明(需要三台虚拟机,后面做到主备负载的时候需要再添加一台虚拟机,作为备用负载均衡器):
机器名称 | ip配置 | 服务角色 |
---|---|---|
server1 | VIP:172.25.96.1 DIP:172.25.96.100 | 负载均衡器 |
server2 | RIP:172.25.96.2 | 后端服务器 |
server3 | RIP:172.25.96.3 | 后端服务器 |
2.实现步骤
server1上:
1)编辑yum源,将LoadBalancer(负载均衡)添加到文件中,进行特定解析。
[root@server1 ~]# vim /etc/yum.repos.d/rhel-source.repo
[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.96.250/rhel6.5/LoadBalancer
gpgcheck=0
yum clean all
yum repolist
显示3694,即表示设定成功,可进行接下来的操作。
2)安装ipvsadm
[root@server1 ~]# yum install -y ipvsadm
查看策略(这里还没配置策略,所以没有显示):
[root@server1 ~]# ipvsadm -l
可使用ipvsadn --help来查看命令的参数和使用方法,接下来开始写策略:
[root@server1 ~]# ipvsadm -A -t 172.25.96.100:80 -s rr
[root@server1 ~]# ipvsadm -a -t 172.25.96.100:80 -r 172.25.96.2:80 -g
[root@server1 ~]# ipvsadm -a -t 172.25.96.100:80 -r 172.25.96.3:80 -g
查看策略:
[root@server1 ~]# ipvsadm -ln
3)添加VIP到eth0上
[root@server1 ~]# ip addr add 172.25.96.100/24 dev eth0
[root@server1 ~]# ip addr show eth0
最后一步启动network服务
/etc/init.d/network start