1.
总体架构与需求评估
- 确认业务RPO/RTO(恢复点/恢复时间)要求。
- 决定架构:Active-Active或Active-Passive;是否需要跨机房异地容灾(台湾内部建议主用北部+南部或跨岛点)。
- 列出依赖:数据库、文件存储、缓存、负载均衡器、DNS。
2.
服务器硬件选型要点
- 双电源、ECC内存、支持IPMI/iLO远程管理以便断电/重启。
- 多网口支持NIC Teaming/Bonding(至少2个以上千兆或1个10Gb)。
- 热插拔盘位、RAID卡或软件RAID能力;推荐RAID1/10用于系统盘、RAID6或Ceph用于对象/块存储。
3.
网络与机房选项(台湾特有考虑)
- 机房选择:本岛双点或混合云(如台北机房 + 云端备援)。
- 网络冗余:不同运营商链路,VLAN隔离管理流量与心跳流量(心跳建议独立私网)。
- 设置MTU、路由冗余(VRRP/Keepalived)与防火墙规则。
4.
存储与同步策略
- 对共享存储:可用iSCSI + multipath、NAS(NFS)或Ceph分散式存储。
- 对数据库:主从同步(MySQL主从或GTID)、或使用Galera/Percona XtraDB Cluster。
- 块级复制可用DRBD(双活/主从),示例安装:apt install drbd-utils(Ubuntu)/yum install drbd(CentOS)。
5.
高可用软件栈配置(举例:Pacemaker+Corosync+DRBD)
- 安装:Ubuntu举例:apt update && apt install pacemaker corosync pcs fence-agents drbd-utils -y。
- 配置Corosync:编辑 /etc/corosync/corosync.conf,设定bindnetaddr为心跳网段,复制到所有节点。
- 使用pcs管理:systemctl enable --now pcsd && echo hacluster:password | chpasswd(设置集群用户),pcs cluster auth node1 node2 -u hacluster -p password,pcs cluster setup --name hacluster node1 node2,pcs cluster start --all。
6.
Keepalived用于VIP与L4故障切换
- 安装:apt install keepalived 或 yum install keepalived。
- 配置示例(/etc/keepalived/keepalived.conf):设置virtual_ipaddress并用health_check脚本监测后端服务状态。
- 测试:关闭主节点服务,观察VIP漂移到备节点:ip addr show 可确认VIP。
7.
故障隔离与STONITH(电源隔离)
- 必须配置STONITH防止脑裂:使用IPMI/DRAC/iLO等作为stonith fence agent。
- pcs stonith create myfence fence_ipmilan ipaddr="10.0.0.100" login="admin" passwd="pass" lanplus="1"。
- 测试强制关机与自动重定位资源,确保资源在被隔离节点上不会被错误激活。
8.
自动化脚本与监控
- 编写健康检查脚本(检查数据库连接、文件系统挂载、服务端口),Keepalived或Pacemaker调用。
- 部署Prometheus+Grafana或Zabbix监控集群状态、延迟、磁盘与链路。
- 添加报警策略(LINE/Slack/Email/SMS),并定期演练恢复流程。
9.
测试与演练步骤(必做)
- 1) 模拟服务进程故障:systemctl stop app.service,观察是否自动接管并重新调度。
- 2) 模拟节点故障:shutdown -h now 在主节点上,看VIP与资源是否在30-60秒内切换。
- 3) 模拟网络分区:断心跳网口,观察STONITH触发与资源是否仍保持一致性。记录RTO并调整参数。
10.
运维细节与合规注意
- 时间同步(chrony/ntp)统一,避免因时间差触发错误故障转移。
- 日志集中(ELK/Graylog)便于分析。
- 在台湾部署需考虑电力稳定、自然灾害(地震)应对策略与备援机房物理隔离。
11.
Q1:在台湾部署,需要优先买哪些服务器硬件?
- 答:优先选择具备双电源、ECC内存、远程管理(IPMI/iLO)、多网口与热插拔盘位的机架服务器,确保电源与网络冗余,满足本地机房环境与灾备需求。
12.
Q2:如何验证故障自动恢复真正可用?
- 答:通过标准化演练:模拟服务进程故障、节点关机、网络隔离与存储故障,分别验证VIP漂移、资源迁移时间与数据一致性,并记录RTO/RPO以满足SLA。
13.
Q3:台湾本地与云端混合部署有何建议?
- 答:关键服务可在本地双点部署并同步到云(跨区域备援),利用云提供商的跨区复制与备份,结合本地低延迟服务节点实现快速故障转移与异地恢复。
来源:高可用集群需求下台湾要什么服务器保证故障自动恢复能力