Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103687895
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-30 10:38:10

 
 
 

同一台服务器上搭建HDR实例

Linux AS 3 + IDS V9.4

 

什么是HDRHigh-Availability Data Replication

复制数据的一个方法就是将数据库复制到安装在不同计算机上的数据库服务器。该复制允许报告不打断使用原数据库的客户机应用程序而访问数据。

 

数据库服务器实现整个数据库服务器的接近透明的数据复制。将一个数据库服务器管理的所有数据复制并动态更新到另一数据库服务器(通常位于不同的地理位置)。HDR提供维护整个数据库服务器的备份副本的方法,应用程序可以在灾难性故障的情况下快速访问该副本。

 

满足硬件和操作系统要求

HDR数据库服务器对要起作用,必须满足以下硬件要求:

1)运行主数据库服务器和辅助数据库服务器的计算机必须相同(相同的供应商和体系结构)。

2)运行主数据库服务器和辅助数据库服务器的计算机上的操作系统必须相同。

3)运行主数据库服务器和辅助数据库服务器的硬件必须支持网络能力。

4)分配给主数据库服务器和辅助数据库服务器的数据库空间的磁盘空间量必须相等。磁盘空间类型是不相关的。

满足数据库和数据要求

要使用HDR数据库服务器对起作用,必须满足以下数据库和数据要求:

1)必须记录所有数据:所有希望复制的数据库必须将事务日志记录打开。

2)数据必须驻留在数据库空间或SB空间中。

 

规划系统配置

1)硬件、操作系统和数据库

操作系统:Linux AS 3

数据库:IDS 9.40.UC4W4

硬件环境:VMWare 5.5.1

 

服务器A

服务器B

用户

Info1

Info2

所在HOME目录

/opt/info1

/opt/info2

数据库服务名(DBSERVERNAME

Info1_online

Info2_online

数据库服务别名(DBSERVERALIASES

Info1_online_net

Info2_online_net

数据库唯一识别号(SERVERNUM

1

2

配置文件名

Onconfig.info1

Onconfig.info2

 

2)参数配置要求

配置文件onconfig参数设置注意项:以下参数两台服务器应该配置一致

存储空间和块的配置

ROOTNAME

rootdbs

ROOTOFFSET

0

ROOTPATH

./dbs/rootdbs(注意:这里使用的是相对路径,这里是同一台服务器搭建HDR的关键)

ROOTSIZE

30000

镜像(有镜像时)

MIRROROFFSET

<默认值>

MIRRORPATH

<默认值>

物理日志

PHYSDBS

<默认值>

PHYSFILE

<默认值>

数据库空间和逻辑日志磁带备份设备

LTAPEBLK

<默认值>

LTAPESIZE

<默认值>

TAPEBLK

<默认值>

TAPESIZE

<默认值>

逻辑日志配置

LOGFILES

<默认值>

LOGSIZE

<默认值>

DYNAMIC_LOGS

<默认值>

共享内存配置 

SHMADD

<默认值>

SHMTOTAL

<默认值>

SHMVIRTSIZE

<默认值>

HDR参数 

DRINTERVAL

<默认值>

DRLOSTFOUND

<默认值>

DRTIMEOUT

<默认值>

 

 

 

安装配置HDR步骤

       先建立相关用户和目录,包括infromix/info1/info2用户并设置好相应的权限。

       # groupadd –g 200 informix

       # useradd –g 200 –u 200 –s /bin/csh –d /opt/informix –m informix

       # useradd –g 200 –u 201 –s /bin/csh –d /opt/info1 –m info1

       # useradd –g 200 –u 202 –s /bin/csh –d /opt/info2 –m info2

      

       修改/etc/hosts/etc/services文件增加以下内容

       /etc/hosts文件

       192.168.80.31   netsky  netsky.localdomain       netsky          

 

       /etc/services文件

       sqlexec1        9011/tcp

sqlexec1_net    9012/tcp

sqlexec2        9014/tcp

sqlexec2_net    9015/tcp

      

一、             安装一个用户的数据库(info1

不同版本/不同操作的数据库安装略有不同。

1)  info1登陆系统,修改用户环境变量.cshrc增加以下内容

setenv INFORMIXDIR /opt/info1

setenv INFORMIXSERVER info1_online_net

setenv ONCONFIG onconfig.info1

setenv PATH ${INFORMIXDIR}/bin:${PATH}

 

# 以下内容非必须,目的是在用户环境时显示当前用户和目录

set prompt="<\! `hostname` [`whoami`] :$cwd>"

alias cd 'cd \!*; set prompt="<\! `hostname` [`whoami`] :$cwd>"'

2)  安装informix数据库

1.    info1用户解压缩informix安装包(informix.cpio

% cpio –icvdum < informix.cpio

2.     相关文件的建立和目录权限更改

# cd /opt

# chown informix info1;chmod 755 info1

# cd /opt/info1;mkdir dbs;cd dbs;touch rootdbs fullbak;chown informix:informix rootdbs fullbak;chmod 660 rootdbs fullbak

# cd /opt/info1;source .cshrc

3.      检查当前环境安装informix

# env                            --检查是否.cshrc里的变量已经生效

# ./installserver        --一路回车即可,运行完成后会提示做下一步。

# ./RUN_AS_ROOT.server

3)  复制~/etc/sqlhosts.std文件为~/etc/sqlhosts并修改增加以下内容

info1_online            onipcshm              netsky     sqlexec1

info1_online_net      onsoctcp        netsky     sqlexec1_net

 

info2_online            onipcshm              netsky     sqlexec2

info2_online_net      onsoctcp        netsky     sqlexec2_net

 

4)  复制~/etc/onconfig.std文件为~/etc/onconfig.info1并修改配置。

