第一章:VCS的构成块
定义一个cluster最多32个系统,每个系统运行他自己的操作系统
一个cluster interconnect 允许cluster通讯
一个public 网络,连接每个系统在cluster中到一个LAN对于客户端访问
共享存储(可选择),通过每个系统在cluster需要运行应用
定义一个cluster server和failover
在这个高可用平台中,如果一个server故障,系统管理员将会不得不执行一系列作业为了对于客户端能够工作就像以前一样,除了现在在第二台server上。
确保数据存储在磁盘上到新的server上是可用的,如果共享磁盘被配置。(Storage)
移动IP地址从旧的机器到新的机器(Network)
在新的机器上面启动应用(application)
VCS软件自动完成这些作业,VCS监视和控制应用运行在cluster中,如果有一个故障,应用自动被重起
当另一个server被要求重起应用,VCS执行failover-这是一个在系统中停止应用并且启动它在另一个系统上面的进程
定义一个应用服务
一个应用服务是一个硬件的集合和软件组成要求提供一个服务。要求3种:
application binaries(可执行)
Network
Storage
如果一个应用服务需要被交换到另一个系统,所有的应用服务的组件必须一起迁移到重创建服务在另一个系统上
注意:这些相同组件,系统管理员将不得不手动移动从一个故障server到一个正在工作的server来保持服务的可用性到客户端
定义一个服务组
一个服务组是一个虚拟容器确保VCS来管理应用服务这么一个单元。它包含所有的硬件和软件组件
服务组有5个属性
在cluster范围内有唯一的组名字
在服务组中的资源列表,通常指定通过哪些资源被需要运行指定应用服务
资源之间互相依赖的关系
cluster系统列表在哪些组上被允许运行
cluster系统列表在哪些你要的组来自动启动
服务组的类型(3种类型)
failover
在cluster中同一时间服务组运行在一个系统上。多数应用服务使用这种类型,例如:数据库,NFS服务
parallel
在cluster中服务组运行在同时的在超过一个或者多个系统上。这种类型的服务组要求应用能够同时被启动在多个系统上,没有数据中断的威胁
hybrid
定义资源
资源是VCS的目标,包括对应到硬件或者软件组件。
VCS控制资源三种动作
带起一个资源上线(starting)
使一个资源下线(stopping)
监视一个资源(probing)
资源种类
永久性(2类)
- None
即不能被带起或者停止的资源,例如:NIC
- On-only
VCS带起资源上线如果需要,但是不能停止因为它关联着服务组已经被停止。例如:NFS进程
非永久性
大多数资源属于这种类型,意味着VCS带起他们上线和停止他们作为需求。例如:Mount IP Process
资源的互相依赖
资源依靠另一些资源因为应用或者操作系统需求。
相关规则:
一个父资源(parent)依靠在子资源(child)依存性是同类的,均匀性没有周期的依存性
资源属性
定义特殊的特征在个别的资源。VCS使用属性值来运行适当的命令或者系统执行一个操作在资源上
每个资源有一组必要属性(required attributes)必须被定义为了能够使VCS来管理资源
资源类型
资源通过资源类型来分类。例如:disk group;network interface cards;IP addresses;mount point;databases
VCS提供一套预先规定的资源类型--一些绑定(some bundled),一些附加(some add-ons),除此以外需要创建新资源类型
Agent:VCS如何控制资源
Agent是控制资源的进程。每个资源类型有一个相对应的agent来管理,每个cluster系统仅仅运行一个agent进程对于每个活动的资源类型,不论多少单一的资源类型在使用。
agent控制资源使用一组定义设置,也叫entry points。对于每个agent有4个entry point:
启动资源(online)
关闭资源(offline)
检查资源状态(monitor)
杀死资源或者清除如果需要,当一个资源故障被适度的离线(clean)
cluster通讯
VCS要求一个cluster通讯通道在系统之间在一个cluster来服务作为cluster interconnect,这个通道也有时候引用位置作为private network因为它经常执行利用专门用于Ethernet network.
Veritas推荐你使用最少2条专门用于通讯的连接通道并且是分开的基础连接。
cluster interconnect有两个主要的用途:
1.
确定cluster全体成员---在cluster中的全体成员被确定通过系统发送和接受心跳信号(heartbeat
signals)在cluster
interconnect上面。这能够使VCS来确定cluster成员中哪些系统活着,哪些系统被加入或者离开cluster
为了校正在节点上的故障,继续存在的成员必须同意当节点离开的时候,全体成员需要被准确和调整在有效成员---节点能被重启动;电源关闭;故障和任何时候添加到cluster
2. 维护分布式配置---cluster配置和状态信息对于每个资源和服务组是被动态分布在所有系统在cluster中。
GAB(Group Membership Services/Atomic Broadcast)
LLT(Low-Latency Transport)protocol
Low-Latency Transport(LLT)
veritas使用high-performance,low-latency协议对于cluster通讯,LLT具有高带宽,低等待时间。
它运行在DLPI层Ethernet之上并且有5个主要功能:
1. 在网络连接上发送和接受heartbeats
2. 在多个网络连接上监视和传输网络流量到每个有效的系统
3. 在多个网络连接上负载均衡网络流量
4. 维护通讯状态
5. 提供一个非路由表传输机制对于cluster通讯
Group Membership Services/Atomic Broadcast(GAB)
1.
Group Membership Services :GAB维护全部cluster成员通过他的Group Membership
Services功能之路。cluster全体成员被确定是通过追踪心跳信息发送和接受通过LLT在全部系统上并在cluster
interconnect上
心跳机制被VCS用来确定是否一个系统活动,加入cluster;或者离开cluster。如果一个系统停止发送心跳,GAB确定这系统已经离开cluster
2. Atomic Broadcast:自动广播确保所有活动的系统收到所有信息对于每个资源和服务组在cluster中
The Fencing Driver
The High Availability Daemon(HAD)
这是VCS引擎,HAD。这个进程在cluster中运行在每个系统上
HAD追踪所有改变在cluster配置和资源状态通过使用GAB通讯。HAD管理所有应用服务(通过agent之路)无论cluster有一个或者多个系统
HAD可以认为是agent的管理者,它使用agent来检视所有节点上所有资源的状态。
这种模块性在HAD和agent之间允许角色的有效性
1. HAD不需要知道如何启动Oracle或者其他任何应用将其放到VCS的控制下
2. 同样的,agent不需要制作cluster范围内决策
这个模块性允许一个新应用来置于VCS控制下,同样通过添加一个新的agent--不必改变VCS引擎
在每个活动的cluster系统中。HAD更新所有其他cluster系统的改变来配置或者状态
为了确保had进程的高可用性,一个伙伴进程hashadow,监视had并且如果had失败,hashadow尝试重新启动它,同样的,had重新启动hashadow如果hashadow停止。
维护cluster配置
HAD维护配置和状态信息对于每个cluster系统中的在内存中的所有
cluster资源。cluster状态涉及到追踪所有资源状况和服务组在cluster中。当任何改变cluster配置发生时,例如添加一个资源到一
个服务组,HAD在开始的系统上发送一个消息给每个cluster成员的HAD通过GAB自动广播这条路,来确保每个系统有同样cluster视图。
阅读(1687) | 评论(0) | 转发(1) |