Ubuntu上配置Informix集群的步骤指南
确保所有集群节点满足Informix的最低硬件配置:推荐至少4GB RAM、多核CPU、足够的磁盘空间(用于数据库文件和共享存储),以及高速网络接口(如千兆以太网)。
ping命令测试节点间的连通性);oninit端口9088、sqlhosts端口1526等),避免防火墙拦截。以root用户执行以下命令,创建专用的informix用户及组,并设置家目录:
groupadd -g 3000 informix
useradd -u 3000 -g 3000 -d /opt/IBM/informix -m informix
passwd informix # 设置强密码
切换至informix用户,编辑其家目录下的.bash_profile文件,添加以下环境变量(根据实际安装路径调整):
export INFORMIXDIR=/opt/IBM/informix # Informix安装根目录
export INFORMIXSERVER=informix_cluster # 集群实例名
export ONCONFIG=onconfig.informix_cluster # 实例配置文件名
export PATH=$INFORMIXDIR/bin:$PATH # 添加Informix命令到PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH # 添加库路径
执行source ~/.bash_profile使配置立即生效。
.tar.gz格式);/opt/IBM目录:tar xvf informix_install_package.tar.gz -C /opt/IBM
informix用户,运行安装脚本:cd /opt/IBM/informix/SERVER
./installserver # 按照交互式提示完成安装
创建数据库数据目录(如rootdbs用于存储系统数据库),并设置正确的权限:
mkdir -p /opt/IBM/informix/data
touch /opt/IBM/informix/data/rootdbs # 系统数据库空间文件
chmod 660 /opt/IBM/informix/data/rootdbs
chown informix:informix /opt/IBM/informix/data/rootdbs
复制onconfig.std模板文件为实例专属配置文件(如onconfig.informix_cluster),修改关键参数:
cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.informix_cluster
vi $INFORMIXDIR/etc/onconfig.informix_cluster
重点修改以下参数:
DBSERVERNAME=informix_cluster # 数据库服务器实例名(需与INFORMIXSERVER一致)
ROOTPATH=/opt/IBM/informix/data/rootdbs # 系统数据库空间路径
ROOTSIZE=100000 # 系统数据库空间初始大小(页数,每页2KB)
PHYSDBS=/opt/IBM/informix/data # 物理数据库空间目录
LOGPATH=/opt/IBM/informix/data # 日志文件目录
LOGSIZE=2000 # 日志文件大小(页数)
NETTYPE=soctcp,1,50,CPU # 网络类型(TCP/IP)及线程配置
编辑$INFORMIXDIR/etc/sqlhosts文件,添加集群节点的网络连接信息(如本地节点和远程节点):
vi $INFORMIXDIR/etc/sqlhosts.informix_cluster
示例配置(本地节点使用onsoctcp协议,远程节点替换IP和端口):
informix_cluster onsoctcp localhost 9088
remote_node onsoctcp 192.168.1.101 9088
Pacemaker用于集群资源管理,Corosync用于节点间通信。以root用户执行:
sudo apt update
sudo apt install -y pacemaker corosync pcs
编辑Corosync配置文件/etc/corosync/corosync.conf,定义集群节点和通信设置:
vi /etc/corosync/corosync.conf
示例配置(两节点集群):
totem {
version: 2
cluster_name: informix_cluster
transport: udpu # 使用UDP无IP多播
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 # 两节点集群启用快速仲裁
}
启动并启用Corosync服务:
sudo systemctl start corosync
sudo systemctl enable corosync
认证集群节点并创建资源组:
sudo pcs cluster auth node1 node2 -u hacluster -p your_password # 替换为集群用户密码
sudo pcs cluster setup --name informix_cluster node1 node2
sudo pcs cluster start --all
sudo pcs cluster enable --all
sudo pcs resource create Cluster_VIP ocf:heartbeat:IPaddr2 ip=192.168.1.200 cidr_netmask=24 op monitor interval=20s
sudo pcs resource create Informix_Service ocf:heartbeat:Informix \
INFORMIXDIR=/opt/IBM/informix \
INFORMIXSERVER=informix_cluster \
ONCONFIG=onconfig.informix_cluster \
op monitor interval=30s timeout=60s
sudo pcs constraint colocation add Informix_Service with Cluster_VIP INFINITY
sudo pcs constraint order Cluster_VIP then Informix_Service
sudo pcs cluster status # 查看集群节点和资源状态
正常输出应显示所有节点在线,资源(VIP、Informix)已启动。
切换至informix用户,执行以下命令:
onstat -i # 查看数据库服务器信息
onstat -g cl # 查看集群状态(需Informix HA组件支持)
若集群配置正确,onstat -g cl应显示集群节点已加入并同步。
9088、1526)及Corosync通信端口(5405);onconfig配置文件、数据库空间及日志文件;