centos

informix在centos上的集群部署

小樊
47
2025-10-28 07:07:17
栏目: 智能运维

Informix在CentOS上的集群部署指南

一、环境准备

1. 硬件要求

准备至少2台CentOS服务器(推荐3台及以上用于高可用),确保节点间网络延迟≤1ms,磁盘IO性能满足数据库需求(如SSD存储)。所有节点需具备相同的硬件配置(CPU型号、内存大小、存储容量),避免因硬件差异导致集群不稳定。

2. 操作系统准备

二、Pre-安装配置

1. 创建Informix用户和组

以root用户执行,创建专用用户组和用户(避免使用root运行数据库):

groupadd -g 3000 informix
useradd -u 3000 -g 3000 -d /home/informix -m -s /bin/bash informix
passwd informix  # 设置强密码
chmod 755 /home/informix  # 确保用户目录可访问

2. 设置环境变量

informix用户登录,编辑~/.bash_profile文件,添加以下变量(根据实际路径调整):

export INFORMIXDIR=/opt/IBM/informix  # Informix安装根目录
export INFORMIXSERVER=infcluster1     # 集群服务器实例名(需唯一)
export ONCONFIG=onconfig.infcluster1  # onconfig配置文件名
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts.infcluster1  # sqlhosts配置文件路径
export PATH=$INFORMIXDIR/bin:$PATH    # 添加Informix命令到PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH  # 添加库路径
source ~/.bash_profile  # 立即生效

3. 下载并解压Informix安装包

从IBM官方网站下载适用于Linux的Informix安装包(如iif.14.10.FC5.Linux-RHEL8-x86_64.tar),上传至所有节点并解压:

tar -xvf iif.14.10.FC5.Linux-RHEL8-x86_64.tar -C /opt/
mv /opt/IBM/informix /opt/IBM/informix  # 规范目录名
chown -R informix:informix /opt/IBM/informix  # 设置目录所有权

三、Informix安装与基础配置

1. 执行安装程序

root用户进入安装目录,运行安装脚本:

cd /opt/IBM/informix/SERVER
./ids_install

按照向导选择“典型安装”(Typical Install),默认安装路径为/opt/IBM/informix,等待安装完成。

2. 配置onconfig文件

复制默认配置文件并修改关键参数(以onconfig.infcluster1为例):

cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.infcluster1
vi $INFORMIXDIR/etc/onconfig.infcluster1

修改以下核心参数:

3. 创建数据目录并授权

创建数据库空间目录并设置正确权限(关键:rootdbs权限必须为660):

mkdir -p /dbs
chown -R informix:informix /dbs
chmod 660 /dbs/rootdbs  # 必须设置为660,否则无法启动

4. 配置sqlhosts文件

编辑sqlhosts文件,定义数据库服务器的网络连接方式(支持IPC、TCP等):

cp $INFORMIXDIR/etc/sqlhosts.std $INFORMIXDIR/etc/sqlhosts.infcluster1
vi $INFORMIXDIR/etc/sqlhosts.infcluster1

添加以下内容(根据实际IP调整):

infcluster1 onipcshm        rouse        informix_services  # 共享内存连接(本地)
infcluster1 onsoctcp        rouse        192.168.1.100      # TCP/IP连接(远程)

其中:

5. 配置系统服务

编辑/etc/services文件,添加Informix服务端口映射:

echo "informix_services 8888/tcp # Informix Server Port" >> /etc/services

重启服务使配置生效:

systemctl restart network

四、集群管理工具配置(以Pacemaker+Corosync为例)

1. 安装Pacemaker和Corosync

在所有节点执行:

yum install -y pacemaker corosync pcs

2. 配置Corosync

编辑Corosync配置文件(/etc/corosync/corosync.conf),添加集群节点信息:

totem {
  version: 2
  cluster_name: infcluster
  transport: udpu
  interface {
    ringnumber: 0
    bindnetaddr: 192.168.1.0  # 集群网络段
    mcastport: 5405
    ttl: 1
  }
}
nodelist {
  node {
    ring0_addr: 192.168.1.100  # 节点1 IP
    nodeid: 1
  }
  node {
    ring0_addr: 192.168.1.101  # 节点2 IP
    nodeid: 2
  }
}
quorum {
  provider: corosync_votequorum
  two_node: 1  # 2节点集群启用2节点仲裁
}
logging {
  to_logfile: yes
  logfile: /var/log/corosync/corosync.log
  to_syslog: yes
}

3. 启动Corosync和Pacemaker

在所有节点启动服务:

systemctl start corosync && systemctl enable corosync
systemctl start pacemaker && systemctl enable pacemaker

验证集群状态:

crm_mon -1  # 查看集群节点状态
pcs status  # 查看Pacemaker资源状态

4. 配置集群资源

创建Informix资源(虚拟IP、数据库服务等):

# 创建虚拟IP资源(浮动IP,用于客户端访问)
pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.1.200 cidr_netmask=24 op monitor interval=30s

# 创建Informix服务资源(需编写自定义脚本)
pcs resource create infsvc ocf:heartbeat:informix \
  op monitor interval=60s \
  op start timeout=300s \
  op stop timeout=300s

# 将资源绑定到同一节点(避免脑裂)
pcs constraint colocation add vip with infsvc INFINITY
pcs constraint order vip then infsvc

5. 测试故障转移

手动停止主节点的Informix服务,观察虚拟IP是否自动切换至备用节点:

ssh 192.168.1.100 "systemctl stop informix"
sleep 10
crm_mon -1  # 检查VIP是否迁移至节点2

五、验证与测试

1. 启动Informix服务

在主节点启动Informix服务:

oninit -ivy  # 初始化并启动数据库(首次启动需用-ivy)

验证数据库状态:

onstat -  # 查看数据库概要信息
onstat -d # 查看数据库空间状态

2. 连接测试

使用dbaccess工具连接数据库(本地/远程均可):

dbaccess infcluster1 -e "SELECT 1;"  # 本地连接
dbaccess -h 192.168.1.200 infcluster1 -e "SELECT 1;"  # 远程连接(通过VIP)

3. 高可用性测试

六、监控与维护

1. 监控工具推荐

2. 日常维护

注意事项

0
看了该问题的人还看了