目标:
配置方法的概述
控制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文件中
保存Cluster配置(Saving the Cluster Configuration)
当你保存Cluster配置时候,在所有运行的cluster系统上,VCS拷贝内存中的配置到/etc/VRTSvcs/conf/config/main.cf文件。 .stale文件被遗留在配置目录中因为配置被静止的打开着。
如果你每次修改后保存Cluster配置,你可以查看main.cf文件来看如何在内存中的修改被反应在main.cf文件中。
关闭Cluster配置(Closing the Cluster Configuration)
当系统管理员保存并关闭配置,VCS写入在内存的配置到main.cf文件并且删除.stale文件在所有的运行着的cluster 系统上。
VCS如何保护Cluster配置(How VCs protects the Cluster Configuration)
.stale文件提供保护机制对于需要在线配置。当.stale文件出现,你不可以停止VCS如果没有overriding the warning 配置被打开时。
如果你忽略警告并且停止了VCS在配置被打开的时候,磁盘上main.cf中的配置可能没有被相同作为在内存中的配置,当这个发生的时候,VCS认为配置失效因为系统管理员可能已经修改了内存中的配置而没有写入磁盘并且关闭这配置。
尽管不常发生,一个stale配置能够同样导致在cluster中所有系统crashing当配置被打开时。
为了理解这保护机制如何工作,你必须首先理解一般的VCS启动流程。
离线配置
在多数环境中,你可以通过立即修改VCS配置文件来简单化cluster执行或者配置作业。这个方法要求你停止和重启VCS为了在内存中建立新的配置。
好处:
1. 提供一个非常快捷做主要修改的办法或者得到一个初始化配置起来并且运行
2. 提供准备对于配置一个大型数目相似cluster
注意:当你选择执行离线配置时候,你必须作为root用户登陆到cluster系统中
离线配置例子1:创建一个新的cluster
你可以通过创建一个新的main.cf文件来创建一个新的cluster配置。你可以定义所有的cluster属性,增加服务组和资源,定义关系,和指定
failover性能--所有cluster配置特征通过修改main.cf文件
离线配置例子2:重用一个Cluster配置
你可以通过修改一个现有的配置文件,将其应用到一个扩展的类似的高可用性平台上面。
你可以从原始cluster拷贝配置文件,做你需要修改的地方并且重启VCS。这个办法可以有效的用在创建每个服务组和资源上通过使用Cluster
Manager或者VCS命令行接口
离线配置例子3:重用一个服务组配置
另一个使用离线配置的例子是当你要增加一个服务组,有着类似的一组资源在相同的cluster上。
main.cf一部分定义了服务组,你可以拷贝并且按需要修改并定义成新的服务组。
(Starting and Stopping VCS:How VCS Starts Up by Default)
VCS是如何通过预设启动?
为了举例说明,假设没有系统(S1和S2)有激活的cluster配置
1. hastart命令运行在S1 上并且启动had和hashadow进程
2. HAD检查在配置目录中的.stale文件
3. HAD检查配置文件的有效性
4. HAD检查一个活动的cluster配置文件在cluster interconnect上
5. 因为在S1上面没有活动的cluster配置文件,S1上的HAD读取本地main.cf文件并且加载cluster的配置到本地内存中
6. hastart命令运行在S2上并且启动S2上的had和hashadow进程
7. HAD检查在配置目录中的.stale文件
8. HAD检查S2磁盘上的配置文件的有效性
9. HAD检查S2上一个活动的cluster配置文件通过发送广播消息在cluster interconnect上,即使在S2上的main.cf文件是有效的
10. HAD在S1上收到从S2来的请求并且回应
11. HAD在S1上发送一个cluster配置的拷贝越过cluster interconnect到S2
12. HAD在S2上拷贝cluster配置到本地main.cf文件
如果S2有有效的本地配置文件(main.cf和type.cf),则保存到新文件使用一个名字包括日期和时间戳,在这些活动的配置被写入到在磁盘上main.cf文件。
启动程序被重复在每个系统上面直到所有成员有同样的cluster配置拷贝在内存中并且匹配在本地磁盘上的main.cf文件。
通过LLT和GAB同步数据传输。
使用.stale文件启动VCS(VCS Startup with a .stale File)
为了举例说明,假设没有系统有激活的cluster配置文件和.stale文件的出现
1. hastart命令运行在S1 上并且启动had和hashadow进程
2. HAD检查.stale文件并且确定文件的出现
3. HAD确定配置文件是否有效
4. HAD确定在cluster中无论何处都没有激活的配置
5. 因为没有激活的配置,HAD进入Stale_Admin_Wait 状态
Stale_Admin_Wait 状态表明当你配置被打开的时候,你停止了VCS在所有系统上。这也是导致如果你启动VCS和main.cf文件有一个语法错误
这使你来检查main.cf文件和判定是否你要用main.cf文件来启动VCS。你也许不得不修改main.cf文件如果你做了改变在运行的cluster中,在保存到磁盘上之后。
强制VCS从一个等到状态来启动(Forcing VCS to Start from a Wait State)
如果所有的系统都在等待状态中,你必须强制VCS在系统上使用正确的main.cf文件启动。
1. 运行hasys -force S1 在S1上面,启动本地建立进程
注意:你必须有一个有效的main.cf文件来强制VCS到运行状态。如果main.cf文件有语法错误,运行hasys -force导致进入Admin_Wait状态,你
可以运行hacf -verify来检查文件语法。
2. HAD删除.stale,如果出现的话
3. HAD检查main.cf有效性
4. had进程在S1上面读取本地main.cf文件,并且如果它没有语法问题,HAD加载cluster配置到本地(S1)内存中。
5. 当had正在运行在S1上,这个状态改变是广播在cluster interconect通过GAB
6. S2然后执行一个远程建立来放入新的cluster配置到它的内存中
7. S2上的had进程拷贝cluster配置到本地main.cf和types.cf文件在移动原始文件来备份拷贝(拷贝带有时间戳)
8. S2上的had进程从本地配置目录中删除.stale文件,如果出现的话。
使用特殊的main.cf文件来构建配置
使用一个Stale Flag来启动VCS
通过使用 -stale 标示在所有其他系统上启动VCS,你确认VCS构建新的配置在系统上的内存中
1. 运行hastart在S1上来启动had和hashadow进程
2. had进程检查.stale标示
3. had进程检查有效的main.cf文件
4. had进程检查激活的cluster配置在cluster interconnect
5. 因为没有激活的cluster配置, 在S1上的had进程读取本地main.cf文件和加载cluster配置到本地内存在S1上
6. 运行hastart -stale 在S2上
7. HAD启动并检查出现的.stale标示
8. HAD在S2检查活动的cluster配置在cluster interconnect并且等待直到S1有一个运行的cluster 配置
9. 当VCS是在运行状态在S1上的时候,had进程发送一个cluster配置的拷贝越过cluster nterconnect 来给S2
10. S2执行一个远程建立来将新的cluster配置放入内存中
11. S2上的had进程拷贝cluster配置到本地main.cf和types.cf文件在移动原始文件来备份拷贝(拷贝带有时间戳)
12. S2上的had进程删除.stale文件从本地配置目录
停止VCS
3办法停止VCS引擎(had和hadshadow进程):
1. 停止VCS和所有服务组离线,停止应用服务在VCS控制底下
2. 停止VCS和evacuate服务组到另一个正在运行VCS的cluster系统
3. 停止VCS和留下应用服务运行
阅读(2502) | 评论(0) | 转发(0) |