统包含数据文件,一个驻留在物理磁盘上的文件系统,一个或者多个IP地址和对于一个网络访问用的NIC。如果这个应用服务需要被转移到另一个系统上面,
那么所有的这服务的资源必须被一起转移,并重新被创建服务在另一个系统上面。 配置和转移process概述
执行一次性配置作业在每个系统上面--->启动,验证,和停止服务在系统上每次--->多个系统? --->准备VCS
一次性配置作业:识别组件 识别一个应用服务的组件
第一步在准备服务来管理用过VCS来识别组件的要求来支持服务,主要有3个方面: 共享磁盘资源(Shared storage resources)
- 磁盘或者一个逻辑卷管理的组件,例如,Volume Manager disk groups和volume - 文件系统被挂接 - 目录挂接点
网络相关资源(Network resources) - IP地址 - 网络接口
应用相关资源(Application resources) - 管理和监视应用的程序 - 应用二进制的位置和数据文件
配置共享存储(Configuring Shared Storage)
教材上面是举例使用的Volume Manager来管理共享磁盘 Solaris
# mkfs -F vxfs /dev/vx/rdsk/DemoDG/DemoVol 配置网络:管理的IP地址(Configuring the Network)
对于高可用的服务,必须要有个一个public的网络来访问,所以你必须要配置一个管理的IP地址 1. 每个系统需要一个唯一的管理的IP地址对于每一个网络接口 2. 配置操作系统来带起管理的IP地址在系统启动的时候 3. IP地址被使用通过VCS监控网络接口
4. 这些地址有时候也被作为基础,维护,或者测试之用 Solaris:
1. # vi /etc/hostname.interface 2. # vi /etc/hsots
3. # ifconfig interface_name inet 192.168.1.1 netmask + # ifconfig interface_name up
其他网络配置作业(Other Network Configuration Tasks) 有时候你的平台上面需要配置管理的和虚拟的IP地址
1. 添加管理的IP地址在/etc/hosts里面,能够被解析而不依靠外部的域名服务 2. Add entries to the name server:
- 如果你要这些地址能被访问在public网络就包含管理的IP地址 - 包含虚拟的IP地址为了高可用服务 3. # vi /etc/resolv.conf # vi /etc/nsswitch.conf
配置应用(Configuring the Application)
你必须确保在每个目标系统上面安装和配置应用的相同
1. 定义文件位置 - 共享或者本地存储 - 二进制,数据,配置 2. 识别启动,监视和关闭过程 3. 根据应用的需要而定: - 创建用户帐号 - 配置平台参数 - 添加license - 建立配置文件 注意:关闭(Shutdown)过程因该是一个适度的暂停,那些任何清理操作 Resource Definition Service Group Name Resource Name Resource Type Required Attributes PathName Optional Attributes Arguments Sample value DemoSG DemoProcess Process /bin/sh /sbin/orderprocup 测试应用服务(Testing the Application Service) 带起资源:共享存储(Bringing Up Resources:Shared Storage) 使用Volume Manager来举例 1. import the disk group # vxdg import DemoDG 2. Start the Volume # vxvol start DemoVol 3. Mount the file system # mount -F vxfs /dev/vx/disk/DemoDG/DemoVol /demo 配置应用(虚拟)IP地址: Solaris: 1. # ifconfig interface_name addif 192.168.1.1 up 2. # vi /etc/hosts 启动应用(starting the Application) 手动启动应用 /sbin/orderproc up 不要配置操作系统来自东启动应用在系统启动的时候 检验资源(Verifying Resources) 你可以执行一些简单的步骤来验证那些每个资源需要对于应用服务的功能 测试组合的组件 你可以用模拟器或者真是环境情况,如果可能的话,来测试应用服务。 例如一个有back-end数据库的应用: - 启动数据库(listener process) - 启动应用 - 从public网络使用client软件连接应用,来验证名字解析到虚拟IP地址 - 执行用户作业,作为可用的,执行查询,做更新和运行报告。 停止资源 Solaris: # ifconfig interface_name:1 unplumb 手动转移一个服务 在你有验证应用服务完全的工作在一个系统上面,手动转移服务在预期的目标系统之间,执行那些操作使你能够: 1. 确保你的操作系统和应用资源被适当的配置在所有可能的目标cluster系统上 2. 使生效或者完成你的设计工作表来文件编制信息要求来配置VCS来管理服务。 确认设计工作表格:文件编制资源的属性 使用设计工作表格来文件编制细节对于配置资源,注意任何属性在那些不同的系统之间 Resource Definition Service Group Name Resource Name Resource Type Required Attributes Device Address Optional Attributes NetMask 检查资源属性 参考VERITAS Cluster Server Bundled Agents Reference Guide来确定相关资源的相关属性 - 要求的属性 - 可选的属性 - 允许的数值 不是所有的平台有相同的资源或者属性 Documenting Resource Dependencies Resource Dependency Definition Service Group ParentResource DemoVol DemoMount DemoIP DemoProcess DemoProcess 确认服务组的属性 Service Group Definition Group Required Attributes FailoverPolicy SystemList Optional Attributes AutoStartList Requores DemoSG Child Resource DemoDG DemoVol DemoNIC DemoMount DemoIP Sample Value DemoSG DemoIP IP interface_name 192.168.1.1 255.255.255.0 Sample Value DemoDG Priority S1=0, S2=1 S1 来自: http://hi.http://www.wodefanwen.com//nitar/blog/item/f1ee7a18c4e62776dbb4bdaf.html 第六章:VCS 配置方法(上)
第六章:VCS 配置方法(上) 目标: 配置方法的概述 控制VCS的访问 在线配置 离线配置 启动和停止VCS 配置方法的概述
在线配置:VCS不需要被停止(4种办法) - Cluster Manager Java graphical user interface - Cluster Manager Web graphical user interface - VCS command-line interface - Command batch files
注意:你修改的配置文件是在内存中间,所以当你完成的时候,你要将其写入磁盘的main.cf文件 离线配置:VCS必须要停止(2种办法) - 手动修改配置文件
- 使用VCS模拟器修改配置文件
注意:完成修改后,重启VCS,在内存中建立新的配置。 Effects on the Cluster
无论你选择哪一种配置VCS来管理一个应用服务的方法,你都必须要计划好应用的当机时间。 如果你配置你的第一个服务群,你可以不管是否VCS保持在线。
如果你已经有一个服务组在cluster中,你也需要使用在线配置方法因此那些服务被保护当你做修改的时候。
控制有权访问VCS:用户帐号
1. Cluster管理员 (Cluster Administrator) 全部特许(Full privileges)
2. Cluster操作员 (Cluster Operator) 所有cluster,服务组合资原级别的操作
(all cluster,service group,and resource-level operations) 3. Cluster来宾 (Cluster Guest)
只能有读的访问;预设新用户创建作为cluster来宾账户
(Read-only access;new users created as Cluster Guest accouts by default) 4. 组的管理员(Group Administrator)
所有服务组操作对于指定服务组,除了删除服务组
(all service group operations for a specified service group,except deleting service groups) 5. 组的操作者(Group Operator)
带起服务组合资源上线和让他们离线,临时凝固或者非凝固服务组.
(bring service groups and resources online and take them offline;temportarily freeze or unfreeze service groups)
例如:如果你有一个经授权的DBA要让数据库服务组离线或者交换它到另一个系统上面,你可以设置一个VCS Group
Operator账号对于这个服务组。这个DBA就能够对于服务组执行操作作业,但是不能影响cluster的配置或者其他服务组
创建Cluster用户帐号 添加一个用户帐号: 1. 打开cluster配置 # haconf -makerw
2. 使用hauser命令添加一个新帐户 # hauser -add username 改变权限
使用haclus(cluster级别)和hagrp(group级别)命令 # haclus -modify Administrators | Operator -add user # hagrp -modify group Administrators | Operator -add user 修改用户帐号 显示账户信息 # hauser -display 修改一个账户的密码 # hauser -update user_name 删除一个用户帐号
# hauser -delete user_name 控制VCS访问权限的命令
作为预设,仅是UNIX root账号才能够使用VCS ha命令来管理VCS.
当登陆到UNIX作为非root账户,每次在VCS命令行中,用户被提示输入一个VCS账户的名字和密码, 为了使非root用户更容易管理VCS,你可以设置cluster的属性:AllowNativeCliUsers的值为1。当设定的时候,VCS映射UNIX用户名到相同的VCS账户名字来验证是否用户有效和有适当的权限级别来执行操作
注意:你必须创建每个VCS账户名来相匹配UNIX用户名和准予适当的权限级别 在线配置 好处:
1. VCS引擎起来并且运行着,在配置当中,倘若现有的高可用性服务组 2. 这个方法提供语法检查,帮助保护你不受制作配置的错误
3. 作为它的配置,一步一步流程相匹配对于测试每个目标,简单的配置错误的故障排除在当你增加资源的时候
4. 你不需要用root登陆到UNIX系统,使用GUI和CLI来做VCS的配置修改 顾虑:
1. 在线配置对于大规模的修改是耗时的
2. 在线进程被重复,你不得不在同一时间添加服务组合资源 VCS如何修改在线的Cluster配置
Cluster Manager配置请求被概念的展示作为ha命令在流程图中,但是他们被执行作为ioctls had进程通讯配置改变给had在所有的cluster中的节点上面,每个had进程修改内存中的配置
当命令保存配置从Cluster Manager收到的信息,had通讯给所有的cluster系统,每个系统的had进程将内存中的配置写入到它的本地磁盘中的main.cf文件
VCS命令行借口是一个备用在线配置工具,当你运行ha命令的时候,had也是一样的响应. 打开cluster配置(Opening the Cluster Configuration)
你必须打开Cluster配置来增加服务组合资源,做修改,和执行某些操作.
当你打开Cluster配置,在配置目录(/etc/VRTSvcs/conf/config)中创建一个.stale文件,在每个cluster中的系统上.这个文件表明配置被打开和配置在内存中无匹配配置在磁盘上在main.cf文件中