登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞哥的技术博客

世上无难事,只怕有心人!

 
 
 

日志

 
 
 
 

AIX双机+HACMP+SYBASE集成手记   

2010-06-02 14:16:47|  分类: IBM-AIX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

前一段时间在IBM P630上实施了RAC,准备贴出安装笔录。

里面记录很详细,希望对做RAC的朋友们有用。


- 作者: unixhome 2005年04月12日, 星期二 10:27  回复(2) |  引用(0) 加入博采

1。装OS
2。定义/.profiles和tcpip (并编辑/etc/hosts,加/.rhosts文件)
3。定义tty芯跳线
(1) 终端线与各自主机终端的S1口相连
(2) 两主机间S3口互连(S3口为标准芯跳口)
(3) 装完OS后,两主机应已自定义了各自的S1口,用lsdev -Cc tty可见输出如下:
tty0 Available 01-S1-00-00 Asynchronous Termind (其中可见S1表示此tty与
S1口相连)
(4) 现定义芯跳口与S3口
smit->tty->add a tty->rs232->Sa2 Available 01-S3 standard I/O serial
port->定义port number=0
(5) 在两主机上都定义完S3芯跳口后,用stty证实该两个芯跳口之间能否正常通信
> 在A机上输入命令stty</dev/tty1,回车后提示符进入等待状态
> 再在B机上输入命令stty>/dev/tty1,回车后A机输出同一信息
> 在B机上输入命令stty</dev/tty1,回车后提示符进入等待状态
> 再在A机上输入命令stty>/dev/tty1,回车后B机输出同一信息
4。做raid (只在主机上进行)
(1) 定义所有物理盘属性
smit dev->SSA raid arrays->change/show use of an SSA physical Disk->
ssa0->选物理盘->定义属性(Array candidate disk/Hot spare disk/Aix
system disk)
(2) 进行raid
smit dev->SSA raid arrays->add an ssa raid array->ssa0->raid5->
定义Member disk与Enable hot spare
(3) 查看raid完成状态
smit dev->SSA raid arrays->list status of all defined SSA raid arrays
5。建立卷组并使两机能共享该资源
* lsdev -Cc pdisk 查看物理盘
* lsdev -Cc disk 查看逻辑盘
* lspv 查看
* lsvg 查看所有卷组
* lsvg -o 查看活动卷组
(1) raid完成后在两机上用lsdev -Cc disk看逻辑盘,若不一致,则用rmdev -dl
hdisk* (*<>0)
删去除hdisk0外的所有逻辑盘,再用cfgmgr重认设备,则两机将正确识别OS盘
hdisk0和raid逻辑盘hdisk*,此外,还要用命令lspv在两机上均输出逻辑盘的信
息,其中hdisk0卷组名为rootvg,而hdisk*卷组名为none,若hdisk*有原来旧系
统使用过的卷组名,可用varyonvg hdisk*命令激活卷组后再进入smit vg->
remove a volumn group中删去该卷组并再cfgmgr则可正常。
(2) 在主机上smit vg->add a volumn group,定义其中各项参数如下:
> Volume group name [raidgroup1] #卷组名
> Physical partition SIZE in megabytes [32] #该卷组物理分区大小
> PHYSICAL volume names [hdisk1] #该卷组物理卷名
> Activate volume group AUTOMATICALLY [no] #重启后是否自动将该
卷组变为活动的,因应用需求为以HA来激活并使用该卷组,故此处系统在启动后
不自动激活该卷组而由HA来激活并使用之。
(3) 完成后,主机上执行lsdev -Cc pdisk与lsdev -Cc disk的输出仍未变,而lspv
的输出中各hdisk*均已带上新定义的卷组名,此时再使用lsvg和lsvg -o两命令,
前者显示系统中所有vg,后者显示了系统中所有被激活的vg,此时两者的输出相同
(因所有卷组名均是激活的),但现用varyoffvg raidgroup1命令后,因raidgroup1
卷组变为非激活的了,故lsvg与lsvg -o的输出不同了,此时再到从机上smit vg->
import a volume group并确定如下参数,则在主机上varyoffvg的卷组raidgroup1
现在在从机上被varyonvg了,表现在lsvg输出除rootvg外还有raidgroup1及lspv
中的hdisk1卷组名由none变成了raidgroup1
> Volume group name [raidgroup1]
> PHYSICAL volume name [hdisk1]
6。做HA
(1) 在主从机上装OS补丁:
bos.data, bos.adt.syscalls, bos.net.tcp.server, bos.adt.libm,
sysmgt.websm,x11.dt.tooltalk, x11.dt.lib, x11.base.rte, x11.vsm.rte
(2) 在主从机上装HA软件(含HAview的子集不要装)
(3) 主机上定义群集拓扑
> 配置群集 smit hacmp->cluster configuration->cluster topology->configure
cluster->add a cluster definition->确定cluster ID与cluster name
> 配置节点 smit hacmp->cluster configuration->cluster topology->configure
nodes->add a cluster nodes->两次确定/etc/hosts中定义的两node名
> 配适配器 smit hacmp->cluster configuration->cluster topology->configure
adapters->在主机上分别进行如下8次adapter的定义,完成后重启两机
注意: 重启机器前要编辑/etc/hosts文件,注意其中地址对应的名称要和lable
名大小写一致。
Adapter ip lable syb01_ip h701_boot h701_stdby h701_tty
Network type ehter ether ether rs232
Network name ehternet ehternet ehternet rs232net
Network attribute public public public serial
Adapter function service boot standby service
Adapter identifier 162.105.161.12 162.105.161.13 168.100.100.4 /dev/tty1
Adapter hardware address 000629acaaaa
Node name node_h701 node_h701 node_h701 node_h701

