精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● UNIX>>◆网络知识◆>>[转载]cluster for unix

主题:[转载]cluster for unix
发信人: wwwyyyxxx()
整理人: wwwyyyxxx(1999-09-15 12:40:42), 站内信件
发信人: aheimukai (黑木凯), 信区: Unix 
标  题: [转载]cluster for unix
发信站: 网易虚拟社区北京站 (Tue Sep 14 22:41:22 1999), 站内信件 
  
第一章   导  言 
    需要极高可用性的、执行关键性任务的行业如电力、交通、银行、证券、电
 
  
信、公共服务部门等行业的用户特别不能容忍系统中断。在以前,用户使用专有
 
  
系统,通过终端登录进入大系统工作。假如因某原因系统发生了故障,在系统修
 
  
复前,终端用户都做不了工作。无论何时发生故障,都给用户的工作及其所服务
 
  
的客户带来实质上的损失与麻烦。 
  
    近年来客户/服务器方式已经带来了互换性、安定性、较低的费用与对用户更
 
  
友好的介面等种种好处。但一旦硬件出故障,系统就无法提供不间断的操作。为
 
  
客户/服务器方式的系统提供不间断的数据可用性曾经是是一个艰巨的、挑战性的
 
  
任务。 
  
  
Cluster系统的高可用性 
  
    高可用性系统意味着计划或未计划的最小连续关机时间。Cluster for UNIX
 
  
和Cluster for NT为最终用户在服务器崩溃或停机时提供可靠与低费用的双工系
 
  
统来保持不间断的数据服务。两台主机可设置成一个主服务器与一个备用服务器
 
  
或互为备份的服务器等方式来满足不同的客户的需求。它能把对用户服务的相关
 
  
资源如进程、文件系统、甚至通讯线路转换到备份系统。 
  
    我们设计了Cluster™高可用性系统(Cluster HA)来增强现有的客户/服
 
  
务器系统的可靠性。使用Cluster HA,允许您迅速地恢复应用操作,关键性任务
 
  
的应用将在最小中断时间后继续工作。 
  
容错和Cluster 
  
    为了容错,专用FT(Fault Tolerant)系统(专用容错系统)使用多重的硬件冗余
 
  
来做备份,但此方案只在极特殊的系统中才是可接受的。实际上,为了达到容错的
 
  
目的,有很多事要做,冗余的备份硬件仅是其中之一。在答案的另一极端:在开
 
  
放系统的应用中仅仅着重于软件的可移植性与系统透明性,系统的可靠性由于预算
 
  
的原因或对专用FT系统所处理的同一问题缺少适当的经济解决方案而被遗弃。使
 
  
用Cluster HA系统的优势不仅在于Cluster HA的成本可能只是FT系统的1/100,而
 
  
且在于ClusterHA系统能处理更多的系统问题并允许迅速地恢复数据服务
 
  
。不仅硬件故障能导致系统关机,软件故障如OS、DBMS与应用也可能锁住系统,
 
  
专用FT系统只能避免硬件故障导致的系统关机,但不能自动地从软件故障中恢复
 
  
。 
  
    现在,Cluster极大地增强了UNIX开放系统的能力
 
  
,赋与其等待备份和相互备份等四种备份模式,极大地增强了系统的可用性,同
 
  
时避免了在开放系统中的经济因素的干扰和使用专用FT系统的高昂代价。 
  
Cluster的特点 
  
Cluster for UNIX为增强现代client/server系统的可靠性提供了众多的特性如下
 
  
: 
 容易的安装和设置. 
 双主机,双SCSI口与多重以太网结构. 
 可选的4种不同的备份模式: 
                模式1∶Mutual Backup(相互备份) 
                模式2∶Master/Slave(主从式) 
                模式3∶Hot Standby (热备份) 
模式4∶Redundant Ethernet adapter (冗余Ethernet适配器) 
 透明的NFS故障接管. 
 自动的故障检测: 
                Cluster可同时使用RS232和以太网通讯线路以提供冗余的心跳
检测链 
?能够 
  
监控每个服务器的状态 
 快速接管:可设置内部心跳节拍间隔时间及计数器以允许更快地接管 

 自动切换 
 自动报告出故障的部件 
 不浪费CPU资源: 
各主机均能独立能操作,充分利用CPU的最大能力 
 共享磁盘阵列子系统: 
                它能用共享的磁盘阵列子系统或磁盘簇组成一个好的方案 
 多平台支持: 
                Cluster for UNIX支持大多流行的UNIX系统 
                Cluster for NT 支持基于X86的NT V3.5及V4.0平台以及基于A
lpha的 
NT平台 
 高可用性监控中心: 
                Cluster提供基于GUI的监控中心,操作员能观看Cluster HA的
状态、检查 
?
              误信息和警告、修改系统参数及从远程工作站控制Cluster HA系
 
  
统 
  
  
系统需求 
  
 至少二台UNIX主机 
 支持的操作系统 
SCO UNIX, SCO UNIXWare, Digital UNIX/OSF, IBM AIX, SUN/OS, SUN Solaris
 
  
,SGI IRIX, HP/UX以及Linux 
 外部磁盘存储 
双口共享磁盘阵列子系统 
 心跳检测链路 
1 个 RS232 接口 
1至N 个 Ethernet 接口 
 支持的RDBMS数据库 
Informix, Oracle, Sybase等 
  
  
  
系统操作 
  
    正常操作时,两系统经过冗余通讯线路互送信号来互相检查对方主机的状态
 
  
(即心跳检测)。一旦检测到对方发生故障,正在正常工作的主机将做少量检查
 
  
以确定能否安全启动接管工作,否则将在系统控制台上显示信息通知操作员同时
 
  
在远程监控中心显示有一个未决状况。若工作主机开始接管任务后,故障系统中
 
  
的文件系统或数据库将继续为其客户提供数据服务直到故障修复。在故障系统重
 
  
新启动后,操作员可以决定使用手动或自动方式启动切换进程。更详细操作描述
 
  
如下: 
  
