一、什么是集群
通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性。
二、集群的分类
1、高可用性集群High-availability (HA) clusters:指当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。
衡量一个网站的高可用:
平均无故障时间/(平均无故障时间+平均修复时间)
95%,99%,99.9%,99,99%,99.999%
一般用到的技术有heartbeart、crosync、keepalived、drbd。
2、负载均衡集群Load Balancing (LB) clusters: 通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上,是扩展容量,实现伸缩性的主要技术。
一般用到的技术有:
TCP层:LVS、haproxy
应用层:nginx,haproxy
缓存:varnish、squid
3、高性能计算集群High-performance(HPC)clusters:高性能计算集群采用将计算任务分配到集群的不同计算节点而提高计算能力。
三、什么是LVS?
Linux Virtual Server(Linux虚拟服务器),是1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
LVS工作在TCP/UDP协议等的四层,能够根据用户请求的IP+端口来判定是否转发以及向何处转发的。
官方站点:http://www.linuxvirtualserver.org/
四、LVS的NAT(网络地址转换)类型
1、RS(Real Server)应该使用私有地址;
2、RS(Real Server)的网关必须指向DIP(Director IP);
3、RIP(Real Server IP)与DIP(Director IP)必须在同一网段内;
4、请求和相应的报文都得经过Director,在高负载场景中,Director很可能成为系统的性能瓶颈;
5、支持端口映射;
6、RS(Real Server)可以使用热议支持集群服务的OS。
五、LVS的DR(直接路由)类型
让前端路由将发往VIP(Virtual Server IP)时,只能是Director上的VIP(Virtual Server IP);
可以通过修改linux的内核参数,将RS(Real Server)上的VIP(Virtual Server IP)配置为lo接口的别名,限制linux仅对对应接口的ARP请求做响应
1、RS(Real Server)可以使用私有地址,但也可以使用公网地址,此时可以直接通过互联网炼乳RS(Real Server)以实现配置、监控等;
2、RS(Real Server)的网关一定不能指向DIP(Director IP);
3、RS(Real Server)跟Director要在同一物理网络内(不能有路由器分隔);
4、请求报文经过Director,但响应报文一定不能经过Director;
5、不支持端口映射;
6、RS(Real Server)可以使用大多数的操作系统。
六、LVS的TUN(IP隧道)类型(扩展的DR类型)
1、DIP、RIP、VIP都是公网地址;
2、RS(Real Server)的网关不会指向也不可能指向DIP(Director IP);
3、请求报文经过Director,但响应报文一定不经过Director;
4、不支持端口映射;
5、RS(Real Server)的OS必须的支持隧道功能。