#集群:指的是一组相互独立的,通过高速网络互联的计算机,构成了一个组,并以单一系统的模式加以管理。
#一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置用于提高可用性和可缩放性
#集群就是一组计算机,它们作为一个整体向用户提供一组网络资源,这些单个的计算机系统就是集群的节点(node)。集群提供了以下关键的特性。
(一) 可扩展性。集群的性能不限于单一的服务实体,新的服务实体可以动态的加入到集群,从而增强集群的性能。
(二) 高可用性。集群通过服务实体冗余使客户端免于轻易遭遇到“out of service”警告。当一台节点服务器发生故障的时候,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。消除单点故障对于增强数据可用性、可达性和可靠性是非常重要的。
(三) 负载均衡。负载均衡能把任务比较均匀的分布到集群环境下的计算和网络资源,以便提高数据吞吐量。
(四) 错误恢复。如果集群中的某一台服务器由于故障或者维护需要而无法使用,资源和应用程序将转移到可用的集群节点上。这种由于某个节点中的资源不能工作,另一个可用节点中的资源能够透明的接管并继续完成任务的过程叫做错误恢复。
#服务硬件:指提供计算服务的硬件,比如 PC 机、PC 服务器。
#服务实体:服务实体通常指服务软体和服务硬体。
#节点(node):运行 Heartbeat 进程的一个独立主机称为节点,节点是 HA 的核心组成部分,每个节点上运行着操作系统和Heartbeat 软件服务。
#资源(resource):资源是一个节点可以控制的实体,当节点发生故障时,这些资源能够被其他节点接管。如: 磁盘分区、文件系统、IP 地址、应用程序服务、共享存储。
#事件(event):事件也就是集群中可能发生的事情,例如节点系统故障、网络连通故障、网卡故障和应用程序故障等。这些事件都会导致节点的资源发生转移,HA 的测试也是基于这些事件进行的。
HAC:高可用集群(High Availability Cluster)。
LBC:负载均衡集群/负载均衡系统(Load Balance Cluster)
HPC:科学计算集群(High Performance Computing Cluster)/高性能计算(High Performance Computing)集群。
#分布式系统是建立在网络之上的软件系统。
在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件(middleware)负责实现这个模型。一个著名的分布式系统的例子是万维网(World Wide Web),在万维网中,所有的一切看起来就好像是一个文档(Web页面)一样。
Oracle RAC使用的是Shared Disk架构,而DB2,SQL Server及分布式的hadoop使用的是Shared Noting架构,这两种架构侧重点不一样,各有千秋。
1. Shared Disk
# Shared Disk架构,所有的节点共享一份数据,优点是只要有一个节点可用,就可以访问所有数据;缺点是内存融合(cache fusion)大大限制了它的水平扩展能力。简单地说:可用性高,但可扩展性弱,常见于24*7的高可用性核心业务。
2. Shared Nothing
# Shared Nothing架构,数据和节点具有对应关系,缺点是如果要访问所有数据,必须所有节点都可用;优点是每个节点交互少,很容易扩展。简单地说:可扩展性强,可用性低。多用于VLDB。
应用架构:
高可用:如果生产A出现单机(两个node1,node2都出现问题,操作系统起不来),会启用灾备B
主从数据库:如果主数据库A服务器单机了,Oracle则把redo日志复制到B服务器上。启用灾备机房的从数据库B服务器。
负载均衡:
#独立冗余磁盘阵列
RAID 5:生成一个磁盘存放校验码
RAID 6:用更多的磁盘组合进行容错。可有两个磁盘存放校验码,防止另一个损坏。
#网络存储(Network Storage)是数据存储的一种方式,网络存储分为大致三种:
直连式(DAS: Direct Attached Storage)
网络附加存储(NAS: Network Attached Storage)
存储区域网(SAN: Storage Area Network)