vcs双机基础

vcs双机基础之一

 

1、VCS双机的基本结构

 

    VCS 使用的心跳协议叫做LLT(低延迟传输协议,Low Latency Transport),LLT运行在IP之下。这个协议比IP更快且更可靠。这能确保集群成员保持同步和在集群中能马上联系对方;

相关的配置项为:

/etc/llttab文件(主备机不一样,包含各自主机的Link定义和主机名定义)

/etc/llthosts文件(主备机内容一样)

启停方式:/etc/init.d/llt start/stop

 

    在LLT上方的协议是GAB(组成员服务和广播,Group Membership Services/Atomic Broadcast),它负责发送广播,接收集群中所有节点的相应,得出集群中节点的状态信息;它也能接受上层服务的注册,将上层服务发出的命令通过LLT发送到各个节点中去。

相关配置项为:

/etc/gabtab

    HAD(高可用进程, hign availability daemon)就是VCS的主要进程,它在gab上注册之后,可以监控管理整个集群中节点的状态。

    Agent是veritas提供或者个人用户自己实现的代理,用来实现用户特定的应用。举例来说,oracle服务就可以是一个代理,该代理可以通过监控oracle数据库的进程来判断oracle数据库的运行状态。VCS了解到判断方法后,会通过GAB和LLT服务来监控集群中所有节点上这些进程,从而监控oracle数据库的状态以及切换。

这个agent可以是第三方的,也可以是系统自带的。第三方的需要手动安装。

这些agent的程序默认在/opt/VRTSvcs/bin/下。

2011712-204711294

 VCS逻辑结构图

 

VCS的使用

 

    启动VCS的图形界面,/opt/VRTSvcs/bin/hagui,默认的用户名和密码分别是admin、password,在安装过程中可以选择添加其他的用户。

    VCS中有两个概念,一个是服务组(service group),另外一个是资源(resource)。资源是监控的最小单位,可以监控某个特定的硬件或者软件的状态。多个资源可以构成一个服务组,共同监控一个应用的运行。多个组也可以组成一个更大的服务组。

    举例说起来比较容易,以oracle应用为例来说明一下:

    首先应该创建一个oracle服务组,然后在该组里面添加所需的节点,oracle服务将在这些节点中进行切换,保证服务的高可用性。

    另外,如果需要启动oracle,那么至少需要以下资源能够正常工作:

    网卡:提供oracle服务所需的IP地址所在的网卡;网卡设置必须指明设备名称;

    IP地址:提供oracle服务的IP地址必须在该主机上时刻存在;IP地址必须指明IP地址和设备,掩码和广播地址是可选的;

    目录1:$ORACLE_HOME所在的目录必须存在;目录必须指明目录名,如果是共享磁盘,还需要指明设备地址和文件系统类型;

    目录2:Oracle数据做存放的位置必须存在;

    Oracle代理:监控oracle进程的存在以及系统表空间可以访问;Oracle代理必须指明SID,数据库的owner,$ORACLE_HOME这些变量;

 

    除此之外,如果oracle数据需要放在共享磁盘上面,那么还要添加磁盘组资源和卷资源。

 

建立各个资源的依赖关系

 

    添加了resource之后还不够,VCS无法了解到用户的具体的需求,所以不能做出合适的判断。这时需要在各个资源直接建立起依赖关系。这个以来关系是很好建立的:

    Oracle服务的正常使用依赖其他三个资源:IP地址存在,数据库程序所在目录存在和数据库文件所在目的的存在。所以它有三个以来关系,我们可以在VCS中将oracle资源分别与其他的三个资源link起来。

    IP资源的存在必须依赖网卡的正常,所以需要将IP资源与网卡资源link起来。

    如果oracle文件目录或者数据目录是存放在共享磁盘上,那么该文件目录(mount point)依赖卷,卷依赖与磁盘组,也需要link起来。

    这样,如下图所示,所有的资源都有机的联系到一起了,在左边的oracle服务组上点击右键,可以选择oracle online到某一个节点,然后还可以选择从该节点切换(switch to)到其他节点。这样,整个VCS的配置就完成了。


2011712-204728298

(文/化蝶飞)

本文来源:http://blog.sina.com.cn/s/blog_4bc30f680100geow.html


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。