自动检测阶段 
  
    在Cluster HA操作时,每隔0.01到0.5秒(由用户自行定义)在两主机自动执行
 
  
故障检测功能,包括以下部分∶ 
 主机硬件(CPU 和外设) 
 操作系统 
 数据库软件或其他应用服务器如Web服务器 
 以太网卡/电缆 
 磁盘阵列子系统 
 通讯接口 
  
    当查出故障时,Cluster系统依工作主机中的指令来决定是启动切换操作或只
 
  
恢复原状。例如在双以太网结构中,若检查到正在工作的以太网卡硬件故障的事
 
  
件,恢复工作仅是把数据路由到另一个以太网卡而不切换到备机;换句话说,除
 
  
非检测到系统级故障,Cluster系统才会开始切换,操作级故障不会启动切换操作
 
  
。 
  
  
切换阶段 
  
    当进入切换阶段时,Cluster将在备机上启动一系列用来切换的程序,这些程
 
  
序很可能以如下顺序来执行∶ 
 备机接管磁盘阵列子系统的全部控制权 
 激活后备数据库 
 数据恢复 
 在新主机上恢复原操作环境 
 重新运行应用软件 
  
    Cluster的切换是全自动的,消除了人工不断监视的要求以达以最小的反应时
 
  
间。 
  
  
换回阶段 
  
    在切换操作及故障主机修复后,Cluster系统将进入换回阶段,本阶段涉及以
 
  
下程序∶ 
 关闭后备数据库 
 已修好的主机重新控制磁盘阵列子系统 
 正在工作的备机回到正常模式 
 恢复原系统环境并重新运行应用软件 
  
    因为大部份 RDBMS产品不允许从二个主机存取相同的磁盘分区,若我们不小
 
  
心操作,便可能损坏数据库,为了避免这问题,Cluster已细心设计成保证在同一
 
  
时间只有一个数据库引擎能存取一个磁盘分区.所以,在已修复的主机能mount或
 
  
开始访问磁盘前,备份进程必须 unmount或禁止存取本磁盘分区,在备机移去全部
 
  
接管任务与文件系统后,已修复主机才能取回所有自已的任务与文件系统的控制权
 
  
。此时Cluster将返回到自动检测阶段并可能在系统遭到问题时开始下一轮操作。
 
  
  
  
  
模式定义 
  
网络设置 
  
Cluster可使用两种网络设置: 
1. 混合的心跳信号与数据链结:单一以太网联接能同时携带心跳信号与数据,两
 
  
台机器之间互相传送的心跳信号只产生极轻微的网络流量(Max 15KB/S,一般为1
 
  
KB/S); 
2. 各自分开的心跳信号和数据联接:若网络数据会产生很重的网路流量,推荐让
 
  
心跳信号使用单独的以太网联接,以确保心跳信号不被耽搁或丢失.Cluster能支
 
  
持1-N个以太网接口( N是主机所能支持的最大以太网接口数量) 
  
不改变IP地址的相互备份 
  
    两主机A和主机B同时运行,工作中的服务器各自控制它自己的工作负载与资源
 
  
,如文件系统、NFS系统与通讯通道。若主机A出故障,主机B将接管主机A的进程
 
  
、数据库和文件系统,继续为客户提供服务而不改变主机B的IP地址。为得到与原
 
  
来相同的数据服务,客户机需要重新联接主机B,当主机A修复后,主机B将把所有
 
  
进程与数据库转换回主机A。与此同时,顾客要联回主机A以存取同一数据库。 
  
改变IP地址的相互备份 
  
    使用冗余以的太网适配器/电缆来相互备份,主机A和主机B分别执行各自的
 
  
进程。客户A和客户B可位于不同以太网段,如各有不同的IP地址。若某主机A或
 
  
主机B的以太网接口出故障,客户可通过关连到原以太网IP位址的其他以太网接口
 
  
继续存取数据库。 
  
主/从式 
  
    Cluster也支持主/从式备份模式,把某台主机设定为主机,另一台主机设定
 
  
成从机。主机控制全部进程与资源,从机闲置。若主机出故障,从机马上变成主
 
  
机。在出故障的主机将加入Cluster系统作为从机。 
  
热备份 
  
    Cluster支持热备份模式,某主机工作,另一机器闲置(备份),若工作主机出
 
  
故障,备份机接管全部进程与资源。在故障主机修复后,备份机释放全部进程与
 
  
资源并返回到备份模式。然后原设定的主工作机返回它原来的状态。备份机可为
 
  
一台处理能力(容量)较慢(较小)的系统,只够保持应用继续执行下去。本模
 
  
式可用于预算较受限制的用户。 
  
双以太网适配器 
  
    使用用两个以太网适配器、单一网段的相互备份方式,两台主机中的某个主
 
  
机工作,为客户提供服务。Cluster系统支持双以太网卡接在相同的网段上,某一
 
  
网卡设定为主以太网接口,另一网卡设定为从卡。若主机A的主以太网卡出故障,
 
  
主机A将不用切换到主机B,仅把从以太网卡的IP地址改成主网卡的IP地址。IP恢复
 
  
过程完全透明于客户。在此过程中,客户数据访问将有短时中断,在此过程结束
 
  
后主机将完成数据服务。若主机A的两个以太网接口都出故障,正常的服务器(主
 
  
机B)将接管主机A的服务,为客户提供主机A和主机B的服务直到出故障主机再接入
 
  
Cluster HA系统上为止。 
  
  
技术回顾 
  
    Cluster系统作为系统监视器在机器内运行,它不停地检测OS、应用进程与每
 
  
