sudo yum update -y)。ping命令验证);关闭防火墙或开放Informix相关端口(默认50000、55000等):sudo firewall-cmd --permanent --add-port=50000/tcp,sudo firewall-cmd --reload。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
export PATH=$INFORMIXDIR/bin:$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,可选择自定义路径)。
onconfig文件($INFORMIXDIR/etc/onconfig.ifxserver):ROOTNAME=rootdbs # 根数据库空间名
ROOTPATH=/informix/data/rootdbs # 根数据库空间路径(需为共享存储)
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 pcs fence-agents-all resource-agents corosync
编辑Corosync配置文件(/etc/corosync/corosync.conf),添加以下内容(替换为节点IP):
totem {
version: 2
cluster_name: informix_cluster
transport: udpu
}
nodelist {
node {
ring0_addr: 192.168.1.101 # 节点1 IP
nodeid: 1
}
node {
ring0_addr: 192.168.1.102 # 节点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
}
启动并启用Corosync服务:
sudo systemctl start corosync
sudo systemctl enable corosync
初始化Pacemaker集群:
sudo pcs cluster auth node1 node2 -u hacluster -p yourpassword # 设置集群认证密码
sudo pcs cluster setup --name informix_cluster node1 node2
sudo pcs cluster start --all
sudo pcs cluster enable --all
将Informix数据库实例添加为Pacemaker资源:
sudo pcs resource create sqlserver ocf:informix:sqlserver \
sqlserver_host=192.168.1.101 \ # 主节点IP
sqlserver_port=50000 \
sqlserver_user=informix \
sqlserver_password=Informix123 \
sqlserver_db=mydatabase \
op monitor interval=30s
设置资源约束,确保Informix仅在主节点运行:
sudo pcs constraint order promote sqlserver then start sqlserver
sudo pcs constraint colocation add sqlserver with master master_node
sudo pcs status # 查看集群节点与资源状态
sudo onstat -g cl # 查看Informix集群状态(需登录数据库)
模拟主节点故障(如停止Corosync服务),观察资源是否自动切换至备用节点。
Informix集群需共享存储以实现数据一致性,推荐使用NFS或SAN:
nfs-utils:sudo yum install -y nfs-utils/etc/exports文件,添加共享目录:/informix_data *(rw,sync,no_subtree_check)sudo systemctl start nfs-server && sudo systemctl enable nfs-serversudo mkdir -p /informix/data && sudo mount 192.168.1.100:/informix_data /informix/dataInformix SDHA(Shared Disk High Availability)或SAHA(Shared Anywhere High Availability)可实现数据同步:
sudo yum install -y informix-sdh
sudo vi /opt/informix/etc/sdh.conf # 配置同步参数(如同步模式、日志路径)
sudo oninit -s -h # 启动SDHA服务
sudo yum install -y informix-saha
sudo vi /opt/informix/etc/saha.conf # 配置同步参数
sudo oninit -s -a # 启动SAHA服务
使用HAProxy或LVS将客户端请求分发至集群节点,提升性能:
sudo yum install -y haproxy
sudo vi /etc/haproxy/haproxy.cfg # 添加Informix监听配置
sudo systemctl start haproxy && sudo systemctl enable haproxy
dbaccess ifxserver -SELECT 1;),确认数据一致性。EXECUTE FUNCTION task("update statistics");REBUILD INDEX idx_name ON table_name;/informix/log/*.log)。informix用户对共享存储、配置文件有读写权限。rootdbs)和用户数据库,避免数据丢失。