当前位置:首页>综合>正文

什么是集群 什么是Linux集群

2023-07-05 06:18:27 互联网 未知 综合

 什么是集群 什么是Linux集群

什么是集群?

集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统造价低,可以实现很高的运算速度,完成大运算量的计算,具有较高的响应能力,能够满足当今日益增长的信息服务的需求。

而集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足、IO能力的不足、提高服务的可靠性、获得规模可扩展能力,降低整体方案的运维成本(运行、升级、维护成本)。只要在其他技术不能达到以上的目的,或者虽然能够达到以上的目的,但是成本过高的情况下,就可以考虑采用集群技术。

什么是Linux集群

集群通信系统是一种计算机系统,
它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。简单地说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群,用户是不会意识到集群系统底层的节点的。在他们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。
集群已不是一个全新的概念,早在七十年代计算机厂商和研究机构就对集群系统进行了研究和开发。这些系统不为大家熟知,是因为它主要用于科学工程计算。直到Linux集群的出现,集群的概念才得以广泛传播。集群系统主要分为高可用(High
Availability)集群,简称HA集群,和高性能计算(High Perfermance Computing)集群,简称HPC集群。
在Linux出现前,集群系统采用的操作系统主要有VMS、UNIX和WindowsNT。到九十年代末期,linux操作系统不断走向成熟,它的健壮性不断增强,并且提供了GNU软件和标准化的PVM、MPI消息传递机制,最重要的是Linux在普通PC机上提供了对高性能网络的支持,这样就大大推动了基于Linux的集群系统的普及和发展。

什么是sqlserver的集群

由二台或更多物理上独立的服务器共同组成的“虚拟”服务器称之为集群服务器。一项称做MicroSoft集群服务(MSCS)的微软服务可对集群服务器进行管理。一个SQL Server集群是由二台或更多运行SQL Server的服务器(节点)组成的虚拟服务器。如果集群中的一个节点发生故障,集群中的另一个节点就承担这个故障节点的责任。
  认为一个SQL Server集群能够给集群中的两个节点带来负载平衡,这是一种常见的误解。虽然这似乎很有用,但却是不正确的。这也意味着集束SQL Server不能真正提高性能。集束SQL Server只能提供故障转移功能。故障转移就是当系统中的一台机器发生故障失去其功能时,另一台机器将接手运行它的SQL Server实例。这种功能失效可能是由于硬件故障、服务故障、人工故障或各种其它原因。
为何要集束SQL Server环境?
  在实用性方面,集群SQL Server环境令人满意。在进行故障转移时,将数据库实例由一台服务器转移到另一台服务器的时间非常短暂,一般只需要3至7秒钟。虽然需要重建连接,但对数据库的终端用户而言,故障转移处理通常是透明的。低廉的故障转移成本还可帮助你对集群中的节点进行维护,而不会造成服务器完全无法访问。
SQL Server集群类型
  一共有两种类型的SQL Server集群:主动/被动集群和主动/主动集群。下面分别对它们进行说明(说明以两个节点的SQL Server集群为基础)。
主动/被动集群
  在这种类型的集群中,一次只有一个节点控制SQL Server资源。另一个节点一直处于备用模式,等待故障发生。进行故障转移时,备用的节点即取得SQL Server资源的控制权。
  优点:由于服务器上只有一个实例在运行,所以在进行故障转移时,不需要另外的服务器来接管两个SQL Server实例,性能也不会因此降低。
  缺点:由于虚拟服务器上只有一个SQL Server实例在运行,另一台服务器总是处理备用模式与空闲状态。这意味着你并没有充分利用你购买的硬件。
主动/主动集群
  在这种类型的集群中,集群中的每个节点运行一个独立且主动的SQL Server实例。发生节点故障时,另一个节点能够控制发生故障节点的SQL Server实例。然后这个正常的节点将运行两个SQL Server实例——它自己的实例和发生故障的实例。
  优点:通过这种配置,你能够充分利用你的硬件。在这样的系统中,两个服务器都在运行,而不是只有一台服务器运行,而另一台处于等待故障发生的备用模式,因此你能够充分利用你购买的机器。
  缺点:如果进行故障转移,一台服务器运行两个SQL Server实例,性能就会受到不利影响。然而,性能降低总比虚拟服务器完全失灵要强得多。这种配置的另一故障在于它要求购买的许可要比主动/被动集群多一些。因为集群在运行两个主动SQL Server实例,这要求你购买两个单独的服务器许可。在某些情况下,这也可能对你形成阻碍。
