在生产环境中,高可用集群与负载均衡集群是分不开的,(因为负载均衡的设备是需要高可用的,这个设备需要有主、从2台等。如果主设备出现了故障,第二台可以直接接替主的工作,继续将用户的请求,分发到后排的网站节点服务器。)
所以有时候,高可用也是负载均衡集群,负载均衡集群也是高可用集群。
集群是一组服务器,用来提供比单一服务器更稳定、更高效、也更具扩展性的一种服务平台。这种服务器平台就叫做集群。
扩展方案:
1、向上扩展。对硬件的扩展,如:I5换I7的处理器等。
CPU多性能不一定就好,需要做出 仲裁机制。合理分配CPU使用。
性价比问题:
数据迁移问题。(更换硬盘需要停止服务也就是数据读取)
2、向外扩展(水平扩展):横向,添加对应的新的PC一起分担,
均衡分配用户请求:
方案1、利用DNS:一个主机名对应多个IP地址。
弊端:如果有一个PC出现了故障,DNS仍然会把请求发送到对应的主机上。也就是DNS不知道下面的主机是否正常工作。即使有一台出现了故障,DNS仍然会将用户的请求,根据解析记录分配到对应的IP
方案2、大多企业使用。前端设备:按照规则设置,将用户请求,依次分配到后面的WEB服务器,除了依次的方案,还有其他的一些方案。还可以进行后端设备健康检查
问题:用户如果更新WEB网页,就会保存后端的数据库中。无法正确存储图片等。
这时候需要一台共享存储NFS,存放用户提交的图片,视频等信息。
集群的定义:
Cluster,集群、群集
集群是一组协同工作的服务集合。对于外界用户来说,集群就是一个独立的服务实体。但实际上,在集群的内部,有俩个或俩个以上的服务实体在协调,配合完成一系列的工作。
1、LVS---通过软件实现负载均衡
是一种软件的实现方式。
2、RAC---通过软件实现负载均衡
是oracle剔出的一套,负载均衡的解决方案。
软件实现负载均衡优点:
1、成本低。
2、自由度搞,可以随意更改配置。可以根据公司需要来定制网络环境。
3、F5-BIG-IP-GTM---硬件实现负载均衡--成本很高。
最大的特点:可以将需要用到的功能做成芯片,性能,稳定性都比软件好很多。有响应的厂商。价格很高。
集群的类型:
负载均衡(Load Balancer cluster)群集(LBC)
通过单位时间内,执行的任务数多,来提升效率
高可用运算集群比较:
如果A包含10个子任务,每个子任务需要1小时:
1台计算机,完成需要10小时10个子任务。
10台计算机,完成任务需要10小时,每台计算机处理了10个子任务,总共100个子任务。
高可用(High Available)群集
高性能运算(High Performance Computer)群集
高性能云计算集群功能:
高性能计算集群就是将一个大的运算任务拆分,每一个节点计算其中一部分运算内容,最后再讲每台计算机的处理结果汇总,得到想要的答案。这就是高性能运算集群。
缩短单个任务的执行时间短,执行的任务数少,来提高效率
负载均衡集群比较:
如果A包含10个子任务,每个子任务需要1小时:
一台计算机,完成任务需要10小时10个子任务。
10台计算机,完成任务需要1小时,每台计算机处理了1个子任务,总共完成了10个子任务。
集群满足的条件:
1、必须有相应的共享存储。也就是不管用户访问到哪个PC都能看到相同的数据。
2、拥有灵活添加或删除某个服务器,这样的一个功能。
3、当一个节点发生故障,能及时发现并得到修复。如果一台主机损坏,在集群的环境中,应该有相应的机制,能够及时检测到损坏的主机,从而跳过这台主机,将用户的请求转发到其他主机。
1、负载均衡集群:
1、分担系统的负载:减少一台的压力,有多台一起分担
可以在,原有的集群上,再搭建出对应的集群进行分担原有集群的压力。
2、监控节点的运行情况。
监看状态检查。需要有响应的设备来检查后端提供服务的主机,是否正常。必须要有这样的机制。
重要的是:需要哪些软件来实现:负载均衡集群。
2、高可用集群:用来保证持续提供服务的集群
高可用工具:
1、Heartbeat HA:Linux中高可用工程中的组成部分,提供了:心跳检测,性能接管等。并且支持冗余电路。用的还是比较多的。
2、RHCS:Rad Head ...:红帽集群套件,主要提供高可用,高可靠性,负载均衡。能廉价的实现高性价比的集群解决方案。红帽自己的解决方案。
3、ROSE:美国的公司提供的防止业务主机因为一些不可避免的 qinyi 或则计划性的down机,而出现的一些问题,这是一个商业软件,功能强大,价钱高。
4、keepalived:做高可用用到的非常多的软件,与LVS集合起来非常好:能够检测所有主机的状态,并且实现高可用的功能,以及支持健康状态检查。当一个主机出现了问题,能通过keepalived及时发现,并且将这个故障节点从集群中剔出。
标准:99%。2个9.;99.9% 3个9
主要功能:
1、为应用程序提供持久访问
2、出现故障自动切换
需要有2台数据一样的服务器。
心跳检测。如果检测到1台故障,抢夺IP,服务,数据等。
实现心跳检测:都需要通过心跳线
1、使用RS232串口线,实现异步传输的标准接口。
2、通过现有网卡
必须保证每台主机有多与1块的网卡, eth1,连接eth1,在eth1之间牵一根网线,每隔一段时间发送数据包,检测是否存活,本身的网卡提供用户访问。
脑列:如果心跳线断了(或许是一些其他原因导致);此时2台主机是正常工作的,但是因为心跳线断了,则2台主机就会人为对方主机down机了。这个时候2台主机就会去抢一些共享的数据,资源等。从而导致一些问题。
带来的影响:
1、数据不完整,甚至是在南极的。(都需要有共享数据,提供给用户的服务器都是挂载的共享数据)
如果脑列:2台主机都会读取或写入共享服务中的数据。从而导致数据混乱
2、对服务造成影响,导致服务不可达到。
正常情况下:备用主机会将down掉主机的IP拿过来使用
这俩台主机的业务网卡是联通着的。
解决脑列方案:
方案一:
预防为主,添加冗余心跳线(冗余一根心跳线,也就是2条心跳线)
比较被动,不能真正解决需求。
方案二:
强制隔离。爆头(Stonish:Shoot the other node in the head)(需要电源交换机,当备用主机通过心跳线检测不到工作主机,备用主机就会向电源交换及发送一个指令,从而将在工作中的主机电源断开,从而保证工作的主机完全停止工作)
方案三:用工具实现。(ipfail:可以为2台主机设置参考IP:192.168.1.254(这种IP一般是网关))工具中设置好参考IP。会主动ping这个参考IP。如果ping自己的网关ping不同,则表示自己处理问题,就会停止自身的服务,以及释放资源等。自己将自己掐掉。
3、高性能运算集群
用来提供,单个计算机所不能提供的强大的分析能力,进行一些告诉运算,和存储的解决方案,
广泛应用在:军工,气象,生物等领域。
大数据处理软件:
1、hadoop
2、spark
3、storm
分布式文件系统,实现高性能运算必须要有。
hadoop:提供的是:HDFS
处理数据的机制,功能:如何将1PE的数据拆分成100G的数据,怎么来拆分。
hadoop:处理数据的机制,也就是将数据打碎的机制:Mapreduce
Hadoop:中,Mapreduce告诉客户端如何将速度打碎,然后分配不同的节点主机上,再一个有HDFS的支持,能够将打碎后的数据练习起来。