Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1977468
  • 博文数量: 346
  • 博客积分: 10221
  • 博客等级: 上将
  • 技术积分: 4079
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-01 19:43
文章分类

全部博文(346)

文章存档

2012年(1)

2011年(102)

2010年(116)

2009年(127)

我的朋友

分类: 服务器与存储

2009-07-03 00:04:18

集群系统在网管中的应用

为提高网管系统的可用性,CLUSTER结构已经在网管中得到应用,以VERITAS 4.0双机为例,说明配置维护多主机网管的要点。
Cluster集群技术定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。
通常有两种cluster,一种是parallel方式,可以提供N+1的冗余:
 
目前在网管中使用的是failover,主要用于以失败或负荷触发切换以提高可靠性
 
以VERITAS为例,引入下列技术实现集群
High-Availability Daemon (HAD)
Low Latency Transport (LLT)
Group Membership Services/Atomic Broadcast (GAB)
   (相关进程都设置在/etc/rc2.d目录下,SOLARIS启动时载入)
VCS可以检测到应用失败和节点失败
应用需要提供各种行为的脚本(启动,关闭,监控),也依赖于文件系统和网络接口
VCS可以区分节点失败和节点通讯失败,采用心跳线,共享存储,冗余数据接口来保护系统.
切换分主动切换和失败切换两种
比如基于流量负荷均衡的原因可以触发主动切换switchover,节点或通讯失败可以触发失败切换failover
不管是哪种切换,应用要保证数据安全特别是临时数据的可靠性,一致性,完整性,采用cluster系统的应用设计时就要考虑到,比如基于服务器-客户端结构的应用要将临时数据存在共享存储器中,程序不能依赖于系统的物理特性,只依赖于数据,所以VCS提供float IP地址给客户端
为了理解配置cluster需要认识下列概念
1、    NODE节点,或称为SYSTEM指一个CLUSTER系统中的各主机,通常以hostname标识
2、    Resources资源,指cluster系统的各组成部分,可以是硬件如存储文件系统或网口,也可以是软件如数据库管理系统或应用程序,最常用的BSS网管cluster资源有:
Mount分区,NIC网口,IP提供给客户端的浮动地址,ORACLE数据库,NETLSNR数据库入口,APPLICATION即APP
3、    Resource Dependencies资源关系
 
如网卡running才能提供float IP,表空间所在分区mount,oracle才能启动,再加上APP版本所在分区mount,APP进程才能启动,listener启动后客户端才能使用sqlplus.
4、    Service Groups指一个cluster系统,一套网管硬件平台可以跑一个实例,也可以跑数个实例,相应的需配置一个或数个Service Groups
5、Types of Service Groups指failover还是parallel
为了采用cluster系统,后台网管的安装时需做下列配置
1、    两台主机需设置相同的用户、组及权限,保证root用户可以在两台主机上相互rlogin、rcp即/.rhosts文件中写入两台主机的hostname
2、    设置float IP,在$APPHOME/conf/syscfg.ini、MP的\config\tcpip.cfg或级联域配置中都用float IP定义服务器
3、磁阵连两台主机,手工修改scsi号,用命令
# eeprom scsi-initiator-id=X
改一台主机上的scsi号重启后生效,veritas可以将不同的scsi号转成相同的DID
3、    配置分区时磁阵所在分区不能在/etc/vfstab中mount,改由VCS控制,以防SOLARIS引导时mount冲突
4、    ORACLE程序可安装在本地硬盘,但表空间、重做日志、LOG文件、控制文件、归档日志(可选)都要改到磁阵上,不能使用默认的$ORACLE_BASE安装到内置硬盘中
5、    在两台主机上安装ORACLE,在一台主机上创建数据库实例,然后将omcinit.ora.tnsnames.ora,listener.ora拷贝到另一台主机上,各节点保持完全一致
6、    APP必须安装在外部共享磁阵中(其中$APPHOME/tmp/log可以mount到内置硬盘以分散磁盘读写提高性能),在一台主机上创建表空间即可
7、    两台主机至少连一根交叉网线做心跳线(安装veritas server时选择心跳网口或手工用命令创建)
8、    可以先装oracle,也可以先装veritas
9、 按节点申请VERITAS注册码,然后安装veritas server 4.0 除SMTP、SNTP、VXFEN外其它package都选上(如果采用veritas volume manager作为卷管理要加上VXFEN)
10、资源组配置时用oracle类型的模板导入后做修改即可
11、APP需参照veritas agent developer手册定义专门的start、stop、monitor脚本,以便VCS控制决定application资源的动作
 
属性值参考表
Required Attributes     Type and Dimension    Definition
StartProgram    string-scalar    The executable, created locally on each node, that
starts the application. Specify the complete path of the
executable. Command-line arguments (if applicable)
follow the name of the executable, separated by
spaces.
StopProgram    string-scalar    The executable, created locally on each node, that
stops the application. Specify the complete path of the
executable. Command-line arguments (if applicable)
follow the name of the executable, separated by
spaces.
At least one of the
following attributes:
◆ MonitorProcesses
◆ MonitorProgram
◆ PIDFiles
See descriptions under
Optional Attributes.    See Optional
Attributes table.    See Optional Attributes table.
以APP启动shell脚本为例
su - app -c "/export/home/app/appboot/appcstart.sh"
exit 110
返回值参考表
Script-Based Exit values:
◆ 100 - Offline
◆ 101-110 - Online
◆ 99 - Unknown
12、验收测试可做主机掉电倒换、重启倒换,网线拔插倒换,ORACLE关闭倒换,APP停止倒换,手工倒换
13、VCS troubleshooting可以参考日志
 
14、可以在一个集群两台主机的双机系统中配置两套ORACLE数据库实例和应用,运行时负荷分摊,每台主机分别跑一个实例,某台主机故障时两套系统都切换到同一台主机上运行,等待故障机修复,可能在提高可性能的同时充分利用服务器资源
15、网管故障分为软故障,硬故障,人为故障,可恢复故障,不可恢复故障,集群不能解决所有问题,关键还是日常维护的规范化,特别的备份制度的严格执行,好的系统可以提高可用性,也可以提高性能,更需要好的设计和维护

 

http://www.cublog.cn/u/20997/showart.php?id=188200


阅读(1054) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~