sudo yum update -y);关闭防火墙或开放Informix相关端口(默认50000、55000等)。ping命令验证);配置/etc/hosts文件,添加集群节点IP与主机名映射(如192.168.1.101 node1、192.168.1.102 node2)。iif.14.10.FC5DE.Linux-x86_64.tar);或使用sudo yum install -y informix(若官方仓库支持)。sudo yum install -y wget tar vi(用于解压和编辑配置文件)。为Informix创建专用用户和组,避免权限问题:
sudo groupadd informix
sudo useradd -g informix -d /opt/informix -m informix
sudo passwd informix # 设置密码(如Informix123)
编辑informix用户的~/.bash_profile文件,添加以下内容(替换为实际路径):
export INFORMIXDIR=/opt/informix # Informix安装根目录
export PATH=$INFORMIXDIR/bin:$PATH # 添加Informix命令到PATH
export INFORMIXSERVER=ifxserver # 数据库服务器实例名(需唯一)
export ONCONFIG=onconfig.ifxserver # 主配置文件名
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts.ifxserver # SQL主机配置文件
使环境变量生效:source ~/.bash_profile。
解压下载的安装包并执行安装脚本:
tar -xvf iif.14.10.FC5DE.Linux-x86_64.tar
cd /tmp/informix/
./ids_install
按照安装向导提示完成安装(默认安装路径为/opt/IBM/informix,可选择自定义路径)。
$INFORMIXDIR/etc/onconfig.ifxserver):ROOTNAME=rootdbs # 根数据库空间名
ROOTPATH=/informix/data/rootdbs # 根数据库空间路径(需为共享存储,如SAN/NAS)
DBSERVERNAME=ifxserver # 数据库服务器实例名(需与ONCONFIG变量一致)
LOGSIZE=2000 # 日志文件大小(单位:页,默认4KB/页)
DATABLK=128 # 数据块大小(单位:8KB,默认128块=1MB)
sudo mkdir -p /informix/data
sudo chown -R informix:informix /informix
sudo chmod 660 /informix/data/rootdbs # 确保Informix用户可读写
执行oninit命令初始化数据库实例:
sudo -u informix oninit -ivy # -i:初始化,-v:显示详细日志,-y:自动应答yes
初始化成功后,通过onstat -命令查看数据库状态(显示“Database server is up”即为正常)。
在所有节点上安装集群管理工具:
sudo yum install -y pacemaker corosync pcs fence-agents-all resource-agents
编辑/etc/corosync/corosync.conf文件,配置集群节点信息(以2节点为例):
totem {
version: 2
cluster_name: informix_cluster
transport: udpu
interface {
ringnumber: 0
bindnetaddr: 192.168.1.0 # 集群网络段
mcastport: 5405
ttl: 1
}
}
nodelist {
node {
ring0_addr: node1 # 节点1主机名
nodeid: 1
}
node {
ring0_addr: node2 # 节点2主机名
nodeid: 2
}
}
quorum {
provider: corosync_votequorum
two_node: 1 # 2节点集群启用2节点仲裁
}
logging {
to_logfile: yes
logfile: /var/log/corosync/corosync.log
to_syslog: yes
}
启动Corosync服务并设置开机自启:
sudo systemctl start corosync
sudo systemctl enable corosync
sudo pcs cluster auth node1 node2 # 输入节点1的root密码
sudo pcs cluster setup --name informix_cluster node1 node2
sudo pcs cluster start --all
sudo pcs cluster enable --all
sudo pcs cluster status
输出应显示所有节点为“online”状态。sudo pcs resource create Cluster_VIP ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op monitor interval=20s
ocf:informix:sqlserver):sudo pcs resource create sqlserver ocf:informix:sqlserver \
sqlserver_host=node1 \
sqlserver_port=50000 \
sqlserver_user=informix \
sqlserver_password=Informix123 \
sqlserver_db=mydatabase \
op monitor interval=30s
sudo pcs constraint colocation add Cluster_VIP with sqlserver INFINITY
sudo pcs constraint order promote sqlserver then start Cluster_VIP
ping 192.168.1.100,确认IP可达。dbaccess工具连接数据库(dbaccess mydatabase),执行简单查询(如SELECT 1;),确认数据库正常响应。sudo systemctl stop informix),观察虚拟IP是否自动切换至节点2,数据库是否继续可用。onconfig文件中的参数(如SHMVIRTSIZE、BUFFERS、LOGFILES等)。pcs status命令定期检查集群状态,或安装第三方监控工具(如Zabbix、Nagios)实现实时监控。rootdbs、datadbs)。ontape或onbar工具),避免数据丢失。