种输入/输出设备,并把问题告诉Cluster HA系统的守护程序(ha_daemon)以决定
 
  
是否开始接管。对每种输入/输出设备, Cluster提供一个子进程来监控其状态
 
  
并把监控结果写入共享内存中,Cluster HA的主控程序不断检查共享内存以判定
 
  
系统的工作情况,若系统出现异常达到5次,将在控制台上显示警告信息或通过传
 
  
呼/Fax通知系统管理员,如异常连续出现以至超过用户定义的次数后Cluster HA
 
  
的将决定是否执行接管操作并把相关的决定与操作及其结果写入日志文件以备事
 
  
后检查。为保证Cluster的工作效率,Cluster HA守护程序与每个输入/输出监控
 
  
子进程通过共享内存进行内部通讯,从而达到最小的反应时间、减少系统负载,
 
  
增强系统的可靠性。Cluster提供不同的子进程来检查系统内部的情况以及不同的
 
  
输入/输出设备如以太网接口、RS232、SCSI通道等。若这样还不够,本公司可应
 
  
用户要求为其做特别的设计。这通常要本公司与代理/销售商共同努力才能完成。
 
  
  
  
    在系统文件中有很多可以设置的系统参数,如内部心跳节拍间隔时间、最大
 
  
异常次数、检测网络、备份文件系统、备份网络、备份进程等等。当系统执行Cl
 
  
uster HA系统守护程序时,将打开系统文件并读这些参数。基于设置文件的内容
 
  
,守护程序知道它将实行哪个模式和当遇到问题时它将做什么。 
  
    为便于管理及监控HA系统,Cluster提供了基于彩色字符及GUI的监控中心以
 
  
帮助操作员查看系统工作情况,设置系统和进行恢复。 
  
下一版本的发展 
  
本系统会在双/多主机环境中建立基于共享存贮或非共享存贮的解决方案。Clust
 
  
er HA系统提供以下功能: 
 同一主机多个虚拟IP 
 多台主机 
 多种操作系统共同操作 
 一个可多机共享的磁盘阵列或以下 
 基于网络的磁盘镜像子系统 
  
  
摘要 
  
    Cluster HA方案是今天大多数 client/server计算所需的系统。它为执行关
 
  
键性任务的行业用户提供了一致、可靠与低费用的解决方案。Cluster HA不只为
 
  
开放系统提供高数据可用性,也提供简单的管理和先进的监视系统。为Cluster 

  
HA系统开发更先进、费用合理的HA技术是一个持续的挑战。 
  
    采用当前的Cluster HA产品的带来的直接利益有: 
 以最小的投资得到最高的数据可用性 
 相互监视以保证两个系统的安全 
 两个网络安全 
 相互备份模式提供较高的系统利用率 
 备份模式提供最短的恢复时间 
 用户自定义的切换程序 
 先进的监控子系统提供简单的管理、操作方式与较低的维护费用 
 第二章   安   装 
    本节描述如何把Cluster HA系统软件安装到系统中并附有一个典型的Cluste
 
  
r安装置例子。 
  
需求 
  
本版本的Cluster产品运行在UNIX操作系统下。为安装Cluster软件需要以下条件
 
  
: 
 基于80386、80486或pentium的PC服务器或工作站 
 任何基于SVR4或BSD的UNIX操作系统,软驱或CD-ROM驱动器或数据流磁
 
  
带驱动器 
 Cluster软盘,光盘或磁带 
  
安装Cluster基本步骤 
  
安装Cluster基本步骤如下: 
  
        1. 取得正确的授权号(license). 
        2. 有相应的驱动器来读要安装的软盘或磁带 
        3. 确定有足够磁盘空间. 
        4. 检查安装软盘或磁带的内容 
        5. 安装软件. 
        6. 检查安装目录的内容. 
  
取得授权号(license) 
  
你应该在安装Cluster之前为你的系统得到一套授权号 
  
你需要下列的信息并填入授权号请求表: 
  
1. 两系统的Host ID 
为了得到机器的host ID,打入命令: uname -X(  仅对SCO UNIX) 记下 Serial 

  
号 
  
2. 顾客信息 
公司名字,地址,以及电话号码等 
  
收集全这些信息后,请填入请求表,按表中的电话号码传真出去以得到许可号。
 
  
在软件包装中,可看到一份空的请求表、例子请求表以及返回表。 
  
  
读入设备 
  
为安装Cluster系统,你应该有一个1.44MBYTE软驱或者一个CD-ROM驱动器或者一
 
  
个ARCHIVE磁带机。 
  
需求空间 
  
缺省的安装目录空是/usr/oapro,为安装Cluster软件最少要1Mbytes的磁盘空间
 
  
。你能用“df -v” 命令来看你在每一分区中有多少空余空间。 
  
**********************************************************************
 
  
********* 
注意:若要要装在非缺省目录的目录中,请把/usr/oapro 目录符号联接到Cluste
 
  
r所在的目录,否则系统将不能正常运行 
**********************************************************************
 
  
********* 
  
软盘或光盘或磁带的内容 
  
在安装媒介中有一个文件及几个子目录。把软盘或磁带放入驱动器,利用 tar 命
 
  
令检查你 
是否插入了正确的软盘或磁带,若你的安装媒介中的内容不是如下内容,请与你
 
  
的销售商 
联系并换一个正确的。 
  