参照 规划 里的参数配置进行配置

TAPEDEV              ./dbs/fullbak

SHMBASE       0x44000000                   # info1保持默认,info2要注意改成其它值

 

Vi更改config.info1文件中的所有/usr/informix/opt/info1

:1,$s#/usr/informix#/opt/info1#g

 

5) 初始化数据库

Info1% oninit –ivy

初始化完成后,用onstat –m查看online.log内容,若出现

09:49:55  'sysmaster' database built successfully.

09:49:56  'sysutils' database built successfully.

09:49:56  'sysuser' database built successfully.

刚表示数据库初始化成功

二、             安装另一个数据库(info2

1)  root用户登陆到/opt/info1,执行tar包任务,将tar包复制到/opt/info2/下解压缩

# cd /opt/info1;tar –cvf info.tar *

# cd /opt/info2;cp /opt/info1/info.tar ./;tar –xvf info.tar

更改/opt/info2的目录属主为informx,权限为755.

2)  修改相关配置文件,复制/opt/info1/.cshrc/opt/info2/.cshrc下并修改属主为info2:informix,权限为644;复制~/etc/onconfig.std~/etc/onconfig.info2并按照info1数据库安装步骤的方法修改之

 

三、             配置HDR(以info1为主机,info2为备机)

info1上执行0级备份

Info1 % ontape –s –L 0

info1设置为主机,主机状态变为 On-LinePrim

Info1 % onmode –d primary info2_online_net      --info2_online_netHDR对的另一台

 

fullbak文件拷贝到/opt/info2/dbs/下(注意权限为660),在info2上执行恢复

Info2 % ontape –p          --第一个Yes/Noy,以后均为n

info2设置为备机,最后状态变为Read-OnlySec

Info2 % onmode –d secondary info1_online_net   --info1_online_netHDR对的另一台

onstat –Dr 3可监控复制过程直到Read-OnlySec)状态

 

四、             HDR切换

IDS 9.4版本的DRAUTO固定设为0,即只能手动/程序更改数据库的双机状态,IDS自带有位于~/bin目录下的hdrmkpri.shhdrmksec.sh两个脚本来更改HDR的状态。在HDR断开连接时可用这两个脚本进行HDR状态转换。下面是一个手动更改HDR状态的实例:

关闭info1数据库   (注:hdrmkpri.sh,hdrmksec.sh需用informix进行操作)

Informix % cd /opt/info1;source .cshrc

Informix % onmode –ky

info2数据库更改为主用数据库,执行完成后数据库将会DOWN下来

Informix % cd /opt/info2;source .cshrc

Informix % hdrmkpri.sh info1_online_net

info1数据库更改变备用数据库

Informix % cd /opt/info1;source .cshrc

Informix % hdrmksec.sh info2_online_net

重新启动info2数据库后将变为主用数据库

Informix % cd /opt/info2;source .cshrc

Informix% oninit –vy

 

Steps to switch server types in an HDR pair:

 

  Instance A (currently Primary)          Instance B (currently Secondary)

  ------------------------------          --------------------------------

  1] onmode -ky                              (server should be up)

                                       2] hdrmkpri.sh

  3] hdrmksec.sh

     (now a Secondary server)             4] oninit (now a Primary server)

  

更多参考:Informix管理员参考指南 V9.4

阅读(1045) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~