同一台机子安装配置Informix SDS

Informix SDS Share Disk Secondary )共享磁盘备用服务器,其正常组建结构如下:
101125182238.png

主用服务器和备用服务器共享同一相磁盘阵列,SDS_TEMPDBS除外。

此次的目的在于模拟SDS的配置,可以使用VMWare安装两个服务器+共享磁盘的方式来实现,但需要安装配置共享磁盘管理软件(如GFS/OCFS之类的)。尝试使用这种方法后,也能成功,但出现了比较多问题(SDS切换时常出现BLOCKSDS恢复时常不能恢复至正常),因此考虑能不能在同一个机子上实现SDS,毕竟实现SDS最主要的就是共享磁盘的管理问题(在同一个机子上,都是系统管理的,估计效果会比管理软件好的多)

         如下图所示,两个informix实例共享相同的文件即可

101125182402.png

系统环境:rhel5u5 64bit

数据库版本:informix v11.70fc1 for linux 64bit

 

安装配置步骤:

1.       安装informixINFORMIXDIR的目录为/opt/Informix

此操作简略介绍:新建informix用户组,用户,安装数据库

 

2.       新增加两个用户用于此次的SDS配置(info1,info2均属于informix,目录分别为/opt/info1,/opt/info2shell使用bash),完成后的/etc/passwd中应含

informix:x:1000:1000::/opt/informix:/bin/bash

info1:x:1001:1000::/opt/info1:/bin/bash

info2:x:1002:1000::/opt/info2:/bin/bash

         在这里首次将使用info1做为primary server的实例,info2则创建sds 的实例。

 

3.       两个用户分别配置.bash_profile,增加用户环境,两者的INFORMIXSERVER不一致,ONCONIFG不一致(为什么ONCONFIG不一致? 因为INFORMIXDIR都是/opt/Informix,故ONCONFIG的目录都是在${INFORMIXDIR}/etc下),之后将两个用户的HOME目录属主改成informix:Informix,权限为755

用户info1.bash_profile

INFORMIXDIR=/opt/informix

INFORMIXSERVER=ids1_online_net

ONCONFIG=onconfig.ids1

PATH=$PATH:${INFORMIXDIR}/bin

 

export INFORMIXSERVER INFORMIXDIR ONCONFIG PATH

用户info2.bash_profile

INFORMIXDIR=/opt/informix

INFORMIXSERVER=ids2_online_net

ONCONFIG=onconfig.ids2

PATH=$PATH:${INFORMIXDIR}/bin

 

export INFORMIXSERVER INFORMIXDIR ONCONFIG PATH

退出重进用户,或者执行. .bash_profile (注意2个点之间的空格!)使用户环境生效。

以后的使用切换至带本用户环境的informix用户来操作,如使用带info1环境的informix用户环境为:

[root@rhel55 ~]# su - info1

[info1@rhel55 ~]$ su informix

Password:

[informix@rhel55 info1]$

 

以下使用

[informix@rhel55 info1]$ 表示带info1环境的informix用户在info1HOME下的操作

[informix@rhel55 info2]$ 表示带info2环境的informix用户在info2HOME下的操作

 

4.       修改配置文件onconfig.ids1onconfig.ids2

用户info1的配置文件onconfig.ids1:拷贝onconfig.stdonconfig.ids1,因为目的是用来测试,故主要修改的参数如下

ROOTPATH ./dbs/rootdbs

 

MSGPATH $INFORMIXDIR/tmp/online.log.ids1

CONSOLE $INFORMIXDIR/tmp/online.con.ids1

 

SERVERNUM       1

DBSERVERNAME    ids1_online_net

NETTYPE soctcp,1,50,CPU

 

LTAPEDEV /dev/null

 

SDS_ENABLE              0

SDS_TEMPDBS             sdstempdbs,/opt/info1/dbs/sdstempdbs,2,0,20000

SDS_PAGING              /opt/info1/dbs/page1,/opt/info1/dbs/page2

UPDATABLE_SECONDARY     1

 

用户info2的配置文件onconfig.ids2:拷贝onconfig.stdonconfig.ids2,因为目的是用来测试,故主要修改的参数如下

ROOTPATH ./dbs/rootdbs

 

MSGPATH $INFORMIXDIR/tmp/online.log.ids2