#  tar  tvf  /dev/fd0135ds18 
rwxr-xr-x  0/3     9572 Apr 02 17:22 1999 oapro/ha_install 
rwxr-xr-x  0/3    68572 Apr 02 17:22 1999 oapro/ha_daemon 
rwxr-xr-x  0/3   118196 Mar 25 09:53 1999 oapro/ham 
rw-r--r--  0/3      216 Apr 02 20:47 1999 oapro/license.dat 
rw-r--r--  0/3     1044 Mar 25 08:51 1999 oapro/private.dat 
rw-r--r--  0/3      511 Mar 25 08:53 1999 oapro/task.dat 
rwxr-xr-x  0/3       96 Mar 25 09:53 1999 oapro/README 
rwxr-xr-x  0/3      331 Mar 12 23:36 1999 oapro/shell/do_warn.sh 
rwxr-xr-x  0/3       83 Mar 15 03:54 1999 oapro/shell/start_informix.s
 
  

rwxr-xr-x  0/3       82 Mar 15 03:54 1999 oapro/shell/stop_informix.sh
 
  
  
rwxr-xr-x  0/3       93 Mar 15 00:12 1999 oapro/shell/start_sybase.sh 

  
  
rwxr-xr-x  0/3       92 Mar 15 00:12 1999 oapro/shell/stop_sybase.sh 

rw-r--r--  0/3    34303 Apr 03 17:57 1999 oapro/doc/manual.txt 
rw-r--r--  0/3     1042 Mar 15 03:49 1999 oapro/example/private.dat.en
 
  
  
rw-r--r--  0/3      517 Mar 15 03:53 1999 oapro/example/task.dat.en 
rw-r--r--  0/3      983 Mar 15 03:50 1999 oapro/example/private.dat.gb
 
  
  
rw-r--r--  0/3      342 Mar 15 03:51 1999 oapro/example/task.dat.gb 
rw-r--r--  0/3     1042 Mar 15 03:51 1999 oapro/example/private.dat.bi
 
  
g5 
rw-r--r--  0/3      517 Mar 15 03:52 1999 oapro/example/task.dat.big5 

  
  
  
(上述仅为示例,实际内容依不同版本而不同) 
  
安装软件: 
  
为在你的系统上安装Cluster软件: 
  
1. 读入软件安装程序 
  
从安装媒介读入软件安装程序如下: 
  
# cd /tmp 
# tar  xvf /dev/fd0 
  
  
在第二台机器上安装: 
  
每一台机器都必须装有其自己Cluster系统软件。你可用两种方法来安装第二台机
 
  
器上的软件: 
  
1. 按如上步骤安装第二台机器的软件 
或: 
2. 用"rcp"命令从已安装的系统远程拷到第二台机器上 
3. 从软件供应商场处得到正确的授权号填入相应机器中的文件"/usr/oapro/lic
 
  
ense.dat"中并删去原来的内容. 
  
 第三章   需求环境 
    本章讨论一些运行Cluster 软件的系统需求。请参考上一章“安装”来学习
 
  
安装Cluster软件,并且把它安装到你的系统上。然后你应可以确定系统环境是否
 
  
与下列的描述一样。 
  
兼容性 
  
    本产品为运行在基于PC的UNIX操作系统的Cluster产品。为运行Cluster产品
 
  
,需要 
满足如下条件: 
 两台基于80386、80486或pentium的PC服务器或工作站 
 任何基于SVR4或BSD的UNIX操作系统 
 TCP/IP 协议已装在两台主机上 
 一根RS232 电缆(交叉连接) 
 基于SCSI的磁盘阵列或共享磁盘子系统 
  
环境测试 
  
当你的系统符合上述要求后,确定你的系统环境已通过下列的检验: 
  
1. 使用RS232 的心跳链路 
  
各针联接: 依各系统的RS232 口的各针的规格, 按下述联法联接两台机器(DB25)
 
  
: 
  
        TX              2       <-------->    3     TX 
        RX              3       <-------->    2     RX 
        Ground          7       <-------->    7     Ground 
  
或如下(DB9): 
  
        TX              2       <-------->    3     TX 
        RX              3       <-------->    2     RX 
        Ground          5       <-------->    5     Ground 
  
联通性测试: 在两台机器的COM口上连上RS232 心跳电缆,并使用系统命令来确认
 
  
是否电缆正常联通。 
  
例子:  系统环境如下 
        主机 A:  /dev/tty1a 
        主机 B:  /dev/tty1b 
  
        测试 1: 
                在主机A上输入"cat < /dev/ttyla"
在主机B上输入"cat /etc/hosts > /dev/tty1b" 
              主机B上的文件/etc/hosts 的内容应显示在主机A上 
  
        测试 2: 
                在主机B上输入"cat < /dev/ttyla"
在主机A上输入"cat /etc/hosts > /dev/tty1b" 
              主机A上的文件/etc/hosts 的内容应显示在主机B上 
    若测试成功,表明RS232 心跳电缆已正常联通。 
    要退出"cat < /dev/tty1a", 请按"Delete"键中退它.

2. 网络通讯线路

确保两系统在同一网段上并且网线已联好,用系统命令"ping" 来确信两系统能互


相通讯。

3. 磁盘阵列:

若你在两系统上使用磁盘阵列,可分别在每台机器上按你所要的文件系统类型安


装(mount)它。首先在两台机器上连上磁盘阵列,然后你就可以把磁盘阵列作为U


NIX系统的附加磁盘加入系统(使用命令"mkdev hd"),并划分成一个或多个文件系


统,安装在某机器上并复制一些文件到它上面,再unmount这个文件系统。尝试在


另一机器上安装(mount)它并检查你先前复制的那些文件是否存在,若它们存在且


工作正常,则共享磁盘阵列已顺利被装上了。

当结束上述系统环境测试后,请看下一章如何设置Cluster软件。

第四章 系统设置
本节描述如何设置Cluster 系统的配置文件。

为了正确设置Cluster HA系统,请按以下步骤来做:

1. 阅读随软件一起来的 README 文件.
2. 检查或修改UNIX系统文件
3. 按需修改Cluster HA系统的三个配置文件.
4. 手工执行命令试运行并观察运行情况
5. 设置成开机即自动运行的程序


