简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。
1)为同一种或若干种生物在某种程度上恒定地占据某一地区的,广泛的且具有社会性微细差异的用词。因而该词有各种不同的意义。在生态学上,有时用以表示群,或群落或种群;有时则用以表示单位集团之意。植物是指全面,而动物则明显地是指哺乳类、鸟类以及蚁、蜂等社会性昆虫。集群内个体的社会结合程度也各有不同,可以区分为永久性集群(permanent colony)、季节性集群(seasonalcolony)以及繁殖集群(breeding colony)等。进而可把由同一种形成的集群称为种内集群(intraspe-cific colony);把由二种以上形成的集群称为种间集群(interspecific colony)。但也有时集群一词没有上述意义,而是指最先迁入到新地上来的群体,或指社会昆虫在同一巢穴中生活的一个集团。
(2)特指上述之中的群体。
(3)对细菌和霉菌的培养细胞特称为菌落。
一、什么是集群?
集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提
供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近容错机的故
障恢复能力。集群系统一般通过两台或多台节点服务器系统通过相应的硬件及软件互连,每个群集节点都
是运行其自己进程的独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,
协同起来向用户提供应用程序、系统资源和数据。除了作为单一系统提供服务,集群系统还具有恢复服务
器级故障的能力。集群系统还可通过在集群中继续增加服务器的方式,从内部增加服务器的处理能力,并
通过系统级的冗余提供固有的可靠性和可用性。
二、集群的分类:
1、高性能计算科学集群:
以解决复杂的科学计算问题为目的的IA集群系统。是并行计算的基础,它可以不使用专门的由十至
上万个独立处理器组成的并行超级计算机,而是采用通过高速连接来链接的一组1/2/4 CPU的IA服务器,
并且在公共消息传递层上进行通信以运行并行应用程序。这样的计算集群,其处理能力与真正超级并行
机相等,并且具有优良的性价比。
2、负载均衡集群:
负载均衡集群为企业需求提供更实用的系统。该系统使各节点的负载流量可以在服务器集群中尽可
能平均合理地分摊处理。该负载需要均衡计算的应用程序处理端口负载或网络流量负载。这样的系统非
常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态
分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了大量入网流量,无法
迅速处理,这就需要将流量发送给在其它节点。负载均衡算法还可以根据每个节点不同的可用资源或网
络的特殊环境来进行优化。
3、高可用性集群:
为保证集群整体服务的高可用,考虑计算硬件和软件的容错性。如果高可用性群集中的某个节点发
生了故障,那么将由另外的节点代替它。整个系统环境对于用户是一致的。
实际应用的集群系统中,这三种基本类型经常会发生混合与交杂。
三、典型集群:
科学计算集群:
1、Beowulf
当谈到 Linux 集群时,许多人的第一反映是 Beowulf。那是最著名的 Linux
科学软件集群系统。实际上,它是一组适用于在 Linux 内核上运行的公共软件包的通称。其中包括
流行的软件消息传递 API,如“消息传送接口”(MPI) 或“并行虚拟机”
(PVM),对 Linux 内核的修改,以允许结合几个以太网接口、高性能网络驱动器,对虚拟内存管理器
的更改,以及分布式进程间通信 (DIPC) 服务。公共全局进程标识空间允许使用 DIPC 机制从任何节
点访问任何进程。
2、MOSIX
Beowulf类似于给系统安装的一个支持集群的外挂软件,提供了应用级的集群能力。而MOSIX是彻底修
改Linux的内核,从系统级提供了集群能力,它对应用而言是完全透明的,原有的应用程序,可以不经改
动,就能正常运行在MOSIX系统之上。集群中的任何节点都可以自由地加入和移除,来接替其它节点的工
作,或是扩充系统。MOSIX 使用自适应进程负载均衡和内存引导算法使整体性能最大化。应用程序进
程可以在节点之间实现迁移,以利用最好的资源,这类似于对称多处理器系统可以在各个处理器之间切换
应用程序。由于MOSIX通过修改内核来实现集群功能,所以存在兼容性问题,部分系统级应用程序将无法
正常运行。
负载均衡/高可用性集群
3、LVS(Linux Virtual Server)
这是一个由国人主持的项目。
它是一个负载均衡/高可用性集群,主要针对大业务量的网络应用(如新闻服务、网上银行、电子商务等)。
LVS是建立在一个主控服务器(通常为双机)(director)及若干真实服务器(real-server)所组成
的集群之上。real-server负责实际提供服务,主控服务器根据指定的调度算法对real-server进
行控制。而集群的结构对于用户来说是透明的,客户端只与单个的IP(集群系统的虚拟IP)进行通信,
也就是说从客户端的视角来看,这里只存在单个服务器。
Real-server可以提供众多服务,如ftp, http, dns, telnet, nntp, smtp 等。主控服务器负责对Real-Server进
行控制。客户端在向LVS发出服务请求时,Director会通过特定的调度算法来指定由某个Real-Server
来应答请求,而客户端只与Load Balancer的IP(即虚拟IP,VIP)进行通信。
其他集群:
现在集群系统可谓五花八门,绝大部分的OS开发商,服务器开发商都提供了系统级的集群产品,最典型的
是各类双机系统,还有各类科研院校提供的集群系统。以及各类软件开发商提供的应用级别的集群系统,如
数据库集群,Application Server 集群,Web Server集群,邮件集群等等。
分享到:
相关推荐
### Veritas Cluster Server入门全攻略 #### VCS入门基本知识 **VCS主要特点** Veritas Cluster Server(简称VCS)作为一款高端的企业级软件解决方案,其核心优势在于能够为组织提供全面的可用性管理,确保系统...
Kubernetes 入门之快速创建集群指南 本资源摘要信息主要讲解了 Kubernetes 集群的...本资源摘要信息提供了详细的 Kubernetes 集群创建指南,涵盖了多种类型的集群创建和部署方式,为用户提供了一个全面的入门指南。
Percona XtraDB Cluster是一款基于MySQL的数据库集群...在阅读和参考Percona XtraDB Cluster官方文档时,用户能够获得关于集群搭建、管理和优化的全面信息,这些信息对于保证数据库的稳定运行和提升系统性能至关重要。
首先,快速开始手册是BES Cluster入门的指南,它旨在帮助用户完成产品的快速安装、注册,并进行基本配置。手册适用于安装人员、系统管理员、应用开发人员和应用部署人员。使用手册时,用户需要具备操作系统基础操作...
3. **商业版**:对于企业级应用,可以考虑使用商业版的MySQL集群,以获得更全面的技术支持和服务。 - 下载地址:[https://edelivery.oracle.com/](https://edelivery.oracle.com/) **注意事项**:确保使用与MySQL...
惠普高可用集群解决方案是一种确保关键业务应用和数据持续运行的技术,通过在两台或更多操作系统的相互切换中实现故障转移和负载平衡。这个解决方案旨在提高系统的可用性、可靠性和管理性,同时允许扩展以适应不断...
Redis 是一个开源的、高性能的键值存储系统,常用于数据缓存、消息队列以及数据库功能。...通过阅读《REDIS 入门指南》这本书籍,你将能更全面地了解 Redis 的功能和应用场景,为你的程序员进阶之路添砖加瓦。
- 集群配置标签的详细介绍,包括集群相关的各种配置项,如 、、<cluster> 等。 - **Resource Tags** - 资源配置标签,包括数据库连接池、邮件服务等资源的配置。 - **Rewrite Dispatch** - URL 重写规则配置,...
- **创建集群**:例如,创建名为Cluster1的集群:`iastool create --cluster --passport admin --user admin --password` #### 五、BES安装说明 - **安装步骤**:手册中详细介绍了BES的安装过程,包括软件包的...
Kubernetes入门指南为初学者提供了一份全面的Kubernetes学习手册,内容涉及Kubernetes的基础知识、核心原理、集群部署以及各种资源对象的管理。 首先,Kubernetes的核心原理部分,包括架构原理和设计理念。...
本教程《MySQL 5.7从入门到精通》全面覆盖了MySQL的各个方面,无论你是初学者还是有经验的开发者,都能从中受益,提升你的MySQL技能。通过阅读和实践,你将能够熟练地管理和优化MySQL数据库,为你的项目提供稳定、...
- **Cluster Instance(集群实例)**:集群中的单个实例。 #### 三、产品体系结构 - **集群体系结构**:BES集群由多个集群实例组成,这些实例可以分布在不同的节点上,但都属于同一个域。集群可以通过四层交换机或...
- **高可用性集群**(High Availability Cluster, HACMP):通过集群技术提高系统的可靠性和可用性。 - **故障诊断工具**:利用各种工具进行故障排查,如errpt、diag等。 - **备份与恢复**:制定合理的备份策略,...
总的来说,"redis入门指南第二版"将带你全面了解Redis的基础操作、数据结构、集群配置、Python集成以及性能优化,无论你是初学者还是有一定经验的开发者,都能从中受益。通过学习和实践,你将能够自如地利用Redis...
通过"MySQL_从入门到精通.pdf"这份文档,你将能够全面系统地学习MySQL,无论你是刚开始接触数据库,还是希望进一步提升MySQL技能,这份资料都将是你宝贵的参考资料。通过不断学习和实践,你将能够熟练运用MySQL来...
7. **Cluster集群**:掌握Redis Cluster的搭建和管理,实现数据的分布式存储和负载均衡,进一步提升系统的扩展性。 8. **性能优化**:学习如何调整Redis的内存管理、网络通信和I/O操作,以提升系统性能。 9. **...
- 高可用集群:MySQL集群(如Galera Cluster)和复制的实现。 通过学习《MySQL5.7从入门到精通》这本书,读者可以全面了解MySQL的基础知识,并具备实际项目中应用MySQL的能力。无论是Web开发者还是数据库管理员,...