CONSOLE $INFORMIXDIR/tmp/online.con.ids2

 

SERVERNUM       2

DBSERVERNAME    ids2_online_net

NETTYPE soctcp,1,50,CPU

 

LTAPEDEV /dev/null

 

SDS_ENABLE              1

SDS_TEMPDBS             sdstempdbs,/opt/info2/dbs/sdstempdbs,2,0,20000

SDS_PAGING              /opt/info2/dbs/page1,/opt/info2/dbs/page2

UPDATABLE_SECONDARY    1

info1onconfig.ids1的区别在于SERVERNUMDBSERVERNAME(区别不同的实例)

 

由于不能直接初始数据库到SDS Primary,故info1的配置中SDS_ENABLE应为0(禁用);

SDS_TEMPDBS 备用节点tempdbs(仅在备用节点上存在,必须)

SDS_PAGING     备用节点上两个必备的分页文件

UPDATABLE_SECONDAY   设置备用服务器可更新操作

 

SDS系统中,以下参数在整个系统中应该一致:ROOTNAMEROOTPATHROOTOFFSETROOTSIZEPHYSDBSPHYSFILELOGFILES LOGSIZE

上述仅更改了ROOTPATH且都一致 ./dbs/rootdbs,其它的均保持原来的默认值,故都是一致的。

 

5.       配置SQLHOSTS文件,sqlhosts文件位于${INFORMIXDIR}/etc/目录下,其内容应包含

ids1_online_net         onsoctcp        rhel55  11801

ids2_online_net         onsoctcp        rhel55  11802

格式为:INFORMIXSERVER    ServiceType      Hostname/HostIP   ServicePort

 

6.       创建共享文件

/opt/info1目录下创建dbs目录,并在dbs目录touch一个rootdbs文件,权限为660,如下,

[informix@rhel55 info1]$ mkdir dbs && touch /opt/info1/dbs/rootdbs && chmod 660 /opt/info1/dbs/rootdbs

[informix@rhel55 info1]$ ls -l

total 4

drwxrwxr-x 2 informix informix 4096 Nov 16 04:11 dbs

[informix@rhel55 info1]$ ls -l dbs

total 4096

-rw-rw---- 1 informix informix 0 Nov 25 05:26 rootdbs

 

目录结构图

|dbs

    - rootdbs

 

/opt/info2目录下创建链接到/opt/info1/dbs的链接文件dbs,这样就相当于把/opt/info1/dbs变成了一个共享文件目录

[informix@rhel55 info2]$ ls -s /opt/info1/dbs dbs

[informix@rhel55 info2]$ ls -l dbs

total 4

lrwxrwxrwx 1 informix informix 14 Nov 16 03:59 dbs -> /opt/info1/dbs

 

目录结构图

|dbs              ###在这里是链接目录

    - rootdbs

 

 

以上配置完成后,即可在[informix@rhel55 info1]$ 执行ids1_online_net的初始化操作(为什么要在/opt/info1下执行? 因为ROOTPATH ./dbs/rootdbs 是个相对目录,是相对于/opt/info1来说的,所以必须在/opt/info1目录下执行。不然找不到啦!)

7.       实例ids1_online_net初始化,然后切换成SDS primary

[informix@rhel55 info1]$ oninit -ivy

检查初始化成功,标志是运行日志online.log.ids1中,sysmaster, sysutils,sysuser,sysadmin库均建立成功。否则检查初始化的原因并解决。

 

初始化成功后,设置ids1_online_netSDS primary

[informix@rhel55 info1]$ onmode -d set SDS primary ids1_online_net

 

通过onstat -g sds 查看状态

[informix@rhel55 info1]$ onstat -g sds

IBM Informix Dynamic Server Version 11.70.FC1     -- On-Line -- Up 00:04:35 -- 157396 Kbytes

 

Local server type: Primary

Number of SDS servers:0

 

完成设置SDS primary后,onconfig.ids1参数会自动更新SDS_ENABLE1

 

8.       启动SDS备用节点,直接使用oninit启动即可

[informix@rhel55 info2]$ oninit -vy

省略输出

[informix@rhel55 info2]$ onstat -g sds

 

IBM Informix Dynamic Server Version 11.70.FC1     -- Updatable (SDS) -- Up 00:00:27 -- 165588 Kbytes

 

Local server type: SDS

Server Status : Active

