zoukankan      html  css  js  c++  java
  • UNIX + OS IBM AIX 5L HACMP

    AIX双机+HACMP+SYBASE集成手记

    链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=150340

    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 应用服务后同步


    RAC  (real application clusters  真正应用集群)

    http://baike.baidu.com/view/786767.htm


    浅谈HACMP(Part 2)

    http://www-900.ibm.com/cn/products/servers/pseries/tech/hacmp.shtml
    IBM互联网服务器部 李巳辉

    前言

    在前面的文章中和大家一起分享了关于HACMP网络,诊断故障类型以及磁盘阵列的选取原则。

    而对HACMP来讲,其工作的核心就是监控系统工作状态以及资源和应用的快速接管。这里就要谈一谈HACMP关于资源接管的几种方式。

    HACMP资源接管的几种方式

    首先,一个cluster中资源都包括些什么?通常它包括:应用程序、硬盘、卷组(VG)、文件系统、NFS文件系统、IP地址。

    资源都属于某个资源组(ResourceGroup),有三种类型的资源组:

    --Cascading(层递式)

    --Rotating(替换式)

    --Concurrent(同时存取式)

    不同类型的资源组对应不同的接管方式。一个cluster中可以有好几个资源组,它们可以分别是不同类型,因此,资源接管的方式可以多种多样,配置十分灵活。

    以最简单的2-node集群为例。

    NodeA 和nodeB都是资源组a的成员,该资源组a被设置成cascading方式,nodeA对其拥有最高优先级。因此nodeA在cluster中处于 active状态时,它会控制资源组a中的所有资源,此时nodeB相对应资源组a是处于闲置(idle)状态,仅当nodeAdown掉,nodeB才 会接管资源组a,而且一旦nodeA重新加入cluster,nodeB将不得不释放资源组a,nodeA将重新控制资源组a。

    如果nodeB发生任何故障,不会发生任何事件。该过程如图1所示。

    图1-1图1-2图1-3

    如 果一个cluster中不仅仅只有一个资源组a,还有资源组b,例如,有两个应用程序都需要被自动接管,此时就需要定义两个资源组,每个资源组中各有一个 applicationserver。这时,可以把资源组a和b都由serverA来控制,serverB仍处于完全的idle状态,这叫 idlestandby。其过程示意图见图2。

    图2idle-standby示意图

    但是也可以把资源组a和资源组b分开来,nodeA对资源组a拥有最高优先级,nodeB对资源组b拥有最高优先级,因此,当nodeA和nodeB在cluster中都处于正常状态时,如图3-1所示。

    图3-1和图3-2

    nodeA 控制资源组a,nodeB控制资源组b;当nodeAdown掉后,nodeB会接管资源组a,如图3-2所示;当nodeA恢复并加入cluster 后,nodeA重新获得对资源组a的控制权,如图3-3所示。反之,当nodeBdown后亦然。这种不同node控制各自的资源组的方式,也称之为相互 接管(mutualtakeover)。

    图3- 3

    上面介绍的是cascading方式,这种方式实现起来简单明了,故障的接管和恢复也易于控制。

    rotating 方式与cascading方式所不同的是,采用rotating方式的资源组不是固定地分配给某个node,而是第一个加入cluster的node拥有 第一个可用的资源组,第二个加入cluster的node获得第二个可用的资源组,直至最后一个资源组被动态分配完为止,没有获得资源组的节点将作为 standby节点。当一个节点失败后,拥有最高优先级的standby节点将接管资源。当故障节点恢复并重新加入cluster后,该恢复节点不能重新 获得原有的资源组,而只能成为standby节点。

    concurrent方式所专门针对OracleParallelServer环境设计而成,它允许多个节点在同一时刻访问同一块数据。concurrent方式不支持AIX的JFS,因此应用重新必须建立在裸逻辑卷("raw"logicalvolumes)上。

    concurrent 方式的资源组中包括有:concuttent VG,"raw"hdisks,ApplicationServers。一旦节点加入cluster,节点就拥有所有的资源,如果一个节点down掉,不 会发生应用的接管,因为应用仍可在其他节点上继续进行。

    当节点加入cluster后,从上面的介绍我们似乎得知,一旦生产节点发生故障,其资源必将被接管。但有时系统是有意停机,例如要对生产主机进行软件、硬件的升级,或定期的维护,或定期的对HACMP和HAGEO的测试,此时不一定需要资源接管。

    那么,我们是否可用控制cluster的停机方式呢?答案是可以的。有三种方式可供选择:

    Graceful--该节点释放资源但其他节点不会接管资源;

    Gracefulw/takeover--该节点释放资源并且其他节点会接管资源;

    Forced—clustermanage被强行停止(clstmgr进程被杀死),但节点不释放资源,其他节点也不会接管资源。

    这样,用户就可用根据需要来手工使某个节点离开cluster。要注意的是,节点主动离开cluster与节点down后不得不离开cluster不是一回事。

    节点down掉后,该节点上的HACMP进程会自动停止,HACMP会自动使资源被接管。而节点被手工设置离开cluster时,是采用上面三种方式的人为使然,则视方式不同而有不同的特定行为。

    综上所述,我们了解了HACMP对不同故障的处理方法和节点发生故障时节点之间的相互关系,它们实际就是HACMP的工作原理。剩下的问题仅是针对具体环境进行最适合的配置,即所谓客户化工作,但这也是最关键的工作,在这儿就不作描述了。

    end

  • 相关阅读:
    finder的隐藏文件&IOS虚拟机地址
    IOS的UI总结
    ios系统的中arm指令集
    mac下删除svn账号
    PNG图片压缩工具
    让finder显示路径
    Serilog高级玩法之用Serilog记录所选终结点附加属性
    如何利用Serilog的RequestLogging来精简ASP.NET Core的日志输出
    关于C#异步编程你应该了解的几点建议
    C#异步编程入门看这篇就够了
  • 原文地址:https://www.cnblogs.com/lindows/p/14390590.html
Copyright © 2011-2022 走看看