2024年6月7日发(作者:)

集群定义:

集群是指用一组服务器运行一到多个应用程序。

简单的说,集群可以简单到只有两台服务器,在他们之间配置故障切换,如果一台服务器失效,

由另一台服务器接管应用程序的处理。集群也可以用来运行复杂的分布式系统:应用程序将数据分

割成多个可管理的部分,每个部分都可以独立进行处理。如果一台服务器失效,其他服务器不会受

影响,失效节点的进程被重新分配到集群中的其他节点。

集群的三种分类:故障切换集群、分布式数据库系统、共享磁盘系统

1. 故障切换集群又可以分为两类:(1.1主动/被动集群、1.2 主动/主动集群)

1.1主动/被动集群:任何时候都只有一台服务器拥有负载,辅助服务器以被动模式运行,时刻

等待着主动服务器停机进而接管主服务器,它一直与主动服务器保持同步。

缺点:只有一个服务器拥有负载,资源浪费,效率低。

1.2 主动/主动集群:两台服务器同时都执行实际的任务。每台服务器都同一个实例,同时又可

以作为其他服务器上运行的实例的故障切换数据库。

缺点:需要对集群中的两台服务的规模进行规划,使其在故障切换时能够临时处理两个节点的

任务。集群中的两个节点随时都可能切换到另一方。

2. 分布式数据库系统

分布式数据库系统中,多个数据库服务器通过某种机制保持同步。它又可以分为两类:(2.1副

本数据库、2.2备用数据库)

2.1副本数据库:由同一个数据库的多个副本组成。有些副本是只读的,有些则可读写。Oracle

高级复制(Advanced Replication)是一种保持数据库同步的机制。

缺点:副本数据库同步保持数据库的多个同步复制需要消耗大量的资源。如果启用了两阶段事

物(two-phase)事务,数据库中的任何修改都要等到所有的分布数据库都确认以后才算完成,在

数据更新量大的环境下容易出问题。

2.2备用数据库。备用数据是活动数据库的事务一致性副本(transactionally consistent copy).

在oracle10g中,备用数据库是数据卫士(Data Guard)产品的一部分,可以使用重做数据(redo

data)保持最新。备用数据库可能位于同一台服务器、同一个服务器机房,也可以位于别的地区别

的国家。

备用数据库的更新状态与日志一样,日志可以使用备用的重做日志进行实时的复制,也可以在

每次归档日志交换时复制,也可以稍后复制。

优缺点:备用数据库中的数据只需与已应用的日志文件保持同步。如果主服务器发生故障,所

有未应用的日志文件都应当应用到备用数据库直到可以使用,备用数据库才能作为活动数据库运行。

大部分分布式数据库的类型都是备用数据库。

3. 共享磁盘系统

共享磁盘使用了共享文件系统,多个系统访问同一组磁盘。集群中的所有节点必须都能访问共

享的磁盘。Oracle共享磁盘系统只运行一个数据库,多个实例都访问同一个数据库。Oracle RAC

(oracle真正应用集群)就是一个共享磁盘系统,它实现了多个实例同时访问共享磁盘中的同一个数据

库文件。共享磁盘系统中,集群中的多个节点共享同一组共享磁盘,这些磁盘通常配置为某种类型

的RAID(如IBM DS4700 )。通常会有一组用来保存集群信息的磁盘,称为quorum盘。RAC中有

一个quorum文件,保存在共享的磁盘中,由各个节点来维护,它保存了集群的相关信息。