阅读随软件一起来的 README 文件

随软件一起来的 README 文件:/usr/oapro/README, 含有关于Cluster HA系统的


最新信息,一定要在使用本产品前阅读README文件。


配置文件内容与格式:

Cluster配置文件位于目录/usr/oapro下,共有三个配置文件:
license.dat, private.dat, task.dat
其中每一个文件的作用如下:
license.dat: 许可证文件, 本文件只有能由安装程序来修改.
private.dat: 心跳线路及其运行参数定义文件
task.dat: 任务定义文件

以上文件中, 每一行中#符号后面的都是注释,可以为任意的内容.
每一行开始的第一个词是关键词.关键词与其参数以及参数与参数间用":"号分开


.
除"license.dat"文件的内容每一台机器都不一样外, 其他两个文件 "private.d


at" 及"task.dat" 的内容在两台机器上都是一样的.

private.dat 内容如下:

#
# Cluster V3 专用网络(心跳检测线路) 配置文件
#
# LOGTIME(单位:秒): 若系统正常运行,每隔logtime时间写一条记录到日志文件



# LOGTIME=1800 (缺省值为 1800秒即30分钟)
#
# TIMEOUT 心跳间隔时间(单位:毫秒), 必须大于 20ms 因为 SCO UNIX 的 HZ=1


00
TIMEOUT:500
# COUNT 最大连续出错次数, 必须大于 5
COUNT:20
#
# RS232 心跳检测线路参数定义(format is hostA:ttyA:hostB:ttyB)
BPS:9600
RS232:server1:/dev/tty1a:server2:/dev/tty2a
#
# TCP/IP心跳检测线路定义, 格式如下:
# host_A:interface_A:IP_A:host_B:interface_B:IP_B:Third_host:IP_C
TCP1:server1:net0:192.168.1.101:server2:net0:192.168.1.102
# TCP2:huang12:net1:192.168.2.101:huang22:net1:192.168.2.102
#
# 当Cluster 检测到心跳线路断了或出现太多次( >= count)连续错误时 
# 执行下面定义的报警程序以通知系统管理员 
WARN:/usr/oapro/shell/do_warn.sh 
  
  
 private.dat文件中的每一关键词的解释如下: 
  
TIMEOUT : 
定义通过RS232线路和TCP/IP网络来传送心跳信号的节拍时间。如果时间规定得太
 
  
短,心跳信号可能会被沉重的网络负载所影响,从而产生不正确的判断,并可能
 
  
破坏主机正常工作情况。本参数的缺省值是0.5秒(500ms)。 
  
COUNT : 
定义最大连续出错次数. 当Cluster软件检测到的连续出错次数达到或超过COUNT
 
  
值后系统即开始执行网络错误处理工作,如开始切换主机等。 
  
BPS: 
定义RS232 心跳检测线路的工作速度,如要求较快速的的检测速度,可定义较高的
 
  
工作速度,但最高不要超过38400。 
  
RS232: 
定义 Cluster系统所用的 RS232 心跳检测线路两边的主机名与其所使用的rs232
 
  
设备号格式为  主机1的名称:主机1上的rs232设备号:主机2:主机2上的rs232设备
 
  
号例子如下: 
   RS232:server1:/dev/tty1a:server2:/dev/tty2a 
  
  
  
  
  
  
  
  
  
  
  
TCP1 与 TCP2: 
定义 Cluster系统所用的 TCP/IP 心跳检测线路两边的主机名与其所使用的网络
 
  
接口卡的设备名,参数格式是  主机名1:主机1所用的网卡的名字:网卡的IP地址
 
  
:主机名2:主机2所用的网卡的名字:网卡的IP地址:主机名3:主机3所用的网卡的名字:网卡
 
  
的IP地址, 其中主机3及其后的参数定义的是第三方主机,可以有也或以没有第三
 
  
方主机。使用第三方主机的目的是为了帮助Cluster HA系统中的两主机在网络通
 
  
讯失败时或网络中断时判别到底是自己的网络坏了还是对方的网络坏了,若网络上
 
  
存在有较稳定的机器或设备如路由器等,极力推荐使用第三方主机这个参数。网卡
 
  
的名字及其相应的IP地址可利用命令"ifconfig -a" 来找出。心跳检测线路可以
 
  
与为客户机服务的数据线路相同。例子如下: 
        TCP1:server1:net0:192.168.1.101:server2:net0:192.168.1.102:ser
ver3:ne 
  
t0:192.168.1.254 
或 
        TCP1:server1:net0:192.168.1.101:server2:net0:192.168.1.102 
  
  
  
  
  
  
  
  
  
  
WARN: 
定义Cluster系统所用的线路中断报警程序,它可以是一个可执行的二进制程序或
 
  
一个可执行的shell程序当Cluster 检测到心跳线路中断时或出现太多次( >= co
 
  
unt)连续错误时,即执行所定义的报警程序并把相关的线路工作情况通过命令行参
 
  
数传给它, 以通知系统管理员 
命令行参数只有二个,第一个参数代表心跳线路号( 0 : RS232,  1: TCP1, 2: T
 
  
CP2, 9: 所有的线路),第二个参数代表工作情况: (0 表示线路中断, 1 表示线
 
  
路重新联通)。 
例如: 
  do_warn  1  0 
表示TCP1线路中断了 
  
系统中已有的一个示例WARN程序是一个简单的shell程序,在控制台上显示相关信
 
  
息,你也可以用你自己的程序以在系统网络线路中断时传呼系统管理员或给系统管
 
  
理员发email. 
  
 task.dat 文件的内容如下: 
  

# the start & sotp shell's name length isn't allow great than 31 chars
 
  
  

