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 # 數據塊大?。▎挝唬?KB,默認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)和用戶數據庫,避免數據丟失。