Windows Server高可用集群需“底层集群+上层服务”两级协同,分四步:一、正确配置WSFC(域环境、禁IPv6、独立心跳网、验证配置、仲裁设置);二、严控SQL Server AlwaysOn(企业版、启用功能、端点权限、完整备份);三、按角色开放防火墙端口(135/445/1433/5022/3343等);四、规范存储与权限(域账户服务、文件分离、NTFS空间)。

服务器系统安装与高可用集群部署不是单点操作,而是环环相扣的工程。核心在于:环境统一是前提,网络与时钟是命脉,存储与互信是基础,而高可用组件(如Keepalived、HAProxy、MHA或Oracle RAC)只是在稳固底座上运行的逻辑层。
系统初始化与环境一致性
所有节点必须使用同一发行版和内核版本,推荐 Oracle Linux 7.9 或 CentOS 7.9(避免 CentOS 8+ 的 systemd 和网络管理变更带来的兼容风险)。安装时采用最小化镜像,分区建议:
- /boot:1GB(独立分区,确保GRUB可引导)
- swap:内存的1–1.5倍(RAC场景建议固定大小,避免动态交换影响ASM性能)
- /:剩余空间(或按需划分 /u01 用于Oracle软件、/data 用于应用数据)
安装后立即执行:
- 关闭防火墙:systemctl stop firewalld && systemctl disable firewalld
- 禁用SELinux:setenforce 0 并修改 /etc/selinux/config 中 SELINUX=disabled
- 配置阿里云或清华源:curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
- 更新并安装基础工具:yum update -y && yum install -y vim net-tools wget curl lsof telnet ntpdate
网络与时间同步关键配置
三网分离是高可用集群的生命线——尤其对RAC或Galera等强一致性系统:
- 公共网络:业务访问,配置静态IP,绑定到 eth0 或 ens192
- 私有网络:仅限节点间心跳通信(如RAC的interconnect),建议启用 jumbo frame(MTU=9000),用 ifconfig 确认
- 存储网络:FC/iSCSI/NFS挂载专用,避免与业务流量混用
时间偏差超阈值将直接导致集群分裂:
- 所有节点统一使用 chronyd(非旧版 ntpd)
- 主节点配置 makestep 1.0 -1 允许大步长校正
- 从节点指向主节点 IP,执行 chronyc sources -v 验证偏移量 ≤ 50ms
节点互信与共享资源准备
免密SSH是自动化部署和集群管理的前提:
- 在每台节点执行:ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa
- 将所有节点公钥汇总到一个 authorized_keys,分发至各节点 ~/.ssh/ 目录
- 测试:ssh node1 date; ssh node2 free -h —— 应无密码返回结果
共享存储依场景选择:
- RAC/Oracle ASM:需光纤或iSCSI提供多路径LUN,用 udev 规则绑定为 /dev/asm-disk1 等稳定名
- Web/MySQL集群:可用 NFS(主节点启服务,其余节点 mount -t nfs4)或 DRBD 同步块设备
- 无论哪种方式,都需验证读写权限与I/O稳定性:dd if=/dev/zero of=/shared/test bs=1M count=1024 oflag=direct
高可用组件部署要点
不同角色选用不同方案,但配置逻辑相通:
- 负载均衡层(Nginx + Keepalived):VIP配置中 virtual_router_id 必须全集群唯一;健康检查脚本返回非0即触发切换;主备 priority 差值建议 ≥10 防抖动
- 数据库层(MySQL MHA/Galera):MHA Manager需单独部署(不与DB同机);Galera需确保 wsrep_cluster_address 中主机名能被所有节点解析,且 gcomm:// 后不带端口
- Oracle RAC:SCAN 名称必须在DNS或所有节点 hosts 中解析;OCR磁盘组必须用外部冗余(EXTERNAL),且至少3个投票盘;root.sh 执行严格按顺序,第二节点需等待第一节点成功后再运行
部署完成后,务必执行跨节点连通性验证、VIP漂移测试、服务进程存活检查及日志轮转策略配置。

