# MODEL 1 - Mutual Backup      MODEL 2 - Master/Slave 
# MODEL 3 - Hot Standby(Main)  MODEL 4 - Dual Ether 
MODEL:2 

MAIN1:huang11 
VIP1:192.168.1.111 
TASK1: 
FILESYSTEM1:/dev/data:/data:EAFS 
START1:/usr/oapro/shell/start_sybase.sh 
STOP1:/usr/oapro/shell/stop_sybase.sh 

# MAIN2:huang22 
# VIP2:192.168.2.222 
# TASK2: 
# FILESYSTEM2:/dev/data:/data:EAFS 
# START2:/usr/oapro/shell/start_informix.sh 
# STOP2:/usr/oapro/shell/stop_informix.sh 
  
本文件中共可定义两个任务,分别是MAIN1 和MAIN2, 若只需要一个任务或工作模
 
  
式只支持一个任务,可以不定义MAIN2及相关的内容. 
  
MODEL: 
Cluster系统的工作模式号。当前有4种模式可用。请参阅附录A中对模式和其操作
 
  
流程的详细解释。请阅读附录A并且选择所需的最佳模式。 
  
MAIN1 及 MAIN2 : 
指定Cluster的工作机, 未指定的另一台即为备份机。 
  
VIP1 及 VIP2: 
定义工作机上的虚拟IP, 所有需要与Cluster HA系统连接的客户机或终端服务器
 
  
均应使用虚拟IP来与工作机相连以保证在系统中的某一台主机出故障时能顺利切
 
  
换到另一台上。 
  
TASK1 及 TASK2: 
定义当Cluster HA系统在工作中需要进行监控的进程名,如此进程不存在则告警.
 
  
  
  
START1 及 STATR2 : 
定义当Cluster系统被起动且主机正常时执行的命令。这些命令可以是可执行文件
 
  
或者shell文件。 
  
STOP1 及 STOP2 : 
是当Cluster系统被关闭时执行的命令。这些命令可以是可执行文件或者shell文
 
  
件。 
  
FILESYSTEM1 及 FILESYSTEM2: 
当工作主机启动了Cluster HA系统且处于正常状态下FILESYSTEM1 或 FILESYSTE
 
  
M2 所指定的文件系统将被安装(mount)到系统中。在工作主机系统异常的情况下
 
  
,后备主机系统将接管FILESYSTEM1或FILESYSTEM2 所指定的文件系统。每一行上
 
  
有三个参数:第一个参数是文件系统所在的设备文件名, 其后是是其安装点, 最
 
  
后是文件系统类型, 
  
测试Cluster系统 
  
在正确配置并修改完Cluster系统的两个配置文件"private.dat"及"task.dat"后
 
  
,修改相应的任务起动命令及任务关闭命令“start_x.sh ”和“stop_x.sh”,先
 
  
手工执行这些命令,证实可以正确地启动应用和关闭系统后,即可以开始测试Cl
 
  
uster HA系统了。可在命令行中输入Cluster HA的主程序名"/usr/oapro/ha_dae
 
  
mon" 来测试其是否正常工作。并用ham来显示机器的运行情况(ham的具体显示内
 
  
容见下一章).如果文件private.dat配置不正确,在运行"/usr/oapro/ha_daemon
 
  
"时将显示相应的错误信息。这些信息将告诉你配置文件的哪部分不对。请根据出
 
  
错信息来修正相关的错误。 
  
 第五章   运  行 
    本章描述Cluster系统的运行功能。Cluster HA系统共有二个程序: 
    ha_daemon 及 ham 
其中主程序是"/usr/oapro/ha_daemon", 它根据配置文件中的内容, 执行所有的
 
  
双机监控及自动切换工作。 
在测试完毕, Cluster系统能正常工作后, 请编辑 "/etc/rc.d/8/userdef"文件,
 
  
 加入下面的内容以使机器在开机后能自动执行Cluster的主程序: 
    /usr/oarpo/ha_daemon 
  
    ham 是辅助程序,主要用来显示Cluster HA系统的工作情况, 同时也可以做一
 
  
些简单的管理工作。 
  
  
  
  
它有几个可选的命令行参数项如下: 
  
&#61557; stop      : 停止或者关闭Cluster系统。 
&#61557; start     : 启动Cluster系统,即执行 ha_daemon。 
&#61557; restart   : 重新启动Cluster系统 
&#61557; takefrom  : 把正在对方机器上运行的任务强行接管过来 
&#61557; failto    : 强行把正在本机器上运行的任务切换到对方机器上去 
  
Start 
    在设置好两台主机上的Cluster系统后,可以在各主机上起动Cluster HA系统
 
  
。本选项启动Cluster系统的守护程序(ha_daemon)以监控对方机器。为启动Cl
 
  
uster系统,输入命令: 
        /usr/oapro/ham start 
  
在Cluster系统正常工作的情况下,Cluster系统至少有3个进程在同时运行,可通
 
  
过输入下列命令来检查它们是否存在(图4-1)。如果守护程序不存在,可用再次启
 
  
动Cluster系统的方法来启动它。 
  
# ps  -ef | grep  ha_ 
    root   530   529  0 22:09:14       ?    00:00:00 /usr/oapro/ha_dae
 
  
mon 
    root   529     1 31 22:09:14       ?    00:00:00 /usr/oapro/ha_dae
 
  
mon 
    root   531   529  0 22:09:14       ?    00:00:00 /usr/oapro/ha_dae
 
  
mon 
    root   561   495  1 22:09:27   tty01    00:00:00 grep ha_ 
  
                图 4-1 
  
  
Stop 
    若想关闭Cluster系统,执行如下命令或在ham的主画面中按CTRL-C后将使ha
 
  
_daemon退出运行: 
        #  /usr/oapro/ham  stop 
  
