blogger

    blogger
  • hot log

  • comment

    twitter

    • 12.10.xC6出来时候碰到"Could not determine encryption mode from page zero",竟果然是BUG!http://www-01.ibm.com/support/docview.wss?rs=630&uid=swg21973408

      2015-12-21 20:15

    • 空间已经转移到新加坡,希望会好一些。

      2015-11-16 14:34

    • 增加新域名liaosnet.cc,与liaosnet.com同指向。

      2015-10-09 15:25

    • 空间迁移到香港。或许速度会快一点。。

      2014-02-13 20:10

    • 解决个问题:NBU配置Storage时的目录在系统分区上,导致备份失败,最终原因是目录在系统分区上时,需要在 This directory can exist on the root file system or system disk. 这个选项前打上勾。

      2012-09-26 22:21

    • More»

    blog sort

    links

    record

    banner

    配置使用Informix 连接管理器(Connection Manager)

    暗夜星空's Memory from Jan 29 , 2011 at 19:44 PM , under Category:INFORMIX
    目的:配置Informix连接管理器(Connection Manager),实现通过CM的连接重定向、集群负载均衡和集群故障接管功能。
    环境:系统为rhel 5.5 64bit
        数据库版本为informix v11.70fc1 for linux 64bit
        CSDK的版本为informix csdk v3.70 for linux 64bit
    组网方式如下:Informix集群由SDS、HDR、RSS组成,和CM在同一个网络内
    点击查看原图
    其中:
      PRI(Primary Server)的IP为192.168.80.56,INFORMIXSERVER为ids1_online_net
      HDR(HDR Secondary) 的IP为192.168.80.57,INFORMIXSERVER为ids2_online_net
      SDS(SDS Server)    的IP为192.168.80.58,INFORMIXSERVER为idssds_online_net
      RSS(RSS Server)    的IP为192.168.80.59,INFORMIXSERVER为idsrss_online_net
      CM(connection manager)的IP为192.168.80.60,INFORMIXSERVER为ids1170

    关于如何创建SDS,HDR,RSS的方法及步骤,这里不再详述。需要注意的事项包括:
    1, 参数中关于磁盘的配置需要一致
    2, INFORMIXSERVER对应的网络协议必须使用TCP/IP连接方式的配置
    3, DRAUTO设置为3 (使用CM控制)
    4, 其它与SDS,HDR,RSS相关的参数全集群同步
    5, 各服务器的SYSADMIN库都应当开启并正常使用(FOC需要)

    配置Informix连接管理器

        Connection Manager ONCMSM 及相关的实用程序如 ONPASSWORD 都包含在 IBM Informix Client SDK (CSDK) 开发包中。 Connection Manager 可以安装在数据库应用程序运行的机器上,也可以安装在单独的一台独立于 Informix 高可用集群的机器上,减少管理开销。为了提高性能,一般建议安装在数据库应用程序运行的机器上。
    这里将包含CM的CSDK安装于独立的服务器上(CSDK安装步骤不再详述),INFORMIXDIR使用CSDK的安装目录,INFORMIXSERVER使用informix集群的group名

    1)创建加密的password密码文件
    CM需要读这个密码文件,并通过这个密码连接到各服务器上
    Password密码文件的格式为
    ServerName  AlternateServer USER PASSWORD

    每一行表示一个Informix实例:
    ServerName指INFORMIXSERVER,需使用TCP/IP方式的服务
    AlternateServer指在无法连接上ServerName时的备用连接(无备用连接可设置跟ServerName一致)
    USER指存在于ServerName所指定的服务器上的已存在的用户名
    PASSWORD指USER使用的密码

    此次示例如下:
    ids1_online_net         ids1    informix        informix
    ids2_online_net         ids2    informix        informix
    idssds_online_net       idssds  informix        informix
    idsrss_online_net       idsrss  informix        informix

    保存为passwd.txt文件,然后使用onpassword实用工具加密成${INFORMIXDIR}/etc/passwd_file 密码文件供CM使用
    [ informix@cmserver ~] onpassword -k SecretKey -e ./passwd.txt

    2)创建CM配置文件
    CM配置文件默认为${INFORMIXDIR}/etc/cmsm.cfg,可通过复制例子文件cmsm.cfg.sample创建cmsm.cfg,cmsm.cfg.sample内容如下:
    # Connection Manager name(CM名称)
    NAME    sample
    # re-route Informix clients to the primary for transaction processing (SLA策略)
    SLA     sqtp=PRI
    # re-route Informix clients to any secondary node for reporting (SLA策略)
    SLA     sqrt=(SDS+HDR+RSS)
    # re-route IBM Data Server clients that use DRDA to the primary  (SLA策略)
    SLA     drtp=PRI
    # re-route IBM Data Server clients that use DRDA to any secondary node  (SLA策略)
    SLA     drrt=(SDS+HDR+RSS)
    # Failover Configuration (集群故障接管策略)
    FOC     SDS+HDR+RSS,0
    # worker threads for each SLA listener, default is 8 (SLA线程数)
    SLA_WORKERS  16
    # Connection Manager message file (CM日志)
    LOGFILE /usr/informix/tmp/cm.log

    示例使用cmsm.cfg如下:
    NAME ids1170 
    SLA oltp=PRI
    SLA payroll=HDR+RSS+PRI
    SLA report=SDS+HDR+RSS
    DEBUG 1
    SLA_WORKERS 4
    LOGFILE /opt/informix/log/cmsm.log
    FOC (SDS+HDR)+RSS,10

    注:SLA(Service Level Agreement)中的参数定义
    PRI 或者primary :集群中的主服务器
    SDS :集群中的SDS服务器
    HDR :集群中的HDR服务器
    RSS  :集群中的RSS服务器
    + :表示使用负载均衡

    注:FOC(failover configuration)中的参数定义
    + :表示顺序接管
    () :表示同级别,仅有括号内的都失败,才由下一顺序接管
    timeout_value最后的数字为等待主服务器响应的时间,单位是秒。

    3)修改SQLHOSTS配置文件
    所有informix集群的实例中的sqlhosts文件均应包含所有实例的信息;而CM中的SQLHOSTS中除包含所有实例中的信息外,还包含SLA策略

    示例CM使用的sqlhosts如下:
    所有Informix集群的实例都在同一个group中(所有的集群实例中都应包含INFORMIXSERVER这部分内容),CM中还包含CM SLA定义的策略
    ### INFORMIXSERVER
    ids1170                 group           -       -       i=10
    ids1_online_net         onsoctcp        rhel56  11801   g=ids1170
    ids2_online_net         onsoctcp        rhel57  11802   g=ids1170
    idssds_online_net       onsoctcp        rhel58  11803   g=ids1170
    idsrss_online_net       onsoctcp        rhel59  11804   g=ids1170

    # for Connection Manager's SLA defines
    oltp                    onsoctcp        rhel60  11860
    report                  onsoctcp        rhel60  11861
    payroll                 onsoctcp        rhel60  11862


    4)使用oncmsm实用工具启动CM
    由于示例中仅定义了一个CM name,故可直接使用oncmsm启动
    [Informix@cmserver ~] oncmsm
    然后可通过cmsm.log查看cmsm的运行情况。

    在接入了连接管理器的服务器上可以使用onstat -g cmsm查看CM运行状态
    [informix@rhel55 ~] onstat -g cmsm
    IBM Informix Dynamic Server Version 11.70.FC1     -- On-Line (Prim) -- Up 03:10:19 -- 173780 Kbytes
    Connection Manager Name: ids1170
            Hostname: rhel55

            SLA                    Connections   Service/Protocol   Rule
            oltp                             0     11860/onsoctcp   PRI
            payroll                          0     11862/onsoctcp   (HDR+RSS)+PRI
            report                           0     11861/onsoctcp   SDS+HDR+RSS

    Failover Configuration:
    Connection Manager name        Rule                Timeout   State
    ids1170
                                   (SDS+HDR)+RSS            10   Active Arbitrator, Primary is up

    CM管理故障接管

    FOC (SDS+HDR)+RSS,10
    第一层接管,在主服务器故障时,(SDS+HDR)启用接管。
    SDS备机成为主服务器,原HDR备机重定向为当前主服务器HDR备机,原RSS备机重定向为当前主服务RSS备机
    点击查看原图

    第二层接管,在主服务器故障(原SDS)时,(SDS+HDR)启用接管,此时由HDR备机接管。
    HDR备机接管成为主服务器,原RSS备机重定向成为当前主服务RSS备机
    点击查看原图
    第三层接管,在主服务器故障(原HDR)时,RSS启用接管,此时由RSS备机接管。
    RSS备机接管成为主用服务器,由于此时没有别的备用服务器,仅有主服务器,不再有接管。
    注:当集群存在多个RSS备机时,RSS其它备机仍可成为当前主服务器的RSS备机,直至最后一个RSS备机成为主用服务器。
    点击查看原图
     
    CM恢复:
    如上面的方式,仅剩下一个RSS的时候,从原RSS开始恢复整个CM。(注意:恢复步骤前不要直接启动别的数据库)
    1,恢复原PRI(ids1)或者SDS(sds)为当前PRI(原RSS(rss))的HDR备机;
    2,HDR切换,使用ids1成为HDR主用;
    3,启动原SEC(ids2),恢复成HDR备用(需要在ids1重新定义HDR备用);
    4,启动原SDS(sds),恢复成SDS备用;
    5,启动原RSS(rss),恢复成RSS备用(需要在ids1重新增加RSS备用)
    恢复完成后,整个CM完成恢复。