`
xinyoulinglei
  • 浏览: 125957 次
社区版块
存档分类
最新评论

VCS的安装信息

阅读更多











目  录
1 VCS简介 7
2 概念/原理 8
2.1 集群 8
2.2 资源和资源类型 9
2.3 资源组 9
2.4 资源依赖关系 9
2.5 代理 10
3 VCS资源/代理介绍 10
3.1 普通资源 10
3.2 Oracle资源 14
3.3 DB2资源 15
4 VCS安装/补丁 16
4.1 安装准备 16
4.2 VCS安装 16
4.3 补丁安装 18
4.4 检查状态 18
5 VCS规划/配置 19
5.1 规划 19
5.2 配置 20
5.2.1 添加资源组 20
5.2.2 添加资源 20
5.2.3 设定资源依赖关系 22
5.2.4 调整资源类型与属性 22
5.3 配置检验 23
5.3.1 双机启动 23
5.3.2 双机切换 24
5.3.3 系统退出 24
5.3.4 应用停止 24
5.3.5 单个心跳网络故障 24
6 VCS管理/维护 25
6.1 启动VCS双机 25
6.2 停止VCS双机 25
6.3 状态查询 25
6.4 基本管理操作 27
7 VCS方案比较 27
7.1 SMS GW 27
7.2 PortalOne 28
7.2.1 DB2 29
7.2.2 PortalOne 29
7.3 MDSP 30
7.3.1 ORACLE 30
7.3.2 DB2 30
7.4 TopEng SLTS 31
7.5 GFEP 32
7.6 PISA 32
7.6.1 Service Server 32
7.6.2 MC Server 33
7.6.3 DBMS Server 34
7.6.4 Media Server 35
8 附录 36
8.1 集群分裂 36
8.2 业务流程 36
8.2.1 集群启动 36
8.2.2 资源上线 37
8.2.3 资源下线 37
8.2.4 资源组上线 37
8.2.5 资源组下线 38
8.2.6 资源故障 38
8.2.7 节点故障 39
8.2.8 网络连接故障 39
8.2.9 资源组手工切换 39
8.2.10 资源组故障切换 39
8.3 配置文件 40
8.3.1 main.cf 40
8.3.2 types.cf 40
8.4 VCS日志 41
8.5 故障处理 42
8.5.1 VCS启动 42
8.5.2 资源组 42
8.5.3 资源 43
8.6 VCS故障实例 44
8.6.1 切换后故障不自动恢复 44
8.6.2 集群进入ADMIN_WAIT状态 45
8.6.3 集群进入STALE_ADMIN_WAIT状态 45


Veritas VCS双机方案白皮书
关键词:VCS、双机、故障切换

摘  要: 本文介绍了VCS集群软件的双机安装、设计、配置、典型故障等内容,并比较业软不同产品的方案。

术语清单
术语 中文名称 解释
Cluster 群集 高可用性的计算机系统
System 节点 服务器
Resource 资源 监控对象
Service Group 资源组 切换的最小单位


1 VCS简介
VCS(VERITAS Cluster Server)是由VERITAS公司提供的集群管理软件。VCS提供了一个集群系统解决方案,应用于部署业务双机系统,可监控系统和应用服务,并方便的实现主备机快速切换,从而解决单点故障问题。当发生故障时,VCS在主机上停止应用、卸载磁盘、释放浮动IP,在备机上绑定浮动IP、挂载磁盘、启动应用。每台服务器最少要配置三块网卡,其中一块网卡加载浮动IP对外提供业务,另外两块是VCS的心跳网卡。

VCS使用集群通信查询资源组和资源的状态,以及集群状态变化的事件,如节点加入、节点退出、节点故障。下图是VCS集群通讯的总体架构,其中心跳线之间的通信由模块LLT和GAB实现。HAD进程是VCS的核心进程,hashadow监控HAD进程的运行,如果HAD进程异常中止,hashadow会将HAD进程进行重启动。而对应用的监控在Agents中实现。在集群中Agents监控资源的状态并和HAD交互资源状态,然后本地HAD通过GAB和LLT与集群中的其它节点交互信息。

 HAD (High-Availability Daemon)
HAD是运行于每个系统的高可用进程,HAD被看作是“VCS的发动机”。它从本机接收各种Agents的信息,然后把这些信息转发到其它系统。它也能从其它系统接受消息来跟新本地系统状态。HAD被同样运行在每个系统的hashadow所监控。
 GAB (Group Membership Services/Atomic Broadcast)
GAB用于监控集群成员的数量、探测集群状态和分发信息到集群中各系统(节点)。VCS的集群成员是指通过心跳线连接在一起的拥有相同的群组ID的系统。当一个系统加入群组以后,GAB就会发出一条“加入群组”的消息。群组成员关系则是通过周期性心跳来维护,当一个系统在心跳超时时间内没有接收到心跳,就认为对端已经故障或从群组中脱离。
 LLT (Low Latency Transport)
LLT用来实现集群中系统之间的通信,它用来发送、接收心跳消息,从而监测群中的节点是否“健康”。LLT提供了一个快速、内核到内核的通信并且监测网络的连接状态,其相当于其它系统中的IP协议栈。
2 概念/原理
2.1 集群
VCS集群是由许多(一般为两个)连接在一起的节点(即服务器/小型机)组成。集群中的节点拥有相同的集群ID,它们通过冗余的私有网络连接在一起,周期性传递心跳、信号。
2.2 资源和资源类型
资源(Resource)是提供业务的硬件或软件实体,如:网卡、IP、数据库等。VCS通过唯一的名字来识别每一个资源。同一资源类型的资源拥有相似的特征,例如两个IP资源都是通过IP类型定义的。VCS资源启动、停止、检测的方法依资源类型的不同而不同,如IP资源的启动就是把IP地址分配给网卡,IP资源的监测就是检测IP地址是否绑定在网卡上。
2.3 资源组
VCS的资源组(Service Group)是运行在集群上的一组相关资源的集合,其中包含了一些相互关联的资源。例如,一个Web应用的资源组可能包含下面的资源:
◆ 卷组
◆ 卷
◆ 文件系统
◆ 数据库
◆ 网卡
◆ 浮动IP
◆ 应用程序
资源组是业务切换的基本单位,VCS资源的启动、停止、监测、重启等操作都以资源组为单位。例如,当资源组被拉起来以后,资源组中的所有资源都会被拉起来。在一个集群中可以定义多个资源组。
2.4 资源依赖关系
单个资源在运行时可能要依赖其它类型的资源,如IP地址资源依赖于网卡资源,因此在资源上线时要保证一定的先后顺序。VCS中设计了资源的依赖关系,即资源间的父/子关系,子资源在父资源之前上线,在父资源之后下线。这样当一个资源组上、下线时,资源组中的所有的资源就会根据资源之间的依赖关系依次上、下线。下面是资源组依赖关系的示例:

在上图中,上层的(父)资源要依赖于下层的(子)资源,例如Volume资源依赖Disk Group资源,而Mount资源依赖Volume资源。
2.5 代理
代理(Agent)是控制一种特定类型资源的程序,VCS通过代理来管理各类资源,每一类资源对应一种代理。代理在资源和VCS之间扮演了一种“媒介”的作用,即在资源和VCS之间传递信息。例如,VCS要拉起Oracle资源,但VCS不需要认识Oracle资源,它只要把上线命令传递给Oracle的代理,Oracle的代理就会执行Oracle的启动命令。
VCS对资源的管理非常灵活,如果在资源组中没有添加某资源,则说明VCS不会通过代理该资源进行直接的控制和监控。此时VCS仍可在其它资源的代理中调用脚本来间接的控制该资源,并通过监控整个应用的状态来间接的监控该资源。
3 VCS资源/代理介绍
本章介绍一些常见的VCS代理,更详细的描述请参考《VCS Agents Reference Guide》。
3.1 普通资源
1、 DiskReservation
为节点保留(reserve)并监控SCSI磁盘,磁盘被某节点保留后其它节点无法访问或更改,从而避免数据损坏。DiskRerservation支持指定多个裸磁盘设备,支持保留整个磁盘或保留一定比例的磁盘空间。
功能 备注
Online 保留指定的磁盘
Offline 释放保留的磁盘
Monitor 监控保留磁盘的状态
关键属性 备注
Disks 需要保留的裸磁盘设备列表,如{"/dev/sdb","/dev/sdc","/dev/sdd","/dev/sde"}。注意:列表中的设备顺序在不同系统中必须相同。
Percentage 保留磁盘空间的百分比,范围51~100,缺省为100。
2、 DiskGroup
控制并监控VxVM(Veritas Volume Manager)磁盘组,因此该代理使用VxVM命令。DiskGroup资源依赖于DiskReservation资源。为了保证数据的一致性,当有数据写入磁盘组中的卷时,DiskGroup代理禁止切换。
功能 备注
Online 使用vxdg命令加载(import)磁盘组
Offline 使用vxdg命令卸载(export)磁盘组
Monitor 使用vxdg命令监控磁盘组状态
关键属性 备注
DiskGroup 通过VxVM配置的磁盘组,如oradg
StartVolumes 设置为1时,加载磁盘组后online脚本启动所有逻辑卷。缺省为1
StopVolumes 设置为1时,卸载磁盘组前offline脚本停止所有逻辑卷。缺省为1
3、 Volume
控制并监控VxVM卷,Volume资源依赖于DiskGroup资源。
功能 备注
Online 使用vxrecover命令启动卷
Offline 使用vxvol命令停止卷
Monitor 通过裸设备接口读块(block),从而监控卷状态
关键属性 备注
DiskGroup 卷所在的磁盘组
Volume 通过VxVM配置的卷
4、 LVMVolumeGroup
控制并监控LVM2(Logical Volume Manager)卷组,因此该代理使用LVM2命令。LVMVolumeGroup资源依赖于DiskReservation资源。
功能 备注
Online 使用vgimport命令加载卷组
Offline 使用vxexport命令卸载卷组
Monitor 使用vxdisplay命令监控卷组状态
关键属性 备注
VolumeGroup 通过LVM2配置的卷组,如datavg1
StartVolumes 设置为1时,加载卷组后online脚本启动所有逻辑卷。缺省为0
5、 Mount
控制并监控文件系统或NFS的客户挂接点。
功能 备注
Online 将块设备挂载到目录上
Offline 卸载(unmount)块设备
Monitor 监控文件系统是否已挂载
Clean 强制卸载块设备
关键属性 备注
BlockDevice 需要挂载的块设备,如/dev/vx/dsk/db2dg/lv_db2
如果设备是LVM2卷,则格式为:/dev/mapper/volume-group-logical-volume,如/dev/mapper/datavg1-lvinfox
如果文件系统类型是NFS,则格式为:server:/path/to/share,如vcslnx1.veritas.com:/usr/share1
FsckOpt fsck命令参数,如-y %-n。当非NFS挂载处理失败时,代理使用此参数运行fsck命令并尝试重新挂载
MountPoint 挂接点目录,如/infoxshare
FSType 文件系统类型,支持的类型有vxfs, bind, ext2, ext3, nfs等
6、 IP
控制在接口上配置虚拟(浮动)IP及其子网掩码。IP资源依赖于NIC资源。
功能 备注
Online 在NIC上配置IP地址,并检查是否有其它系统也在使用该IP地址
Offline 卸载Address属性指定的IP地址
Monitor 监控接口并测试其上IP地址的状态
Clean 卸载指定接口上的IP地址
关键属性 备注
Address 浮动IP地址,如10.0.0.1
Device 浮动IP所在的网卡,如eth1,bond0
NetMask 浮动IP的子网掩码,如255.255.255.128
Options ifconfig命令参数,如broadcast 10.10.10.255。代理使用ifconfig命令将IP地址配置到接口上,Options是执行命令时的参数
7、 NIC
监控配置的网卡。当网络连接中断或网卡故障时,网卡被标识为FAULTED。
功能 备注
Monitor 监控配置的网卡(Network Interface Card)。如果NIC自行维护连接状态,代理使用MII确定资源状态;否则,代理向NetworkHosts属性列表中的所有主机发送ping包,并在ping测试成功时标识NIC资源状态online;当NetworkHosts属性列表为空或ping测试失败时,代理通过判断NIC收到的报文数有增长是标识NIC资源状态online
关键属性 备注
Device 要监控的网卡
8、 NFS
控制并监控NFS文件系统所需的nfsd、mountd、statd、lockd守护进程(daemon)。
功能 备注
Online 启动守护进程
Offline 终止守护进程
Monitor 监控守护进程
Clean 终止守护进程
9、 Share
为远端系统挂接的NFS文件系统设置、取消本地资源的共享,并监控本地资源。Share资源依赖于NFS资源。
功能 备注
Online 为指定的客户端导出/共享(Export/Share)一个目录
Offline 取消导出目录的共享
Monitor 监控导出目录的共享
关键属性 备注
PathName 共享目录的路径
Client 指定的客户端地址,“*”表示不限制
10、 Application
Application是最常用的代理,其作用是启动并监控应用资源。Application资源的依赖关于随系统上下文而不同,一般包括IP、Mount等资源。
功能 备注
Online 在特定的用户上下文环境中使用指定的参数运行StartProgram
Offline 在特定的用户上下文环境中使用指定的参数运行StopProgram
Monitor 在指定MonitorProgram的情况下,代理在特定的用户上下文环境中运行MonitorProgram。从而监控应用
100表示offline
101-110表示online(可信度不同)
110表示100%可信的online状态
Clean 终止PidFiles或MonitorProcesses中指定的进程。如果定义了CleanProgram,代理执行CleanProgram
关键属性 备注
StartProgram 启动应用资源的可执行文件(包括脚本)
StopProgram 终止应用资源的可执行文件
CleanProgram 强行终止应用资源的可执行文件
MonitorProgram 监控应用资源的可执行文件(MonitorProgram、PidFiles、MonitorProcesses中至少选择一个)
MonitorProcesses 需监控和强行终止(Clean)的应用资源的进程名列表
PidFiles 需监控和强行终止的应用资源的进程ID列表
User 执行StartProgram、StopProgram、MonitorProgram、CleanProgram的用户
3.2 Oracle资源
1、 Oracle
启动并监控Oracle进程。
功能 备注
Online 调用svrmgrl或sqlplus命令启动Oralce数据库:startup pfile=$PFile force
Offline 使用指定参数调用svrmgrl或sqlplus命令终止Oralce数据库:shutdown immediate
Monitor 监控Oracle状态。Oracle代理提供了两级监控模式:
1、基础监控时,代理通过检测关键进程判断Oracle是否在运行(具体方法在操作系统进程表中查找ora_dbw、ora_smon、ora_pmon、ora_lgwr进程);
2、详细监控时,代理在测试表中执行事务以确定Oracle功能正常
Clean 调用svrmgrl或sqlplus命令强制终止Oralce数据库:shutdown abort。
如果shutdown命令不起作用,代理从进程表中获取和配置实例关联的进程并将其kill掉
关键属性 备注
Sid 代表数据库实例的$ORACLE_SID变量
Owner /etc/passwd中定义的数据库表和文件的所有者
Home Oracle二进制文件和配置文件的路径,即$ORACLE_HOME
DetailMonitor 详细监控的检测周期。缺省为0,即不激活详细监控
MonScript 详细监控的脚本及其路径
User 连接数据库进行详细监控的数据库用户
Pword 上述数据库用户经加密后的密码
Table 使用User/Pword进行更新(update)操作的表名
2、 Netlsnr
控制并监控Oracle监听器进程(Listener Process),监听器进程负责监听客户端的连接请求并将其转交给数据库服务器进程。
功能 备注
Online 使用lsnrctl start $LISTENER命令启动监听器进程
Offline 使用lsnrctl stop $LISTENER命令终止监听器进程
Monitor 监控监听器进程状态。Netlsnr代理提供了两级监控模式:
1、基础监控时,代理通过检测tnslsnr进程判断监听器进程是否在运行;
2、详细监控时,代理使用lsnrctl status $LISTENER命令检测监听器状态
Clean 从进程表中查找tnslsnr $Listener进程并将其kill掉
关键属性 备注
Owner /etc/passwd中定义的数据库表和文件的所有者
Home Oracle二进制文件和配置文件的路径,即$ORACLE_HOME(环境变量)
TnsAdmin 监听器配置文件(listener.ora)的路径,即$TNS_ADMIN,缺省值为/var/opt/oracle
Listener 监听器名称,缺省值为LISTENER
MonScript 详细监控的脚本及其路径。当本属性为空或非法时,不激活详细监控
3、 Sqlnet
VCS3.5版本使用Sqlnet代理监控Oracle监听器资源,其功能和配置与Netlsnr基本相同。
3.3 DB2资源
1、 Db2udb
启动并监控DB2 UDB进程。
功能 备注
Online 使用db2start或db2gcf命令启动DB2实例
Offline 使用db2stop或db2gcf命令终止DB2实例
Monitor 监控DB2实例状态。Db2udb代理提供了两级监控模式:
1、浅层监控时,代理通过执行db2nps或db2gcf命令监控DB2 UDB实例;
2、深度监控时,代理执行查询语句检测DB2实例的状态
Clean 使用db2nkill或db2gcf命令终止DB2实例
关键属性 备注
DB2InstOwner 启动DB2 UDB实例(instance)的实例所有者(Owner)的用户ID,如db2inst1
DB2InstHome 保存DB2实例配置文件的DB2 UDB主目录,如/home/db2inst1
IndepthMonitor 设置为1表示激活深度监控,缺省值为0
DatabaseName 进行深度监控的DB2数据库名称,如mdpdb
4 VCS安装/补丁
4.1 安装准备
1、 配置网卡IP,并测试IP是否可用;
2、 配置主机名,并将对方主机的IP和名字加入到/etc/hosts;
3、 设置SSH,建立双机信任关系。
# ssh-keygen -t dsa
# cd /root/.ssh
# cp id_dsa.pub authorized_keys
# scp -r /root/.ssh root@host2: /root/.ssh
4.2 VCS安装
下面VCS的关键安装步骤,部分接受默认选项的步骤没有罗列出来。另外,不同版本的VCS,其安装流程可能有少部分不同。
1. 以root用户登录,插入安装光盘并mount
#mount /media/cdrom
2. 进入安装目录,执行安装命令
#cd /media/cdrom/sles9_i586/cluster_server
#./installvcs
3. 确定安装VCS的系统(节点)
Enter the system names separated by spaces on which to install VCS: DB1 DB2
VCS可以自动在多台服务器上安装,在这里输入所有要安装VCS的系统(主机)名,并确认系统名已被设置在/etc/hosts中了。
4. 输入并验证License
VCS Licensing Verification:
Checking VCS license key on DB1 .................................... not licensed
Enter a VCS license key for DB1: [?] XXX-XXXX-XXXX-XXXX-XXXX-XX
       Registering XXX-XXXX-XXXX-XXXX-XXXX-XX on DB1 ........ Done
Do you want to enter another license key for DB 1? [y,n,q,?] (n)
Registering XXX-XXXX-XXXX-XXXX-XXXX-XX on DB2
Checking VCS license key on DB2 .................................... Cluster Server
Do you want to enter another license key for DB 2? [y,n,q,?] (n)
5. 选择安装全部组件
installvcs can install the following optional VCS rpms:
VRTSvxfen    VERITAS I/O Fencing
VRTSvcsmn    VERITAS Cluster Server Man Pages
VRTSvcsApache VERITAS Cluster Server Apache Agent
VRTSvcsdc    VERITAS Cluster Server Documentation
VRTScscm     VERITAS Cluster Server Cluster Manager
VRTScssim    VERITAS Cluster Server Simulator
     1)  Install all of the optional rpms
     2)  Install none of the optional rpms
     3)  View rpm descriptions and select optional rpms
Select the optional rpms to be installed on all systems? [1-3,q,?] (1)
6. 选择配置VCS
It is optional to configure VCS now. If you choose to configure VCS later, you can either do so manually or run the installvcs -configure command.
Are you ready to configure VCS? [y,n,q] (y)
7. 配置集群的名称和ID
To configure VCS the following is required:
        A unique Cluster name
        A unique Cluster ID number between 0-255
        Two or more NIC cards per system used for heartbeat links
        One or more heartbeat links are configured as private links
        One heartbeat link may be configured as a low priority link
All systems are being configured to create one cluster
Enter the unique cluster name: [?] DB_cluster
Enter the unique Cluster ID number between 0-255: [b,?] 1
8. 设置心跳网卡
Discovering NICs on DB1 ...discovered eth0 eth1 eth2 eth3
Enter the NIC for the first private heartbeat NIC on north: [b,?] eth2
Would you like to configure a second private heartbeat link? [y,n,q,b,?] (y)
Enter the NIC for the second private heartbeat NIC on north: [b,?] eth3
Would you like to configure a third private heartbeat link?[y,n,q,b,?] (n)
Do you want to configure an additional low priority heartbeat link? [y,n,q,b,?] (n)
Are you using the same NICs for private heartbeat links on all systems? [y,n,q,b,?] (y)
9. 增加VCS用户
The following information is required to add VCS users:
        A user name
        A password for the user
        User privileges (Administrator, Operator, or Guest)
Do you want to set the username and/or password for the Admin user (default username = 'admin', password='password')? [y,n,q] (n)
Do you want to add another user to the cluster? [y,n,q] (n)
10. 配置集群管理器
The following information is required to configure Cluster Manager:
        A public NIC used by each system in the cluster
        A Virtual IP address and netmask for Cluster Manager
Do you want to configure Cluster Manager (Web Console) [y,n,q] (y)
Active NIC devices discovered on DB1: eth0 eth1 eth2 eth3
Enter the NIC for Cluster Manager (Web Console) to use on DB1: [b, ?] (eth0)
Is eth0 to be the public NIC used by all systems [y,n,q,b,?] (y)
Enter the Virtual IP address for Cluster Manager: [b, ?] (10.71.104.144)
Enter the netmask for IP 10.71.104.144: [b, ?] (255.255.255.128)
11. 不配置SMTP及SNMP
The following information is required to configure SMTP notification:
        The domain-based hostname of the SMTP server
        The email address of each SMTP recipient
        A minimum severity level of messages to send to each recipient
Do you want to configure SMTP notification? [y,n,q] (y) n
The following information is required to configure SNMP notification:
        System names of SNMP consoles to receive VCS trap messages
        SNMP trap daemon port numbers for each console
        A minimum severity level of messages to send to each console
Do you want to configure SNMP notification? [y,n,q] (n)
12. 设置全局集群信息
The following is required to configure the Global Cluster Option:
        A public NIC used by each system in the cluster
        A Virtual IP address and netmask
The Virtual IP address and NIC may be the same as those configured for Cluster Manager (Web Console)
Do you want to configure the Global Cluster Option? [y,n,q] (y)
Enter the Virtual IP address for the Global Cluster Option: [b,?] (10.71.104.144)
13. 选择非同步安装模式安装
VCS can be installed on systems consecutively or simultaneously. Installing rpms on systems consecutively takes more time but allows for better error handling.
Would you like to install Cluster Server on all systems simultaneously? [y,n,q] (y) n
设置上述选项后开始安装,安装完后系统自动启动VCS。
4.3 补丁安装
安装完VCS标准版本后,通常还需要安装VCS补丁,其过程见下。
1. 准备补丁
到Veritas的网站上下载http://seer.support.veritas.com/docs/277561.htm需要安装的补丁或到yf-ftp上进行下载,并将补丁程序上传到安装了VCS服务器上,然后分别执行下述操作。
2. 解压补丁
#tar xzvf sf_ha.cd.4.1.00.11.RP1_sles9.tar_277561.gz
选择相应CPU的补丁文件再解压
#tar xzvf sf_ha.cd1.4.1.00.11.RP1_sles9_i586.tar.gz
3. 安装补丁
进入sles9_i586/cluster_server/rpms目录
#cd ./ sles9_i586/cluster_server/rpms
顺次执行以下安装操作
#rpm -Uv VRTSvxfen-4.1.00.11-RP1_SLES9.i586.rpm
#rpm -Uv VRTSgab-4.1.00.11-RP1_SLES9.i586.rpm
#rpm -Uv VRTSllt-4.1.00.11-RP1_SLES9.i586.rpm
#rpm -Uv VRTSvcsdr-4.1.00.11-RP1_SLES9.i586.rpm
进入/etc/rc.d/rc5.d目录,启动gab、llt、vcs
#/etc/rc.d/rc5.d/S06llt start
#/etc/rc.d/rc5.d/S07gab start
#/etc/rc.d/rc5.d/S08vcs start
4.4 检查状态
待两台服务器都打完补丁,等待1分钟左右,运行lltconfig和gabconfig检查VCS的状态。
DB2:/etc/rc.d/rc5.d # lltconfig
LLT is running
DB2:/etc/rc.d/rc5.d # gabconfig -a
GAB Port Memberships
=========================================================
Port a gen   eef703 membership 01
Port h gen   eef706 membership 01
5 VCS规划/配置
配置VCS可以通过基于WEB的集群管理控制台、集群管理器(JAVA控制台)、命令行、直接修改配置文件(VCS未启动时),其配置效果完全一致。下面的介绍以命令行为例。
5.1 规划
规划VCS双机包括设定集群名、主机名、网络及IP地址、资源组及资源等。业软主要采用基于磁盘阵列的双机方案,即应用程序和配置文件安装在服务器上,数据文件放在共享磁盘阵列中。当发生切换时主机应用先停下来,然后切换,磁盘阵列对于新主机变成可访问,最后在新主机上启动应用。
在上述双机方案中,需要通过浮动IP对外提供服务。虽然原理上加载浮动IP对外提供服务的网卡可以在任何一块网卡上,但并不推荐采用心跳网卡对外提供服务,而是专门使用一块网卡对外提供服务。因此VCS双机中的每台主机至少需要三块网卡:其中两块做心跳线,一块对外提供服务。
下述双机方案中两台服务器组成的集群为cluster1,两个节点分别为srv1和srv2:
srv1
服务类型 网卡编号 Adapter IP Address Mask
心跳网卡 Eth3 192.168.1.5 255.255.255.0
Eth4 192.168.2.5 255.255.255.0
服务网卡 Eth6 10.70.100.197 255.255.255.128
srv2
服务类型 网卡编号 Adapter IP Address Mask
心跳网卡 Eth3 192.168.1.7 255.255.255.0
Eth4 192.168.2.7 255.255.255.0
服务网卡 Eth6 10.70.100.195 255.255.255.128
按照上面的规划,双机系统逻辑结构如下图所示。

5.2 配置
请在集群中的一个节点上以root用户执行以下操作。
5.2.1 添加资源组
首先将配置设为R/W模式,然后创建资源组,指定资源组的系统列表(资源组仅在系统列表中的系统上线,相当于将系统加入集群,只不过是以资源组为单位的),并指定资源组的自动启动列表(资源组仅自动启动列表中的系统启动,相当于确定业务资源组的系统),最后将资源组配置写入磁盘。
#haconf -makerw
#hagrp -add infoxgrp
#hagrp -modify infoxgrp SystemList linux5 0 linux7 1
#hagrp -modify infoxgrp AutoStartList linux5 linux7
#haconf -dump
5.2.2 添加资源
资源包括:Application×2,Mount×3,LVMVolumeGroup,IP。
在资源组infoxgrp中增加Application类型的资源infoxapp,设置其为关键资源(故障时重启或切换),同时设置脚本的运行环境(用户名),指定资源的启动/停止/清除/监控脚本(其中,清除脚本用于强行关闭应用,是可选项),然后清空Pid文件列表和监控进程列表(不使用这两种监控方法),最后设置VCS不监控该资源(暂时)。
#hares -add infoxapp Application infoxgrp
#hares -modify infoxapp Critical 1
#hares -modify infoxapp User root
#hares -modify infoxapp StartProgram /home/infox/shell/app/start.sh
#hares -modify infoxapp StopProgram /home/infox/shell/app/stop.sh
#hares -modify infoxapp CleanProgram /home/infox/shell/app/stop.sh
#hares -modify infoxapp MonitorProgram /home/infox/shell/app/monitor.sh
#hares -modify infoxapp PidFiles -delete -keys
#hares -modify infoxapp MonitorProcesses -delete -keys
#hares -modify infoxapp Enabled 0
在资源组infoxgrp中增加Application类型的资源infoxdb2,其属性设置类似infoxapp。
#hares -add infoxdb2 Application infoxgrp
#hares -modify infoxdb2 Critical 1
#hares -modify infoxdb2 User root
#hares -modify infoxdb2 StartProgram /home/infox/shell/db2/db2start.sh
#hares -modify infoxdb2 StopProgram /home/infox/shell/db2/db2stop.sh
#hares -modify infoxdb2 CleanProgram /home/infox/shell/db2/db2stop.sh
#hares -modify infoxdb2 MonitorProgram /home/infox/shell/db2/db2monitor.sh
#hares -modify infoxdb2 PidFiles -delete -keys
#hares -modify infoxdb2 MonitorProcesses -delete -keys
#hares -modify infoxdb2 Enabled 0
在资源组infoxgrp中增加Mount类型的资源infoxsharemt,设置其为关键资源,配置VxFS属性(SnapUmount/CkptUmount缺省值),设置挂接点(路径)及对应的块设备,文件系统类型,当挂接过程失败时执行fsck命令的参数,最后设置VCS不监控该资源。
#hares -add infoxsharemt Mount infoxgrp
#hares -modify infoxsharemt Critical 1
#hares -modify infoxsharemt SnapUmount 0
#hares -modify infoxsharemt CkptUmount 1
#hares -modify infoxsharemt MountPoint /infoxshare
#hares -modify infoxsharemt BlockDevice /dev/mapper/datavg1-lvinfox
#hares -modify infoxsharemt FSType ext2
#hares -modify infoxsharemt FsckOpt %-n
#hares -modify infoxsharemt Enabled 0
在资源组infoxgrp中增加Mount类型的资源infoxbackkmt,其属性设置类似infoxsharemt。
#hares -add infoxbackkmt Mount infoxgrp
#hares -modify infoxbackkmt Critical 1
#hares -modify infoxbackkmt SnapUmount 0
#hares -modify infoxbackkmt CkptUmount 1
#hares -modify infoxbackkmt MountPoint /back
#hares -modify infoxbackkmt BlockDevice /dev/mapper/datavg1-lvback
#hares -modify infoxbackkmt FSType ext2
#hares -modify infoxbackkmt FsckOpt %-n
#hares -modify infoxbackkmt Enabled 0
在资源组infoxgrp中增加Mount类型的资源infoxdbmt,其属性设置类似infoxsharemt。
#hares -add infoxdbmt Mount infoxgrp
#hares -modify infoxdbmt Critical 1
#hares -modify infoxdbmt SnapUmount 0
#hares -modify infoxdbmt CkptUmount 1
#hares -modify infoxdbmt MountPoint /home/db2data
#hares -modify infoxdbmt BlockDevice /dev/mapper/dbvg1-db2lv1
#hares -modify infoxdbmt FSType ext2
#hares -modify infoxdbmt FsckOpt %-n
#hares -modify infoxdbmt Enabled 0
在资源组infoxgrp中增加LVMVolumeGroup类型的资源infoxvg,设置其为关键资源,设置卷组上线脚本在卷组import后启动其中所有的卷,确定卷组名,最后设置VCS不监控该资源。
#hares -add infoxvg LVMVolumeGroup infoxgrp
#hares -modify infoxvg Critical 1
#hares -modify infoxvg StartVolumes 1
#hares -modify infoxvg VolumeGroup datavg1
#hares -modify infoxvg Enabled 0
在资源组infoxgrp中增加IP类型的资源infoxserviceip,设置其为关键资源,确定其所属网卡、IP地址、掩码,最后设置VCS不监控该资源。
#hares -add infoxserviceip IP infoxgrp
#hares -modify infoxserviceip Critical 1
#hares -modify infoxserviceip Device eth6
#hares -modify infoxserviceip Address 10.70.100.196
#hares -modify infoxserviceip NetMask 255.255.255.0
#hares -modify infoxserviceip Enabled 0
将配置写入磁盘。
#haconf -dump
5.2.3 设定资源依赖关系
设置资源间的依赖关系,从而确定启动/终止是资源上/下线的顺序。具体的讲,父资源在子资源上线后上线,在子资源下线前下线。
#hares -link infoxapp infoxserviceip
#hares -link infoxapp infoxvg
#hares -link infoxapp infoxsharemt
#hares -link infoxapp infoxbackkmt
#hares -link infoxapp infoxdb2
#hares -link infoxdb2 infoxserviceip
#hares -link infoxdb2 infoxvg
#hares -link infoxdb2 infoxdbmt
#hares -link infoxsharemt infoxserviceip
#hares -link infoxsharemt infoxvg
#hares -link infoxbackkmt infoxserviceip
#hares -link infoxbackkmt infoxvg
#hares -link infoxdbmt infoxserviceip
#hares -link infoxdbmt infoxvg
#hares -link infoxvg infoxserviceip
将资源组中的资源设置为被监控状态。然后将配置写入磁盘。
#hagrp -enableresources infoxgrp
#haconf -dump
5.2.4 调整资源类型与属性
(根据资源类型)设置资源的监控时间间隔(单位:秒)。缺省值60。
#hatype -modify Application MonitorInterval 60
#hatype -modify LVMVolumeGroup MonitorInterval 20
设置下线资源的监控时间间隔(单位:秒)。缺省值300;设置为0时表示不监控。
#hatype -modify Application OfflineMonitorInterval 0
#hatype -modify IP OfflineMonitorInterval 0
#hatype -modify LVMVolumeGroup OfflineMonitorInterval 0
#hatype -modify Mount OfflineMonitorInterval 0
设置LVM VolumeGroup类型资源上线的超时时间间隔(单位:秒)。缺省值60。
#hatype -modify LVMVolumeGroup OnlineTimeout 60
设置资源上线等待间隔最大值(单位:个)。即上线过程执行完后,VCS等待资源“真正”上线的“监控时间间隔”最大值。缺省值2。
#hatype -modify Application OnlineWaitLimit 30
#hatype -modify IP OnlineWaitLimit 30
#haconf -dump
5.3 配置检验
配置双机系统后,要进行以下检验。
5.3.1 双机启动
检验双机启动的步骤如下:
步骤1 初始化双机环境,以root 用户登录linux5,执行以下命令。
#hastart
#hagrp -offline infoxgrp -sys linux5
#hagrp -offline infoxgrp -sys linux7
步骤2 启动双机,执行以下命令。
#hagrp -online infoxgrp -sys linux5
步骤3 查询双机状态,执行下面命令。
#hastatus
步骤4 查看心跳线状态,执行下面命令。
#lltstat -n
#gabconfig -a
#hastatus -summary
正常情况如下,主机linux5和备机linux7均为RUNNING状态,资源组infoxgrp在一个节点上ONLINE,在另一节点上OFFLINE。
-- SYSTEM STATE
-- System State Frozen
A linux5 RUNNING 0
A linux7 RUNNING 0
-- GROUP STATE
-- Group System Probed AutoDisabled State
B infoxgrp linux5 Y N ONLINE
B infoxgrp linux7 Y N OFFLINE
5.3.2 双机切换
检验双机切换是否正常,执行以下命令。
#hagrp -switch infoXGRP -to linux7
#hastatus -summary
正常情况下,资源组切换到另一节点ONLINE。
-- SYSTEM STATE
-- System State Frozen
A linux5 RUNNING 0
A linux7 RUNNING 0
-- GROUP STATE
-- Group System Probed AutoDisabled State
B infoXGRP linux5 Y N OFFLINE
B infoXGRP linux7 Y N ONLINE


分享到:
评论

相关推荐

    vcs安装步骤.docx

    VCS安装步骤详解 VCS(Verification Compiler System)是一种功能强大且广泛应用于 chip design 和 verification 的工具。安装 VCS 需要按照特定的步骤进行,以下是详细的安装步骤。 步骤1:下载 VCS 安装文件 ...

    linux VCS安装手册

    ### Linux 下 VERITAS Cluster Server (VCS) 安装手册 #### 方案范围 随着计算机技术的发展,各个领域如电信、证券、金融等都高度依赖于计算机系统的稳定性与可靠性。为了确保这些关键领域的系统能够提供高效且不...

    VCS安装过程记录.docx

    ### VCS安装过程中的关键知识点 #### 一、解决Verdi启动问题 1. **解决缺少`libpng12-0`库的问题** - **背景**:在尝试运行Verdi时,系统提示缺少必要的库文件`libpng12-0`。 - **解决方案**: - **下载步骤**...

    PLSQL插件VCS及其说明

    要在PLSQL Developer中安装VCS插件,首先需要确保你的PLSQL Developer是最新版本,然后可以从官方网站或其他可靠来源下载对应版本的VCS插件安装文件。按照安装向导的指示进行操作,通常包括选择安装路径、接受许可...

    使用vcs配合vivado进行仿真

    此外,我们还需要确保VCS仿真工具正确安装和配置,以便进行正确的仿真。 使用VCS配合Vivado进行仿真可以帮助设计者快速验证和 debug 设计。通过正确地配置VCS和Vivado,我们可以进行快速和准确的仿真,以提高设计...

    vcs 2018.09 user guide

    用户指南会详细解释如何安装和配置VCS,包括设置环境变量、编译Verilog源代码、运行仿真以及解析结果。对于新用户,会有逐步指导帮助他们快速上手。对于高级用户,指南会涵盖更复杂的功能,如命令行选项、脚本编写和...

    2021 vcs userguide

    9. **开源软件许可**:如果适用,关于免费和开源软件(FOSS)的许可信息可在产品安装目录中找到。 10. **第三方链接**:尽管文档中可能包含第三方网站链接,但Synopsys不对此类网站的内容或可用性负责。 综上所述...

    VCS-userguide-Q-2020.03-SP2.pdf

    该用户指南涵盖了VCS的基本概念、安装与配置、命令行接口、脚本编写、测试平台搭建、覆盖率分析、性能优化等多个方面。通过这份文档,用户可以学习如何有效地利用VCS进行系统级验证,包括行为建模、激励生成、约束...

    VCS user guide

    - **安装指南**:详细介绍如何安装配置VCS软件,包括系统要求、安装步骤等。 - **快速入门**:为初学者提供简单的指导,介绍如何创建第一个仿真项目。 - **进阶教程**:深入讲解VCS的高级用法,如高级编译选项、性能...

    2019.06VCS SystemC User Guide.pdf

    VCS SystemC联合仿真是一种将VCS(Verilog Compiler Simulator,即Verilog编译器仿真器)和SystemC建模环境结合在一起的仿真技术。这项技术主要用于在Verilog中描述的系统仿真中,同时也支持VHDL和SystemC语言。本...

    VCS使用中文教程,vcs怎么使用,LINUX

    VCS,全称为Version Control System,中文通常称为版本控制系统,是一种用于管理软件源代码变更的工具。在Linux环境下,VCS对于开发者来说是至关重要的,它可以帮助团队协作、跟踪代码历史、解决冲突,并确保项目的...

    vcs user guide 2019

    此外,这份文档也声明了其中包含的一些软件组件是以自由或开源许可证授权给Synopsys使用的,有关Synopsys如何使用开源软件的更多信息可以在产品安装路径下的/doc目录内的third_party_notices.txt文件中找到。...

    vcs 5.1sp1 中文安装文档

    本文档将详细介绍VCS 5.1SP1 在Linux环境下的安装过程及注意事项。 #### 二、版权与法律声明 文档明确指出了版权信息及相关法律声明,强调了Symantec Corporation 对VCS的所有权,并明确了软件使用的限制条件。...

    symantec VCS for oracle Agent

    2. **安装Symantec VCS基础组件**:首先需要安装Symantec VCS的基本框架,包括集群服务、资源代理等。 3. **配置Oracle数据库环境**:安装并配置Oracle数据库,确保数据库能够正常启动并在集群环境中正确工作。 4....

    使用VCS系统双机架构DLP服务器高可用

    配置过程可以分为几个主要步骤,首先在不同的主机上安装Oracle和DLP Enforce组件,然后安装VCS软件并创建集群。接下来创建并配置服务组(Service Group),以便在发生故障时能够迅速切换到备用服务器。 6. 具体配置...

    Linux下VCS5.0安装

    随着计算机的日益广泛应用,计算机系统用来提供各种及时可靠的信息和服务.在电信、证券、金融、零售、制造、军事等领域中,服务器的持续可靠运行是保证整个系统运行的关键,往往要求系统的可用性达到99. 9 %以上. ...

    VCS WORK SHOP

    1. **VCS安装与配置**:了解如何在不同操作系统上安装VCS客户端,设置用户信息和初始化仓库。 2. **基本操作**:学习如何添加新文件、提交更改、查看提交历史、比较版本差异等基础操作。 3. **分支管理**:掌握...

    VCS Memory Profiler Demo.rar

    1. **安装与配置**:演示可能会详细讲解如何下载并安装VCS内存分析器,以及如何将其集成到开发环境中,如IDE或命令行工具。 2. **启动与连接**:介绍如何启动分析器并连接到目标应用程序,以便实时监控内存使用情况...

Global site tag (gtag.js) - Google Analytics