如果你在任一主机上停下Cluster系统,另一个主机在预定时间后将开始接管被停
 
  
下的主机的工作。有时正在工作的系统需要维护,必须把服务转换到后备主机,
 
  
在这种情况下,尽管主机还是活的,也要迫使后备主机接管工作。这时就可以执
 
  
行stop操作,使备机开始工作. 
  
takefrom 及 failto 
    有时系统需要维护或由于其他的原因,必须把服务转换到另一台主机,在这
 
  
种情况下,可以执行takefrom 或 failto 把自己的任务转移到对方机器上或把对
 
  
方机器上的任务转移到本机器上来. 
  
  
系统日志: 
  
    当你运行Cluster系统时将产生日志文件:"/usr/oapro/cluster.log",它记
 
  
录了Cluster运行中检测到的网络故障和其它出错原因,Cluster采取的措施及依据
 
  
。根据日志文件,你能了解Cluster系统及UNIX发生了些什么,以及用户对Cluster
 
  
下了什么指令等等。这个文件会随系统运行情况不断地增大,如文件太大时,可以
 
  
把它删除.Cluster系统在下次启动后会自动产生新的日志文件 
  
下面是日志文件的部分内容: 
  
1999-04-04 18:49:15 - Main start 
1999-04-04 18:49:15 - RS232 start 
1999-04-04 18:49:15 - TCP1 start 
1999-04-04 18:49:26 - Warning! link9 is broken 
1999-04-04 18:49:26 - run into process_all_links_are_broken 
1999-04-04 18:52:27 - RS232 shutdown 
1999-04-04 18:52:27 - TCP1 shutdown 
1999-04-04 18:52:27 - MAIN shutdown 
 附录A    模式定义 
LAN 配置 
  
&#61623; 混合的心跳和数据链路 
&#61623; 每一以太网可以同时传送心跳信号和数据信号,心跳信号不会使网络重
 
  
载。 
&#61623; 分开的心跳链路和数据链路 
&#61623; 若数据链路产生巨大的LAN流量,建议为心跳链路单独配一个网络线路
 
  
,以保证主机之间的心跳信号不被延误。 
&#61623; 用于数据的多个以太网 
&#61623; 本模式可提供1至N个以太网接口(N 是主机所能支持的最大以太网规格
 
  
)。 
  
  
Mutual backup (相互备份方式) 
  
主机A 和主机B都是都是激活的(即做主服务器),两主机同时运行。各主机各自
 
  
处理其工作负载,访问自已的资源(如文件系统和NFS可安装文件系统), 为各自的
 
  
客户服务。模式1可用于不改变IP地址的情况, Mutual backup方式要求每台机器
 
  
上至少安装两块网卡并有其独立的IP地址。 
  
正常操作时 
  
&#61623; 两主机都是激活的。 
&#61623; 访问共享资源。 
&#61623; 运行不同的应用程序。 
&#61623; 两主机互相备份。 
  
  
  
  
  
  
  
  
                  LAN 0 
  
  LAN 0 
  
  
  
   LAN 1 
  
      Model 1:                                                Model 1:
 
  
  
        Type 1: Single LAN configuration                            Ty
 
  
pe 2: Dual LAN onfiguration 
        LAN0: Heartbeat links, data links 
  
LAN0: Heartbeat links, data links 
        IP-address: No change IP, if one host down 
  
LAN1: Standby heartbeat links, dasta links 
IP-address: No change IP, if one host down 
  
  
  
  
  
  
                  LAN 0 
  
  LAN 0 
  
  
  
                 LAN 1 
  
  LAN 1 
  
  
  
   LAN 2 
  
      Model 1:                                                Model 1:
 
  
  
       Type 3: dual LAN configuration                              Typ
 
  
e 4: Dual LAN configuration 
       LAN0: Dedicate heartbeat links                               LA
 
  
N0: Dedicate heartbeat links 
       LAN1: Data links, standby heartbeat links 
  
LAN1: Data links, standby heartbeat links 
       IP-address: No change IP, if one host down                    L
 
  
AN2: Data links, standby heartbeat links 
IP-address: No change IP, if one host down 
  
  
出错时的操作 
  
  
若某主机如主机A 或主机B失效了,余下的服务器将接管失效的主机的服务,并向
 
  
客户机提供主机A和主机B提供的服务,直到失效的主机重新加入Cluster高可用性
 
  
系统。 
  
如主机A与Cluster系统脱开了(即失效了) 
  
主机B: 
&#61623; 安装特定的磁盘 
&#61623; 安装NFS文件系统 
&#61623; 不接管IP 地址 
&#61623; 启动相关的程序/应用 
  
  
在失效主机修复后 
  
已修好的主机A 可自动可手动重新加入Cluster高可用性系统。 
  
主机B: 
&#61623; 停止相关程序/应用 
&#61623; 卸下特定的磁盘 
&#61623; 输出已安装的NFS文件系统 
&#61623; 放弃IP地址 
  
主机A: 
&#61623; 安装特定的磁盘 
&#61623; 安装NFS文件系统 
&#61623; 启动相关的程序/应用 
  
  
  
  
Master/Slave(主从方式) 
  
Cluster支持主从方式,激活的主机作为主(master) ,空闭的主机作为从(sl
 
  
ave )。master 主机处理自己的工作负载,访问自己的资源如文件系统、NFS文
 
  
件系统,并执行所有的应用程序,若master 主机失效,slave 就作为master 继
 
  
续工作。 在失效的主机修复后作为slave,原来的slave 继续作master 。 
  
  
正常操作时 
  
&#61623; 某主机作为master。 
&#61623; 另一主机作为slave 
&#61623; Slave 机监视着master 机。 
&#61623; 在 master 上运行所有的应用程序。 
  
  
  
失效时的操作 
  