集群考虑
  在高实用性方面,集群SQL Server环境有一定的优势。然而,高实用性也确实伴随某种折衷。
  首先,建立一个集群SQL Server环境非常昂贵。这是因为集群中的节点必须遵照集群节点的兼容性列表。而且,还需要建立一个复杂的网络,机器的配置必须几乎相同,同时需要实现数据库文件磁盘子系统共享。存储区网络(SAN)是建立这种子系统的不错选择,但SAN并非必要,而且十分昂贵。另外,如果你正在运行一个主动/主动集群,你需要为集群中运行SQL Server实例的每台机器的处理器购买一个许可。
  因为当地集群主要局限于同一地理区域,自然灾难可能会使集群完全失灵。在那种情况下,你需要转移到灾难恢复站点进行继续操作。你也可以建立地理分散的SQL Server集群,但这样的系统更加复杂与昂贵。

集群部署怎么保障系统的可靠性

VPLEX的技术核心是“分布式缓存一致性”,下图则是“分布式缓存一致性”技术的工作机制示意:正是因为这项核心技术优势,使得VPLEX方案和目前所有厂商的虚拟化方案截然不同,并能够实现异地的数据中心整合。对跨数据中心的所有负载实现跨引擎的平摊或者实时迁移,来自任何一个主机的I/O请求可以通过任何一个引擎得到响应。 缓存一致性的记录目录使用少量的元数据,记录下哪个数据块属于哪个引擎更新的,以及在何时更新过,并通过4K大小的数据块告诉在集群中的所有其他的引擎。在整个过程中实际发生的沟通过程,远远比实际上正在更新数据块少很多。 分布式缓存一致性数据流示意图:上方是一个目录,记录下左侧的主机读取缓存A的操作,并分发给所有引擎,右侧主机需要读取该数据块时,会先通过目录查询,确定该数据块所属的引擎位置,读取请求会直接发送给引擎,并直接从数据块所在的缓存上读取。 当一个读请求进入时,VPLEX会自动检查目录,查找该数据块所属的引擎,一旦确定该数据块所属的引擎位置,读的请求会直接发送给该引擎。一旦一个写入动作完成,并且目录表被修改,这时另一个读请求从另一个引擎过来,VPLEX会检查目录,并且直接从该引擎的缓存上读取。如果该数据仍然在缓存上,则完全没必要去磁盘上读取。 如上图,来自图中左侧主机的操作,由Cache A服务,会记录一个更新状态,并分发给所有所有引擎知道。如果读取的需求来自最右侧的服务器,首先通过目录查询。通过这种技术可以实现所有引擎一致性工作,而且这个技术不仅可以跨引擎还可以跨VPLEX集群,而VPLEX集群可以跨区域,因此缓存一致性也可以跨区域部署。 分布式缓存一致性技术使VPLEX相比传统的虚拟化方案拥有更高的性能和可靠性,并实现异地数据中心的虚拟化整合 对传统的虚拟化架构来说,如果虚拟化的I/O集群中有一个节点坏了,那么性能就会降低一半,而且实际情况降低不止一半。因为坏了一个节点,这个节点缓存一般会被写进去。因为没有缓存,操作会直接写到硬盘里。如果图中中心这个节点坏掉,那主机所有的可用性都没有了。而VPLEX如果有一个引擎或者一个控制器坏掉了,那这个引擎的负载会均摊到其他活动引擎上。这样总体来讲用户可以维持可预知性能,性能降低也不那么明显。

什么是RAC模式

RAC是真正应用集群,即两台主机采取双机互备模式,共同采用相同的共享存储,能够实现用户在两台机器上访问的负载均衡。当一台主机出现问题(DOWN机等)时,后台应用会被透明切换至另一台主机,这种机制对于一些7*24小时的业务比较常用到。