Linux下Informix集群部署详细步骤
sudo yum update -y 或 sudo apt update && sudo apt upgrade -y)。/etc/hosts文件添加节点IP与主机名映射(如192.168.1.101 node1、192.168.1.102 node2)。oninit端口为1526,SQL端口为9088-9092等):sudo firewall-cmd --permanent --add-port=1526/tcp,sudo firewall-cmd --reload。sudo yum install -y nfs-utils),编辑/etc/exports添加共享目录(如/shared_storage *(rw,sync,no_subtree_check)),启动服务(sudo systemctl start nfs-server);其他节点挂载共享目录(sudo mkdir /shared_storage,sudo mount 192.168.1.100:/shared_storage /shared_storage)。groupadd informix # 创建informix用户组
useradd -g informix -d /opt/informix -m informix # 创建informix用户,家目录设为/opt/informix
passwd informix # 设置密码
mkdir -p /opt/informix/storage # 创建数据库存储目录
chown -R informix:informix /opt/informix # 设置目录权限
~/.bash_profile(或/etc/profile),添加以下内容:export INFORMIXDIR=/opt/informix # Informix安装目录
export PATH=$INFORMIXDIR/bin:$PATH # 添加bin目录到PATH
export ONCONFIG=onconfig.$INFORMIXSERVER # onconfig配置文件名(需与INFORMIXSERVER一致)
export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts.$INFORMIXSERVER # sqlhosts配置文件名
source ~/.bash_profile # 使环境变量生效
iif.14.10.FC5.Linux-RHEL7.tar)。tar -xvf iif.14.10.FC5.Linux-RHEL7.tar,cd iif.14.10.FC5.Linux-RHEL7。./ids_install,按照向导选择“典型安装”(包含数据库引擎、客户端工具等)。/opt/informix/etc/onconfig.std)并重命名(如onconfig.ifxserver),修改关键参数:INFORMIXSERVER=ifxserver # 数据库服务器实例名(需与INFORMIXSERVER环境变量一致)
DBSERVERNAME=ifxserver # 数据库服务名
ROOTPATH=/opt/informix/storage/rootdbs # 根数据库空间路径
ROOTSIZE=30000 # 根数据库空间大小(页数,每页2KB,默认约60MB)
MIRROR=0 # 是否开启镜像(0=关闭,1=开启)
NETTYPE=soctcp,1,50,CPU # 网络类型(TCP/IP),1=协议编号,50=最大连接数
oninit -ivy命令(-i初始化数据库,-v显示详细日志,-y自动应答确认),初始化完成后数据库会自动启动。sudo yum install -y pacemaker corosync pcs fence-agents-all resource-agents # CentOS/RHEL
sudo apt install -y pacemaker corosync pcs fence-agents resource-agents # Ubuntu/Debian
/etc/corosync/corosync.conf,添加集群节点信息(以2节点为例):totem {
version: 2
secauth: on
cluster_name: informix_cluster
transport: udpu # 使用UDP无端口转发(适用于同一局域网)
}
nodelist {
node {
ring0_addr: node1 # 节点1主机名
nodeid: 1
}
node {
ring0_addr: node2 # 节点2主机名
nodeid: 2
}
}
quorum {
provider: corosync_votequorum
two_node: 1 # 2节点集群启用快速仲裁
}
logging {
to_logfile: yes
logfile: /var/log/corosync/corosync.log
to_syslog: yes
}
sudo systemctl start corosync # 启动Corosync
sudo systemctl enable corosync # 设置开机自启
sudo systemctl start pacemaker # 启动Pacemaker
sudo systemctl enable pacemaker # 设置开机自启
sudo pcs cluster auth node1 node2 -u hacluster -p yourpassword # 替换为集群用户密码
sudo pcs cluster setup --start --name informix_cluster node1 node2 # 初始化集群并启动
sudo pcs resource create Cluster_VIP ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op monitor interval=20s # 创建虚拟IP(VIP)
sudo pcs resource create informix ocf:informix:sqlserver \
sqlserver_host=node1 \
sqlserver_port=9088 \
sqlserver_user=informix \
sqlserver_password=yourpassword \
sqlserver_db=informixdb \
op monitor interval=30s timeout=60s # 创建Informix资源
sudo pcs constraint colocation add informix with Cluster_VIP INFINITY # 绑定VIP与Informix资源
sudo pcs constraint order promote Cluster_VIP then informix # 设置启动顺序(先启动VIP再启动Informix)
sudo pcs cluster status # 查看集群节点与资源状态
sudo crm_mon -1 # 实时监控集群资源变化
informix-sdh包(sudo yum install -y informix-sdh),编辑/opt/informix/etc/sdh.conf配置锁服务器IP,启动服务(sudo oninit -s -h)。informix-saha包(sudo yum install -y informix-saha),编辑/opt/informix/etc/saha.conf配置主备节点信息,启动服务(sudo oninit -s -a)。sudo onmode -ky),观察备节点是否自动接管(通过sudo pcs status查看资源状态,确认Informix资源已切换至备节点)。dbaccess -conn "host=192.168.1.100;server=ifxserver;database=informixdb;uid=informix;pwd=yourpassword" informixdb。SELECT * FROM systables;),确认数据一致性。dbexport导出数据,ontape备份数据库空间)。