Disks = { c1t2d0s3, 0, c2t2d0d3, 0 }
)
⒕ Share Agent:
功能描述:Shares, unshares, and monitors a single local resource for exporting an NFS file system to be
mounted by remote systems。
必要的属性:PathName
可选的属性:OfflineNFSRestart OnlineNFSRestart Options 类型定义:
type Share (
str PathName str Options
int OnlineNFSRestart = 0 int OfflineNFSRestart = 1
NameRule = nfs + resource.PathName
static str ArgList[] = { PathName, Options,
OnlineNFSRestart, OfflineNFSRestart }
)
配置举例:
Share nfsshare1x (
PathName = \
)
⒖ Volume Agent:
功能描述:Brings online, takes offline, and monitors a VERITAS Volume Manager volume。 必要的属性:DiskGroup Volume 类型定义:
type Volume (
str Volume str DiskGroup
NameRule = resource.DiskGroup + \static str ArgList[] = { Volume, DiskGroup }
)
配置举例:
Volume sharedg_vol3 (
Volume = vol3 DiskGroup = sharedg
)
第 16 页 共 33 页
第二章 用命令行命令管理VCS
当VCS运行时,本章描述的大部分命令可以在集群(Cluster)中的任一系统上运行。典型地,启动VCS的命令由启动文件/etc/rc3.d/S99vcs或 /sbin/rc3.d/S99vcs在系统启动时运行。
VCS使用下列环境变量:
VCS_HOME(default /opt/VRTSvcs):VCS运行的根目录 VCS_CONF(default /etc/VRTSvcs):VCS配置文件根目录
VCS_LOG(default /var/VRTSvcs):日志文件和临时文件根目录 VCS_PORT(default 14141):VCS引擎端口号
VCS_GAB_PORT(default h):VCS连接的GAB端口号
VCS_GAB_TIMEOUT(default 15000):VCS引擎发送心跳(heartbeats)给GAB的超时时间 (ms)。如果超时,GAB会杀掉VCS引擎,使系统上的所有服务组被禁止。
如果文件$VCS_CONF/conf/sysname存在,VCS用该文件的内容标示本地系统;否则,本 地系统由节点名标示(uname -n)。
一、启动VCS
当在一个系统上启动VCS,而且当前只有该系统正在运行,那么,VCS从本地目录$VCS_CONF/conf/config中检索配置信息。如果本地配置信息正确,VCS引擎执行LOCAL_BUILD,系统转移到RUNNING状态。如果本地配置信息丢失、不正确或被设置为“stale”,系统转移到STALE_ADMIN_WAIT状态,此时VCS引擎等待人工干预,或者用正确的配置信息启动VCS。
当在一个系统上启动VCS,而其它系统也正在运行VCS时,VCS引擎根据下列原则交换相互之间的操作信息:
? 如果某一运行VCS的系统处在RUNNING状态,则刚加入集群(Cluster)的系统从它那
里执行REMOTE_BUILD,然后转移到RUNNING状态。
? 如果某一运行VCS的系统处在LOCAL_BUILD状态,则刚加入集群(Cluster)的系统等
待它转移到RUNNING状态,再从它那里执行REMOTE_BUILD,然后转移到RUNNING状态。 ? 如果运行VCS的所有系统都处在STALE_ADMIN_WAIT状态,而且刚加入集群(Cluster)
的系统的本地配置文件正确,则刚加入集群(Cluster)的系统执行LOCAL_BUILD,并转移到RUNNING状态。其它系统再从它这里执行REMOTE_BUILD,然后转移到RUNNING状态。
? 如果运行VCS的所有系统都处在STALE_ADMIN_WAIT状态,而且刚加入集群(Cluster)
的系统的本地配置文件不正确,则刚加入集群(Cluster)的系统也转移到STALE_ADMIN_WAIT状态。
启动命令:
# hastart [-stale|-force]
强制VCS用指定系统上的配置文件启动:
第 17 页 共 33 页
# hasys -force system_name 二、增加、修改、删除用户
设置读/写模式: # haconf –makerw
该命令通过在运行VCS的所有系统上创建文件$VCS_CONF/conf/config/.stale而将配置文件设置为stale。
在完成增加、修改、删除操作后,设置只读模式: # haconf -dump –makero
该命令将配置信息写入磁盘,并删除$VCS_CONF/conf/config/.stale文件。
使用GUI界面监视和管理VCS必须将用户加入到VCS配置文件中。加入具有读/写权限的用户:
# hauser -add user_name 加入只有只读权限的用户: # hauser -add VCSGuest
修改用户:
# hauser -modify user_name
删除用户:
# hauser -delete user_name 显示用户:
# hauser -display [user_name]
三、查询VCS
显示VCS配置信息和系统状态的命令可以由非root用户执行。下面所列的大部分配置项的属性只有在VCS正在运行时才能获得,它们不写入配置文件中。 ⒈ 资源(Resources)
显示所有资源: # hares –list
显示资源依赖关系(resource’s dependencies): # hares -dep [resource_name]
显示指定资源信息:
# hares -display [resource_name]
第 18 页 共 33 页
资源属性列表: 属性 ArgListValues AutoStart Type-Dimension-Scope string-vector-local boolean-scalar-global 定义 传递给每一个系统上的资源代理的参数列表 指出当服务组启动时,资源是否online。 缺省值=1 指明online资源的机密等级。取值范围0-100。 如果该属性没有用,将其值设置为100。 指出当服务组中的资源失败时,服务组是否失败。缺省值=1。 资源的内部状态 组名称 指明资源上一次online的系统名称,由VCS引擎(had)自动设置。 指出资源是否可以online或offline。 指明资源是否被代理检测过 每一个系统上的资源状态,取值为: ONLINE OFFLINE FAULTED 仅供内部使用 ConfidenceLevel integer-scalar-local Critical Istate Group LastOnline MonitorOnly Probed State TriggerEvent
⒉ 服务组(Service Groups):
boolean-scalar-global integer-scalar-local string- scalar -global string- scalar -global boolean-scalar-global boolean -scalar-local integer-scalar-local integer-scalar-global 显示所有服务组列表: # hagrp –list
显示服务组资源列表:
# hagrp -resources [service_group]
显示服务组依赖关系(Service Group’s Dependencies)列表: # hargrp -dep [service_group]
显示服务组信息,包括父亲组,孩子组和相互之间的关系: # hagrp -display [service_group]
服务组属性列表: 属性 AutoDisabled Type-Dimension-Scope boolean -scalar-local 定义 指明当一个系统上的某个组正在运行,或者运行该组的系统使集群使用不可靠的通信通道时,VCS是否已经失败。如果属性值为1,则组onlining被禁止。 指出服务组自动failover是否允许。 AutoFailover boolean-scalar-global 第 19 页 共 33 页
缺省值=1 AutoStart boolean-scalar-global 指明当VCS启动时,允许或禁止服务组自动启动。 缺省值=1(允许) 指明当VCS启动时,允许或禁止自动启动的服务组列表。 缺省值=””(空) VCS用来决定在多系统中当系统失败时组转到那一个系统上。取值如下: Priority (default):选择SystemList属性中Priority最小的系统 Load:选择系统Load属性值最小的系统 RoundRobin:选择具有最少活动服务组的系统 禁止代理执行所有动作。 缺省值=0 当服务组被online时,VCS引擎自动设置其值为1, 当服务组被offline时,VCS引擎自动设置其值为0。 指明在服务组上是否允许手工操作。 缺省值=1 指出online的时间间隔(秒)。 指明online的重试次数。 指明服务组是平行(1)或者failover(0),缺省值=0 当VCS响应hagrp –online命令或AutoStart属性标志时,不应该online一个组,而是调用用户自己写的脚本程序,该脚本在online组之前检查外部条件,然后使用下面的命令online组: hagrp -online –nopre group -sys system AutoStartList string-keylist- global FailOverPolicy string-scalar-global Frozen IntentOnline boolean-scalar-global integer-scalar-global ManualOps boolean-scalar-global OnlineRetryInterval integer-scalar-global OnlineRetryLimit Parallel PreOnline integer-scalar-global boolean-integer-global integer-scalar-global 该脚本文件为: /opt/VRTSvcs/bin/group_name/PreOnline 或/opt/VRTSvcs/bin/PreOnline PrintTree ProbesPending SourceFile State boolean-scalar-global integer-scalar-local string-scalar-global integer-scalar-local 指明资源依赖树是否写入配置文件 在每一个系统上代理保持检测的资源数量。 配置文件,总是设为./main.cf 服务组状态: OFFLINE ONLINE FAULTED PARTIAL STARTING STOPPING SystemList SystemZones string-association-global 服务组运行的系统列表和优先级 缺省值=’’(空) integer-association-global 系统名称/优先级对。Failover时选择相同第 20 页 共 33 页