Adapter ip lable syb02_ip h702_boot h702_stdby h702_tty
Network type ehter ether ether rs232
Network name ehternet ehternet ehternet rs232net
Network attribute public public public serial
Adapter function service boot standby service
Adapter identifier 162.105.161.14 162.105.161.15 168.100.100.5 /dev/tty1
Adapter hardware address 000629accccc
Node name node_h702 node_h702 node_h702 node_h702
(4) 同步群集资源
smit hacmp->cluster configuration->cluster topology->synchronize cluster
topology
遇到错误:connect to remote host refused.原因是/.rhost文件中的+后多了一个
空格符,保证该文件中仅有一个+字符即可解决。
(5) 校验群集资源
smit hacmp->cluster configuration->cluster verification->verify cluster
7。装sybase
(1) smit vg->set characteristics of a volume group->change a volume group->
raidgroup1->改Activate volumn group AUTOMATICATTY at system restart为
no->raidgroup2作相同修改(主从机都修改)
(2) 在从机上varyoffvg hdisk*,在主机上varyonvg hdisk*
(3) 在从机上建sybase逻辑卷
smit->system storage management->logical volume manager->logical volume
->add alogical volume->确定volume group name为rootvg->再确定如下参数
> Logical volume name [lv_sybase]
> Volume group name [rootvg]
> Number of logical partitions [40]
> PHYSICAL volume names [hdisk0]
(4) 在从机上将逻辑卷做成文件系统
smit->system storage management->file systems->add/change/show/delete
file systems->journaled file systems->add a journaled file system on a
previously defined logical volume->add a standard journaled file system
->确定如下参数
> Logical volume name [lv_sybase]
> Mount point [/sybase]
> Mount AUTOMATICALLY at system restart [yes]
(5) 在从机上mount文件系统
smit->system storage management->file systems->mount a file system->确
定如下参数
> File system name [/dev/lv_sybase]
> Directory over which to mount [/sybase]
(6) 在从机上建用户sybase,其home directory为[/sybase],并编辑其.profile如下,
再将/dev/*lv*改为sybase所有。
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/sybase.bin:
/sybase/install:/sybase:/usr/bin/x11:/sbin:.
export PATH
TERM=ibm3151 export TERM
DSQUERY=SYBASE export DSQUERY
SYBASE=/sybase export SYBASE
LIBPATH=/sybase/lib export LIBPATH
(7) 拷sybase文件到从机
smit->system storage management->file systems->mount a file system->
确定如下参数
> File system name [/dev/cd0]
> Directory over which to mount [/mnt]
> Type of file system [cdfs]
> Mount as a removable file system [yes]
> Mount as a READ-ONLY system [yes]
安装光盘后改/sybase目录为sybase所有,再以sybase用户执行/mnt/sybload -D
命令如下,之后建start_sybase与stop_sybase,注意此两文件应被赋予执行权限。
Current directory is "/sybase":
Is this the correct directory for installation?
If so,please enter 'y' or 'Y':y
Is this a local or remote installation,as defined in your installtion
Guide? Please enter L for or R for remote.
>L
Please enter the full name of the disk file of the global archive:
>/mnt/sybimage
You specified /mnt/sybimage for the media device.
Is this correct? Please enter 'y' or 'Y' to continue:Y
Please enter your customer authorization string.letters only
>JLBKBKBKGKCMBYBKBFGZBYBKBKBKQPQDRX (/mnt/install/cas)
Terminate your entries with a blank line:选择产品1,2
>Adaptive server enterprise,RS6000,11.9.2
>Monitor server for 11.9.2 ASE,RS6000,11.9.2
>回车
The following products were chosen for installation:
Choice NO.1:Adaptive server enterprise,RS6000,11.9.2
Choice NO.2:Monitor server for 11.9.2 ASE,RS6000,11.9.2
If this list is correct as shown,
Please enter 'y' or 'Y' to continue,
Please enter 'q' or 'Q' to quit,
Or any other character to make another set to choices:y
即开始拷贝sybase系统文件。
编辑/sybase/start_sybase的内容如下:

编辑/sybase/stop_sybase的内容如下:

( 在主机上重复(2)-(7)步
(9) 在主机上为raidgroup1建数据库设备
smit mklv->raidgroup1->确定如下参数
> Logical volume name: [lv_master]
> Number of logical partitions: [3] #raidgroup1卷组每个物理分区32M
(见5-(2)),3个分区共96M
> Physical volume names: [hdisk1]
如上再进行4次设置,Logical volume name分别为lv_sybproc,lv_tempdb,
lv_data1,lv_log1,Number of logical partitions分别为3(96M),20(640M),
330(10560M),64(2048M),Physical volume names均为hdisk1.完成后改
/dev/*lv*为sybase所有。
(10) 将主机上生成的sybase设备import到从机
在主机上varyoffvg raidgroup1后,再到从机上smit exportvg并确定参数raidgroup1,
(此时从机不先varyonvg raidgroup1),之后在从机上lsvg可见raidgroup1消
失,再在从机上用smit importvg并确定volume group name为raidgroup1,
完成后改从机上/dev/*lv*为sybase所有,并在从机上varyoffvg raidgroup1
及在主机上varyonvg raidgroup1.
另述:在某机上smit exportvg某vg是将该vg去掉,importvg是装入某vg
(注意此时被装入的vg在目标机上须被varyoffvg).
(11) 在主机上编辑三个sybase文件
> su - sybase
> cd /sybase/init/sample_resoure_files
> mkdir /sybase/yijian
> cp *.rs /sybase/yijian
> cd /sybase/yijian
> mv srvbuild.adaptive_server.rs syb.rs
> mv srvbuild.backup_server.rs syback.rs
> 修改syb.rs如下

sybinit.release_directory:/sybase
sybinit.product:sqlsrv
sqlsrv.server_name:SYBASE
sqlsrv.new_config:yes
sqlsrv.do_add_server:yes
sqlsrv.network_protocol_list:tcp
sqlsrv.network_hostname_list:YYSD_H701
sqlsrv.network_port_list:6000
sqlsrv.master_device_physical_name:/dev/rlv_master
sqlsrv.master_device_size:90
sqlsrv.master_database_size:60
sqlsrv.errorlog:USE_DEFAULT
sqlsrv.do_upgrade:no
sqlsrv.sybsystemprocs_device_physical_name:/dev/rlv_sybproc
sqlsrv.sybsystemprocs_device_size:90
sqlsrv.sybsystemprocs_database_size:80
sqlsrv.default_backup_server:SYB_BACKUP
> 修改syback.rs如下
sybinit.release_directory:/sybase
sybinit.product:bsrv
bsrv.server_name:SYB_BACKUP
bsrv.do_add_backup_server:yes
bsrv.network_protocol_list:tcp
bsrv.network_hostname_list:YYSD_H701
bsrv.network_prot_list:6002
bsrv.language:USE_DEFAULT
bsrv.character_set:cp850
bsrv.errorlog:USE_DEFAULT
> 修改sqlloc.rs如下
sybinit.release_directory:/sybase
sqlsrv.server_name:SYBASE
sqlsrv.sa_login:sa
sqlsrv.sa_password:
sqlsrv.default_language:us_english
sqlsrv.default_install_list:USE_DEFAULT
sqlsrv.default_characterset:cp850
sqlsrv.characterset_install_list:USE_DEFAULT
sqlsrv.characterset_remove_list:USE_DEFAULT
sqlsrv.sort_order:binary
三个文件改完后以sybase用户登录并执行指令以建立数据库:
$srvbuildres -r syb.rs
$srvbuildres -r syback.rs
$sqllocres -r sqlloc.rs
$chown sybase /dev/*lv*
$chown -R sybase /sybase
完成后启动sybase证实成功,注意权限统一,且RUN*应有执行权。
(12) 从主机拷三组文件(/sybase/SYBASE.cfg,/sybase/interfaces,/sybase/
install/RUN*)到从机,其中interfaces要改主机名,完成后在主机上
varyoffvg raidgroup1并在从机上先smit exportvg,再smit importvg并
varyonvg该卷组,完成后在从机上执行chown -R sybase /sybase及
chown sybase /dev/*lv*,并启动sybase证实成功。
(13) 在主机上varyoffvg raidgroup1,在从机上export raidgroup1后再执行smit
importvg,再引入raidgroup1,完成后在从机上varyonvg raidgroup1,并在从
机上启动sybase证实成功。
8。在主机上设置HA应用服务
(1) 设置HA资源组
smit hacmp->cluster configuration->cluster resources->define resource
groups->add a resource group->确定如下参数
> Resource group name [resourcegroup1]
> Participting node names [node_h701 node_h702]
(2) 定义应用服务
smit hacmp->cluster configuration->cluster resources->
define application servers->add an application server->确定如下参数
> server name [sybase_app]
> start script [/sybase/start_sybase]
> stop_script [/sybase/stop_sybase]
(3) 修改资源组中资源
smit hacmp->cluster configuration->cluster resources->change/show
resources for a resource group->确定如下参数
> service IP libel [syb01_ip]
> volume group [raidgroup1]
> application servers [sybase_app]
> inactive takeover activated [true]
(4) HA资源同步
同步前先将raidgroup1 varyonvg到主机上,并将两机interfaces文件中的主机
名改为服务地址IP(syb01_ip),同步完成后重启系统。
smit hacmp->cluster configuration->cluster resources->synchronize
cluster resources
(5) 分别启动主从机的Hacmp服务,再进行主从机切换试验。
9。sybase补丁
(1) 安装补丁光盘,执行cp /mnt/ebf8943.tar /sybase/ebf.tar命令,再用sybase
身份在sybase停掉的情况下执行tar xvf /sybase/ebf.tar命令。
(2) 启动HA与sybase,以sybase身份在sybase启动情况下执行如下语句
> isql -Usa -P -n -i /sybase/scripts/installmaster -o installmaster.txt
> isql -Usa -P -n -i /sybase/scripts/installdbccdb -o installdbccdb.txt
> isql -Usa -P -n -i /sybase/scripts/instmsgs.ebf -o instmsgs.txt
---------------------
补充:在从机上也安装应用,使集群双机运行两个应用,并互为双机。
1。在从机上建sybase用户,编辑其.profile文件,在rootvg上建sybase逻辑卷
并做成文件系统后mount。
2. 从光盘上拷sybase安装文件,建立SYBASE各系统卷如data,tempdb,log等,再
import该卷组到主机,再用srvbuildres -r ...命令建库建立sybase server.
3。在数据库中执行sp_addserver SYB_BACKUP,null,SYB_JT_BACKUP
4。将停库脚本改为isql -Usa -P -SSYBASE_JT
>shutdown SYB_BACKUP <--------------
>shutdown with nowait
5。在主从机上设置HA应用服务后同步
============================================================================

- 作者: unixhome 2004年10月13日, 星期三 14:08  回复(2) |  引用(0) 加入博采

 Hacmp(High Availability Cluster Multi-Processing)双机热备份软件的主要功能是提高客户计算机系统及其应用的可靠性,而不是单台主机的可靠性。

  一、Hacmp双机系统的工作原理

  HACMP的工作原理是利用LAN来监控主机及网络、网卡的状态。在一个HACMP环境中有TCP/IP网络和非TCP/IP网络。TCP/IP网络即应用客户端访问的公共网,该网可以是大多数AIX所支持的网络,如Ethernet,T.R.,FDDI,ATM,SOCC,SLIP,等等。 非TCP/IP网络用来为HACMP对HA环境(Cluster)中的各节点进行监控而提供的一个替代TCP/IP的通讯路径,它可以是用RS232串口线将各节点连接起来,也可以是将各节点的SCSI卡或SSA卡设置成Target Mode方式。

  1、作为双机系统的两台服务器(主机A和B)同时运行Hacmp软件;

    2、服务器除正常运行自机的应用外,同时又作为对方的备份主机;

    3、两台主机系统(A和B)在整个运行过程中,通过 "心跳线"相互监测对方的运行情况(包括系统的软硬件运行、网络通讯和应用运行情况等);

    4、一旦发现对方主机的运行不正常(出故障)时,故障机上的应用就会立即停止运行,本机(故障机的备份机)就会立即在自己的机器上启动故障机上的应用,把故障机的应用及其资源(包括用到的IP地址和磁盘空间等)接管过来,使故障机上的应用在本机继续运行;

    5、应用和资源的接管过程由Ha软件自动完成,无需人工干预;

  6、当两台主机正常工作时,也可以根据需要将其中一台机上的应用人为切换到另一台机(备份机)上运行。

HACMP双机系统结构图(点击看大图)

  二、Hacmp安装配置前需作的准备工作

  1、划分清楚两台服务器主机各自要运行的应用(如A机运行应用,B机作为standby);

  2、给每个应用(组)分配Service_ip、Standby_ip、boot_ip和心跳线tty,如:

  主机A(运行应用):
                 Service_ip:      172.16.1.1
                 Standby_ip:      172.16.2.1
                 Boot_ip:         172.16.1.3

  主机B(standby):
                 Service_ip:      172.16.1.2
                 Standby_ip:      172.16.2.2
                 Boot_ip:         172.16.1.4

  3、按照各主机的应用的要求,建立好各自的磁盘组,并分配好磁盘空间;

  4、根据Ha软件的要求,对服务器操作系统的参数作必要的修改。

   三、IBM HACMP双机服务器系统的解决方案

    HACMP的安装配置步骤如下:

    (一)在两台服务器上分别安装HACMP软件
    #smit installp

    (二)分别检查两台主机上安装的软件是否成功
    #/usr/sbin/cluster/diag/clverify
    software
    cluster
    clverify>software         
    Valid Options are:
    lpp
    clverify.software> lpp
    若没有error出现则安装成功。

    (三)分别配置两台服务器的boot IP地址和Standby IP地址,保证boot 网和Standby网能ping通(用smit  tcpip命令),用netstat命令检查配置是否正确:
    #netstat -i

    (四)利用smit tty在两台主机上增加一个TTY接口,配置心跳线(RS232):
    #smitty tty
      TTY                                            tty0
      TTY type                                       tty
      TTY interface                                   rs232
      Description                                     Asynchronous Terminal
      Status                                          Available
      Location                                       20-70-01-00
      Parent adapter                                   sa2
    PORT number                                   [0]               
      Enable LOGIN                                   disable                 
      BAUD rate                                      [9600]                   
      PARITY                                     [none]                   
      BITS per character                           [8]                      
      Number of STOP BITS                            [1]

    用lsdev -Cc tty查看tty是否配置好。
    #lsdev -Cc tty
    在两台上分别输入如下命令:
    S85_1# cat /etc/hosts >/dev/tty0
    S85_2# cat </dev/tty0
    如果在S85_2机能接收到信息,则表明心跳线已经配置好。

    (五)具体配置及技巧
    注:HACMP的配置(或修改配置)只需要在其中的一台主机上进行,当配置(或修改)完毕后使用同步命令将配置结果传到另外一台主机上。一般选S85_1在进行配置。
    在S85_1上运行smit hacmp,然后按照下面的步骤进行配置:
     #smit hacmp 

    1、 Cluster Configuration
    1.1、配置Cluster Topology
? 配置Configure Cluster/ Add a Cluster Definition   
    * Cluster ID                          [100]                   #
    * Cluster Name                       [sb_ha]

? 配置Configure Nodes,增加两个Node
    * Node Names                                    [s85_a]
    * Node Names                                    [s85_b]

? 配置Configure Adapters,分别配置两台机的service地址,boot地址,standby地址及tty(a_svc、b_svc、a_boot、b_boot、a_stdby、b_stdby、a_tty、b_tty)
    * Adapter IP Label                            a_svc 
      Network Type                                 [ether]                  
      Network Name                                [ethnet]                
      Network Attribute                              public                  
      Adapter Function                               service                 
      Adapter Identifier                            [172.16.1.1]
      Adapter Hardware Address                    [ ]
      Node Name                                 [s85_a] 
    修改/etc/hosts及/.rhosts文件,如:修改/etc/hosts文件,增加以下内容:
      172.16.1.1            a_svc
      172.16.1.2            b_svc
      172.16.1.3            a_boot
      172.16.1.4            b_boot
      172.16.2.1            a_stdby
      172.16.2.2            b_stdby
    修改/.rhosts文件,增加以下内容:
      a_svc
      b_svc
      a_boot
      b_boot
      a_stdby
      b_stdby

    1.2、同步cluster(Cluster Configuration/ Cluster Topology/ Synchronize Cluster Topology)
    在进行同步的时候可以先进行模拟(Emulate)同步,当模拟同步OK后再进行实际(actual)同步:
                   Synchronize Cluster Topology
    Type or select values in entry fields.
    Press Enter AFTER making all desired changes.
    [TOP]                                                   [Entry Fields]
      Ignore Cluster Verification Errors?              [No]                +
    * Emulate or Actual?                         [Emulate]             +

    2、配置Cluster Resources
    2.1、定义一个资源组(Define Resource Groups)
    注意,在定义资源组的时候,要注意Participating Node Names的先后顺序。  

    Resource Group Name                           data_res  
    New Resource Group Name                       []
    Node Relationship                                  cascading   
    Participating Node Names                      [s85_a  s85_b]

    2.2、定义应用服务器(Define Application Servers)
    Server Name                                    ora_app   
    New Server Name                               [ ]
    start Script                                   [/etc/start]
    Stop Script                                   [/etc/stop]

    2.3、修改资源组属性(Change/Show Resources for a Resource Group)
    data_res组:      
       Resource Group Name                       data_res
       Node Relationship                              cascading
       Participating Node Names                  s85_a  s85_b
       Service IP label                                [a_svc]
       Filesystems(default is all)                []                
       Filesystems Consistency Check                  fsck 
       Filesystems Recovery Method                    sequential
       Filesystems to Export                           [] 
       Filesystems to NFS mount                       []          
       Volume Groups                                [datavg logvg] 
       Concurrent Volume groups                       []           
       Raw Disk PVIDs                               []  
       Application Servers                         [ora_app]

    2.4、同步资源组(Synchronize Cluster Resources)
    在进行同步的时候可以先进行模拟(Emulate)同步,当模拟同步OK后再进行实际(actual)同步:
                      Synchronize Cluster Resources
    Type or select values in entry fields.
    Press Enter AFTER making all desired changes.
    [TOP]                                                   [Entry Fields]
      Ignore Cluster Verification Errors?             [No]                  +
    * Emulate or Actual?                          [Emulate]             +

    3、HACMP的启动及关闭      
    (1)启动过程:
            #smit clstart
            #tail -f /tmp/hacmp.out
            May 22 17:29:23 EVENT COMPLETED: node_up_complete s85_a         
     如果/tmp/hacmp.out文件显示类似上述信息,则表明HACMP在本机上可以正常启动。

    (2)关闭过程:
            #smit clstop

    4、HACMP功能的测试
    在HACMP配置完成并检查没有错误后,即可按3的方法启动HACMP,进行功能测试。包括应用在同一台服务器的两个网卡能否切换,在两台服务器间能否切换等。可用命令:
    #netstat-in来看地址的切换情况

   四、HACMP常见的故障解决方法

    HACMP将诊测并响应于三种类型的故障:1网卡故障,2网络工作,3节点故障。下面就这三种故障分别进行介绍。

    1、网卡故障

    HACMP的群集结构中,除了TCP/IP网络以外,还有一个非TCP/IP网络,它实际上是一根"心跳"线,专门用来诊测是节点死机还是仅仅网络发生故障。如下图所示,一旦节点加入了 Cluster(即该节点上的HACMP已正常启动),该节点的各个网卡、非TCP/IP网络就会不断地接收并送Keep-Alive信号,K-A的参数是可调 的,HA在连续发送一定数量个包都丢失后就可确认对方网卡,或网络,或节点发生故障。因此,有了K-A后,HACMP可以很轻易地发现网卡故障,因为一旦某块网卡发生故障发往该块网卡的K-A就会丢失。

    此时node 1上的cluster manager( HACMP的"大脑")会产生一个swap-adapter的事件,并执行该事件的script(HACMP中提供了大部分通用环境下的事件scripts,它们是用标准AIX命令和HACMP工具来写的)。每个节点上都有至少两块网卡,一块是service adapter,提供对外服务,另一块是standby adapter,它的存在只有cluster manager知道,应用和client并不知道。

    一旦发生swap-adapter事件后,cluster manager将原来service adapter的 IP地址转移到standby adapter上,而standby地址转移到故障网卡上,同时网络上其他节点进行ARP的刷新。网卡互换(swap-adapter)在几秒内就可完成,以太网为3秒,并且这种转换对应用和client来说是透明的,只发生延迟但连接并不中断。

    2、网络故障

    如果发往node1上的service和standby网卡上的K-A包全都丢失,而非TCP/IP网络上的K-A仍然存在,那么HACMP判断node1仍然正常而网络发生故障。此时HACMP执行一个。

    3 、节点故障

    如果不仅TCP/IP网络上的K-A全部丢失,而且非TCP/IP网络上的K-A也丢失,那么HACMP断定该节点发生故障,并产生node-down事件。此时将有资源接管,即放在共享磁盘陈列上的资源将由备份节点接管,接管包括一系列操作:Acquire disks,Varyon VG, Mount file systems,Export NFS file systems, Assume IP network Address, Restart highly available applications,其中IP地址接管和重新启动应用由HACMP来实现,而其他是由AIX来完成。

    当整个节点发生故障时,HACMP将故障节点的service IP address转移到备份节点上,使网络上的client仍然使用这个IP地址,这个过程称为IP地址接管(IPAT),当一个节点down掉后,如果设置了IP地址接管,网络上的clients会自动连接到接管节点上;同样,如果设置了应用接管,该应用会在接管节点上自动重启,从而使系统能继续对外服务。对于要实现接管的应用,只需在HACMP中把它们设置成application server,并告诉HACMP启动这个应用的start script的全路径名和停止该应用的stop script的全路径名。由此可见,应用接管的配置在HACMP中十分简单,重要的是start script和stop script的写作,这需要用户对自己应用的了解。

    4、其他故障

    HACMP只去检测网卡、网络和节点是否发生故障,并作出相应的转移、接管行为。对于其他故障,那么HACMP缺省不作任何动作。

    a、硬盘故障

    一般我们都将硬盘设置成RAID-5方式或mirror方式,从而提供硬盘的高可用性。RAID-5将奇偶较验位分散在硬盘组中,因此当一组内的一个硬盘坏掉,组内的其他硬盘可以通过奇偶较验位将该硬盘上的数据恢复出来。RAID-5方式一般是由硬件实现的,如下7133的SSA适配器,而且如果同一组内的两个硬盘坏掉,该组硬盘的数据很可能就会全部丢失。mirror方式是将同一个数据写到至少两个物理外置上,因此它的效率没有RAID-5好,而且用盘量大,但安全性比RAID-5高,而且它易于实现,通过AIX中的(Logic Volume Management)可以很方便地设置。

    b、硬盘控制卡

    存储设备连接到主机上都必须通过一块控制卡,SCSI设备是SCSI Adapter, SSA设备是SSA Adapter,如果这块卡坏掉,与之连接的外设就无法利用。有几种办法可以解决这个问题。

    一种办法是用多个adapter。每个主机上都有两块或两块以上adapter,分别连接mirror的数据,因此无论是硬盘坏掉,还是Adapter坏掉,所有好数据还是可以被主机利用,不会出现单点故障。这种方法实现起来并不难,但必须配置多块adapter,而且必须采用数据mirror方式。这种方法也不用通过HACMP来实现。

    另一种方法仍只用一块adapter,利用HACMP中的Error Notification Facility( 错误通告机制)来解决。

    Error Notification Facility是HACMP提供的对其他设备的监控工具,任何报告给AIX的错误(error)都能被捕获被采取相应措施。HACMP提供了smit界面,使配置简单化。

    我们已知道,用LVM可实现硬盘镜像,当一个盘坏掉,仍有一份数据在镜像盘里,数据仍可进行读写,但此时数据不再有可用性,若镜像盘也坏掉则数据全部丢失。所以在此例中,PV丢失(LVM_PVMISS)的信息会大幅显示在控制台面上,从而提醒用户去仔细查看error log找出故障并修复它。同样,此例中HACMP提供了界面,结合AIX的功能,从而监控故障的发生。

    c.、应用故障

    如果用户的应用有kernel call调用,或以root身份来启动等,一旦应用发生故障,很容易导致操作系统down掉,发生死机,这时实际上等于节点故障,HACMP会采取相应接管措施。如果只是应用自身死掉,AIX仍正常运行,HACMP最多利用Error Notification Facility来提供监控功能,对应用本身不采取任何动作。但如果应用中调用了AIX的SRC (System Resource Controller)机制所提供的API接口,就可以使应用在down掉后自动重新启动。除了SRC提供API接口外,HACMP中的clinfo也提供这样的API。

    clinfo是cluster Information daemon,它负责维护整个cluster的状态的信息,clinfo API允许应用程序利用这些状态信息来采取相应行动。

    d.、HACMP故障

    如果cluster中节点的HACMP进程down掉,HACMP将其升级为节点故障,从而发生资源接管。

    如上所述,HACMP只全权负责诊断网卡故障、网络故障和节点故障这三类故障,并负责实现IP地址转换或接管,以及整个系统资源( 硬件、文件、系统、应用程序,等等)的接管。对于这三类故障外的其他故障,可以结合AIX基本功能和HACMP提供的一些机制,如Error Notification Facility, clinfo API 等,同样可以实现对故障的监控并采取相应措施。


- 作者: unixhome 2004年10月13日, 星期三 13:35  回复(0) |  引用(0) 加入博采

  二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:

(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;

(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;

(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;

(4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。

  不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。

  从二层交换机的工作原理可以推知以下三点:

(1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;

(2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;

(3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。

  以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较。




  (二)路由技术

  路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向那里走,如果能从路由表中找到数据包下一步往那里走,把链路层信息加上转发出去;如果不能知道下一步走向那里,则将此包丢弃,然后返回一个信息交给源地址。

  路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。

  而路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路由协议称为链路状态路由协议。

  由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。

  (三)三层交换技术

  近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。


  组网比较简单

  使用IP的设备A------------------------三层交换机------------------------使用IP的设备B

  比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。

  如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。

  如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关
系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。

  以上就是三层交换机工作过程的简单概括,可以看出三层交换的特点:


由硬件结合实现数据的高速转发。

  这就不是简单的二层交换机和路由器的叠加,三层路由模块直接叠加在二层交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。算上背板带宽,这些是三层交换机性能的两个重要参数。

  简洁的路由软件使路由过程简化。

  大部分的数据转发,除了必要的路由选择交由路由软件处理,都是又二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。

  结论

  二层交换机用于小型的局域网络。这个就不用多言了,在小型局域网中,广播包影响不大,二层交换机的快速交换功能、多个接入端口和低谦价格为小型网络用户提供了很完善的解决方案。

  路由器的优点在于接口类型丰富,支持的三层功能强大,路由能力强大,适合用于大型的网络间的路由,它的优势在于选择最佳路由,负荷分担,链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。

  三层交换机的最重要的功能是加快大型局域网络内部的数据的快速转发,加入路由功能也是为这个目的服务的。如果把大型网络按照部门,地域等等因素划分成一个个小局域网,这将导致大量的网际互访,单纯的使用二层交换机不能实现网际互访;如单纯的使用路由器,由于接口数量有限和路由转发速度慢,将限制网络的速度和网络规模,采用具有路由功能的快速转发的三层交换机就成为首选。

  一般来说,在内网数据流量大,要求快速转发响应的网络中,如全部由三层交换机来做这个工作,会造成三层交换机负担过重,响应速度受影响,将网间的路由交由路由器去完成,充分发挥不同设备的优点,不失为一种好的组网策略,当然,前提是客户的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连。

  第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层) 应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。

  在第四层交换中为每个供搜寻使用的服务器组设立虚IP地址(VIP),每组服务器支持某种应用。在域名服务器(DNS)中存储的每个应用服务器地址是VIP,而不是真实的服务器地址。

  当某用户申请应用时,一个带有目标服务器组的VIP连接请求(例如一个TCP SYN包)发给服务器交换机。服务器交换机在组中选取最好的服务器,将终端地址中的VIP用实际服务器的IP取代,并将连接请求传给服务器。这样,同一区间所有的包由服务器交换机进行映射,在用户和同一服务器间进行传输。

  第四层交换的原理

  OSI模型的第四层是传输层。传输层负责端对端通信,即在网络源和目标系统之间协调通信。在IP协议栈中这是TCP(一种传输协议)和UDP(用户数据包协议)所在的协议层。

  在第四层中,TCP和UDP标题包含端口号(portnumber),它们可以唯一区分每个数据包包含哪些应用协议(例如HTTP、FTP等)。端点系统利用这种信息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件。端口号和设备IP地址的组合通常称作"插口(socket)"。 1和255之间的端口号被保留,他们称为"熟知"端口,也就是说,在所有主机TCP/IP协议栈实现中,这些端口号是相同的。除了"熟知"端口外,标准UNIX服务分配在256到1024端口范围,定制的应用一般在1024以上分配端口号. 分配端口号的最近清单可以在RFc1700"Assigned Numbers"上找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。
 
   "熟知"端口号举例:
  
    应用协议     端口号
    FTP        20(数据)
                  21(控制)
    TELNET    23
    SMTP      25
    HTTP       80
    NNTP      119
    NNMP      16
                  162(SNMP traps)
  TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。



具有第四层功能的交换机能够起到与服务器相连接的"虚拟IP"(VIP)前端的作用。

  每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。这个VIP地址被发送出去并在域名系统上注册。

  在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。

  每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP 端口相关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现
会话为止。
 
  在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。

  如何选用合适的第四层交换
  
  a,速度
 
  为了在企业网中行之有效,第四层交换必须提供与第三层线速路由器可比拟的性能。也就是说,第四层交换必须在所有端口以全介质速度操作,即使在多个千兆以太网连接上亦如此。千兆以太网速度等于以每秒488000 个数据包的最大速度路由(假定最坏的情形,即所有包为以及网定义的最小尺寸,长64字节)。

  b,服务器容量平衡算法
  

  依据所希望的容量平衡间隔尺寸,第四层交换机将应用分配给服务器的算法有很多种,有简单的检测环路最近的连接、检测环路时延或检测服务器本身的闭环反馈。在所有的预测中,闭环反馈提供反映服务器现有业务量的最精确的检测。

  c,表容量

  应注意的是,进行第四层交换的交换机需要有区分和存贮大量发送表项的能力。交换机在一个企业网的核心时尤其如此。许多第二/ 三层交换机倾向发送表的大小与网络设备的数量成正比。对第四层交换机,这个数量必须乘以网络中使用的不同应用协议和会话的数量。因而发送表的大小随端点设备和应用类型数量的增长而迅速增长。第四层交换机设计者在设计其产品时需要考虑表的这种增长。大的表容量对制造支持线速发送第四层流量的高性能交换机至关重要.
  
  d,冗余
 
  第四层交换机内部有支持冗余拓扑结构的功能。在具有双链路的网卡容错连接时,就可能建立从一个服务器到网卡,链路和服务器交换器的完全冗余系统。

- 作者: unixhome 2004年10月13日, 星期三 13:19  回复(0) |  引用(0) 加入博采

    开始了我的BLOG生活.

- 作者: unixhome 2004年10月13日, 星期三 13:06  回复(0) |  引用(0) 加入博采




引文来源  UNIX之家
  评论这张
 
阅读(1876)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018