若master 主机失效了,slave 主机将作为master接管原master主机的服务,并为
 
  
客户机提供原master的服务。 
  
在slave方 
&#61623; 安装特定的磁盘 
&#61623; 安装NFS文件系统 
&#61623; 接管IP地址 
&#61623; 改变主机名 
&#61623; 启动程序/应用 
&#61623; 改变系统环境 
&#61623; 以Master出现 
  
  
  
  
  
  
  
  
                 LAN 0 
  
  LAN 0 
  
 LAN 1 
     Model 2, 3:                                           Model 2, 3:
 
       Type 1: Single LAN configuration                        Type 2:
 
  
 Dual LAN configuration 
        LAN0: Heartbeat links, data links                        LAN0:
 
  
 Heartbeat links, data links 
        Change IP: S1->P1, if host A down                      LAN1: S
 
  
tandby heartbeat links, dasta links 
   Change IP: S1->P1, S2->P2, if host A down 
  
  
  
  
  
  
                 LAN 0 
  
   LAN 0 
  
  
                 LAN 1 
  
   LAN 1 
  
  LAN 2 
     Model 2, 3:                                             Model 2, 

  
3: 
        Type 3: dual LAN configuration                            Type
 
  
 4: Dual LAN configuration 
         LAN0: Dedicate heartbeat links                            LAN
 
  
0: Dedicate heartbeat links 
         LAN1: Data links, standby heartbeat links                   L
 
  
AN1: Data links, standby heartbeat links 
         Change IP: S1->P1, if  host A down                       LAN2
 
  
: Data links, standby heartbeat links 
                                                              Change I
 
  
P: S1->p1, S2->p2,  if host A down 
  
  
在修复后 
  
 原失效的主机作为slave ,原slave 变为master。 
  
在slave方: 
&#61623; 以master 角色出现并什么都不做 
在master方: 
&#61623; 以slave角色出现 
&#61623; 改变系统环境 
  
  
热备份方式 
  
Cluster支持热备份方式:某一主机在工作,另一主机空闭并后备。工作主机处理
 
  
其工作负载,访问自已的资源如文件系统,NFS文件系统,并执行所有的应用程序
 
  
。若工作主机坏了,后备主机接管工作主机的所有应用程序。在工作主机修好后
 
  
,后备主机放弃所有应用并返回后备状态。 
  
后备主机可以是一台较小、低性能的系统,仅够使所有应用继续运行,当工作主
 
  
机坏了时,本方式能以很低的成本保持工作继续下去。 
  
  
正常操作时 
  
&#61623; 某一主机作为工作主机 
&#61623; 另一主机作备机 
&#61623; 备机后着工作主机 
&#61623; 在工作主机上运行主要应用 
  
失效时的操作 
  
当工作主机坏了,备机接管它的资源。 
  
备机方 
&#61623; 装上行特定的磁盘 
&#61623; 改变IP地址 
&#61623; 改变主机名 
&#61623; 改变系统环境 
&#61623; 起动程序/应用 
  
在修复后 
  
如果坏的工作主机已修好,它将自动或手动地变成工作主机,备机将释放所有资源
 
  
和应用并返回备机角色。 
  
在备机方 
&#61623; 停止程序/应用 
&#61623; 释放特定磁盘 
&#61623; 改回后备机IP地址 
&#61623; 改回后备的主机名 
&#61623; 改回到后备的系统环境 
  
在失效的工作主机方 
&#61623; 安装特定磁盘 
&#61623; 改变IP地址 
&#61623; 改变主机名 
&#61623; 改变系统环境 
&#61623; 起动程序/应用 
  
  
冗余以太网卡 
  
单电缆,用冗余的以太网卡互相后备。 
  
主机A和主机B都是活动的,每一活动的服务器处理各自的工作负载,访问其资源
 
  
如文件系统和NFS文件系统,以及服务自己的客户。模式4用于单一以太网上的冗余
 
  
以太网卡,若其网卡坏了,活动的服务器仅仅转换IP地址,而不做服务器切换。
 
  
  
  
  
  
  
  
  
  
  
LAN 0 
  
  
                                Model 4: Dual adapters, single LAN 
                                        LAN0: Heartbeat links, data li
 
  
nks 
                                        Change IP: S1->P1, if P1 faile
 
  

                                                  S2->P2, if P2 failed
 
  
  
                                                  S2->P1, if Host B fa
 
  
iled 
                                                  S1->P1, if Host A fa
 
  
iled 
  
  
正常操作 
  
&#61623; 两主机都是活动的 
&#61623; 访问共享资源 
&#61623; 运行不同的应用 
&#61623; 互相备份 
&#61623; 每一主机都有主、次以太网卡 
  
失效时操作 
  
模式4有两个不同的失败条件如下: 
如果主以太网卡失败,次以太网卡将接管它的IP,并且对其它的网络节点是透明的
 
  
。 
  
如果某主机A或B,离开了Cluster高可用性系统,余下的服务器将接管失败主机的
 
  
服务,并且向客户机提供两个主机的服务,直到失败主机重新加入Cluster高可用
 
  
性系统为止。 
  
如果主机脱离了A Cluster高可用性系统. 
  
在主机B方 
&#61623; 安装特定磁盘 
&#61623; 安装NFS文件系统 
&#61623; 接管IP地址 
&#61623; 起动程序/应用 
  
在修复后 
  
在主机A修好后,可自动或手动加入Cluster高可用性系统。 
  
在主机B方 
&#61623; 停止程序/应用 
&#61623; 卸下特定磁盘 
&#61623; 输出NFS文件系统 
&#61623; 释放IP地址 
  
在主机A方 
&#61623; 安装特定磁盘 
&#61623; 安装NFS文件系统 
&#61623; 起动程序/应用 
  

  
  
  
-- 

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.99.193.107]

[关闭][返回]