Source server name: ids1_online_net

Connection status: Connected

Last log page received(log id,page): 3,219

 

[informix@rhel55 info2]$ onstat -g dri

 

IBM Informix Dynamic Server Version 11.70.FC1     -- Updatable (SDS) -- Up 00:00:40 -- 165588 Kbytes

 

Data Replication at 0x4c10c1c0:

  Type           State        Paired server        Last DR CKPT (id/pg)    Supports Proxy Writes  

  SDS Secondary  on           ids1_online_net               3 / 215        Y

 

  DRINTERVAL   30

  DRTIMEOUT    30

  DRAUTO       0

  DRLOSTFOUND  /opt/informix/etc/dr.lostfound

  DRIDXAUTO    0

  ENCRYPT_HDR  0

  Backlog      0

SDS备用节点上,输出的dbspace/chunk比主用节点多出一个sdstempdbs,这个是在onconfig中配置的,其dbs/chunk号均为可分配的最后一个值。

[informix@rhel55 info1]$ onstat -d

 

IBM Informix Dynamic Server Version 11.70.FC1     -- Updatable (SDS) -- Up 00:14:42 -- 165588 Kbytes

 

Dbspaces

address          number   flags      fchunk   nchunks  pgsize   flags    owner    name

4b6de028         1        0x60801    1        1        2048     NL BA    informix rootdbs

4d7c6b50         2047     0x142001   32766    1        2048     N TBA    informix sdstempdbs

 4 active, 2047 maximum

 

Chunks

address          chunk/dbs     offset     size       free       bpages     flags pathname

4b6de1d0         1      1      0          100000     38235                 PI-B-- ./dbs/rootdbs

4d7c6cf8         32766  2047   0          10000      9947                  PO-B-- /opt/info1/dbs/sdstempdbs

 

至此,SDS系统应该算是配置完成了,以下做一次SDS的切换。

1)  [informix@rhel55 info1]$ 停止主用数据库,备用库的状态将切至Block状态(不可更新,这个表明 备用更新实际上仍是通过主用节点进行更新操作的)

[informix@rhel55 info1]$ onmode -ky

在备用节点上检查状态如下:

[informix@rhel55 info2]$ onstat -

 

IBM Informix Dynamic Server Version 11.70.FC1     -- Updates Blocked (SDS) -- Up 00:02:22 -- 165588 Kbytes

 

[informix@rhel55 info2]$ onstat -g sds

 

IBM Informix Dynamic Server Version 11.70.FC1     -- Updates Blocked (SDS) -- Up 00:02:29 -- 165588 Kbytes

 

Local server type: SDS

Server Status : Active

Source server name: ids1_online_net

Connection status: Disconnected

Last log page received(log id,page): 3,235

 

2)  SDS备用节点转换为主用节点,

[informix@rhel55 info2]$ onmode -d make primary ids2_online_net force

[informix@rhel55 info2]$ onstat -g sds

 

IBM Informix Dynamic Server Version 11.70.FC1     -- On-Line -- Up 00:04:12 -- 165588 Kbytes

 

Local server type: Primary

Number of SDS servers:0

 

3)  然后正常启动原主用节点,将转换成SDS备用节点

[informix@rhel55 info1]$ oninit

[informix@rhel55 info1]$ onstat -g sds

 

IBM Informix Dynamic Server Version 11.70.FC1     -- Updatable (SDS) -- Up 00:00:17 -- 165588 Kbytes

 

Local server type: SDS

Server Status : Active

Source server name: ids2_online_net

Connection status: Connected

Last log page received(log id,page): 3,245

 

 

[informix@rhel55 info1]$ onstat -g dri

 

IBM Informix Dynamic Server Version 11.70.FC1     -- Updatable (SDS) -- Up 00:00:19 -- 165588 Kbytes

 

Data Replication at 0x4c10c1c0:

  Type           State        Paired server        Last DR CKPT (id/pg)    Supports Proxy Writes  

  SDS Secondary  on           ids2_online_net               3 / 243        Y

 

  DRINTERVAL   30

  DRTIMEOUT    30

  DRAUTO       0

  DRLOSTFOUND  /opt/informix/etc/dr.lostfound

  DRIDXAUTO    0

  ENCRYPT_HDR  0

  Backlog      0

 

至此,完成一次SDS主备用切换操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值