主流方案分为冷备、温备、热备和双活四种,实际落地时按数据同步方式又可细分为共享存储、软件同步、数据库复制和虚拟化集群四类。选型核心看两个指标:RPO(允许丢失多少数据) 和 RTO(多久恢复业务),下面按技术类型、适用场景、价格成本、实操配置四个维度拆开讲。
服务器主备方案有哪些类型?四类技术各有侧重
冷备:成本最低但恢复最慢
冷备就是备机平时关机,只有主机故障时才人工启动,数据备份方式通常是定时任务拷贝,比如每天凌晨用crontab跑一次rsync或tar打包。
- 优点:硬件成本低,不需要额外软件授权
- 缺点:RTO以小时甚至天计,数据丢失风险大
- 适用场景:个人博客、内部测试环境、非核心业务
行业共识认为,冷备在2026年的企业生产环境中比例已不足一成,更多作为“最后的底牌”存在,比如配合磁带归档做异地容灾。
温备:成本与恢复速度的折中
温备的备机处于待机状态,系统已安装好,服务软件已部署,但业务流量不进入,数据同步采用准实时方式,常见做法是主备之间通过rsync加inotify监控文件变化,或者用DRBD做块级别同步。
- RTO通常在10到30分钟,RPO在5分钟以内(依赖同步间隔)
- 成本比冷备高,但比热备低一截
- 适用场景:中小型企业服务器主备配置、OA系统、进销存系统
配置温备时有一个关键操作:备机要定期做切换演练,业内专家指出,超过半数企业从未真正演练过主备切换,导致真出故障时才发现脚本跑不通或密码过期。
热备:秒级切换的主流方案
热备通过共享存储或实时数据同步实现,备机与主机同时运行,时刻准备接管,常用技术栈包括:
- 共享存储方案:SAN存储 + 主机集群(如Veritas Cluster)
- 软件同步方案:DRBD + Pacemaker + Corosync组合
- 数据库级方案:MySQL主从复制、Oracle Data Guard、SQL Server Always On
- 虚拟化层方案:VMware HA、Hyper-V 故障转移集群
热备的RTO可以控制在5秒到1分钟,RPO趋近于零,切换方式分为手动和自动,自动切换依赖心跳检测,常用工具有keepalived、Pacemaker、MHA(MySQL场景)。
双活:比热备更进一步,两台机器同时干活
双活不是“一台闲着等接管”,而是两台服务器同时对外提供服务,负载均衡器按权重分发流量,某台挂了,另一台直接承担全部流量,这种模式不存在切换过程,RTO趋近于零。
但双活有硬性前提:必须解决“脑裂”问题,即两台机器网络中断时,双方都以为自己才是唯一活着的节点,解决手段包括:
- 专用心跳链路(独立网卡直连或串口线)
- 仲裁节点或仲裁盘
- 多数派投票机制
双活常见落地形态是数据库层面的主主复制加中间件路由,或者存储层的双活阵列,注意,数据库双主并发写需要额外的冲突处理机制,复杂度很高。
服务器高可用方案怎么选?按业务场景匹配
核心数据库容灾
财务系统、订单系统这类业务,数据丢失是灾难性的,首选数据库原生复制方案:
- MySQL:半同步复制或Group Replication
- PostgreSQL:流复制加自动故障转移(Patroni)
- Oracle:Data Guard配置为最大保护模式
这类方案要求在应用层或中间件层配置连接池自动切换,比如用ProxySQL或VIP漂移。
Web服务无状态集群
Nginx或Apache这类无状态服务,不需要做传统主备,直接多节点负载均衡更合理,用Nginx upstream加健康检查,配合Keepalived管理VIP:
- 两台Web服务器都跑着服务
- Keepalived负责VIP漂移,主机挂了备机1秒内接管IP
- 后端数据库仍需要单独的主备保障
这种方式避免了主备切换时Session丢失的问题,建议把Session存到Redis,进一步解耦。
中小型企业服务器主备配置清单
给正在规划的企业一个可落地的最小清单:
- 两台同配置服务器(建议品牌机,避免兼容性问题)
- 一台入门级共享存储或直接用DRBD做存储镜像
- 操作系统层装Pacemaker + Corosync,或买商业HA软件
- 至少一条独立心跳线路
- 每季度做一次切换演练,记录实际RTO
杭州服务器运维主备的本地化考量
国内地域差异对主备选型影响不小,在杭州做机房级容灾,可以考虑跨可用区部署:主节点在城西机房,备机放城东机房,中间用运营商专线打通。
同城双活是近年来一线城市企业上云的常见诉求,简米云和酷番云都提供跨可用区的部署方案,注意专线的延迟必须在10ms以内,否则MySQL半同步复制会拖慢主库性能,如果预算有限,也可以直接买云上的“多可用区部署”实例,省去自建机房的物理链路成本。
主备服务器价格贵吗?先看选型再定预算
硬件层面的成本构成
| 方案类型 | 硬件投入 | 软件授权 | 运维成本 | 典型月支出(含折旧) |
|---|---|---|---|---|
| 冷备 | 低(旧机器即可) | 无额外 | 低 | 500-2000元 |
| 温备 | 中(同配置备机) | 低或无 | 中 | 2000-8000元 |
| 热备 | 高(共享存储+软件) | 较高 | 高 | 8000-30000元 |
| 双活 | 最高(双倍资源+负载均衡) | 高 | 很高 | 30000元以上 |
上表是估算值,不含带宽和机柜费用,云服务器的价格逻辑核心是“备机只付基础实例费”,比如酷番云或简米云的两台同配置云主机加HA软件,备机处于待机状态时流量费较低。
隐性成本不可忽略
- 授权成本:如果数据库用Oracle或SQL Server,双节点必须买两套授权,仅Oracle标准版两节点授权费就是几十万级别,选型时优先考虑MySQL或PostgreSQL可大幅压降成本。
- 带宽成本:数据实时同步产生的增量流量,跨地域时按GB计费
- 人力成本:配置、维护、演练需要专人投入,这部分通常是硬件成本的3倍以上
预算有限时的省钱路径
- 用DRBD替代SAN存储,省掉存储阵列的采购费用
- 备机用降配机器(内存可低一档,但要保证能撑住业务)
- 用脚本做分钟级同步,代替商业HA软件
- 把备份投到异地冷存储(如OSS低频访问),替代热备站点
主备切换实操配置步骤
共享存储型HA配置要点
以Linux平台最常见的“SAN + RHCS集群”为例:
- 两台机器安装ricci和luci,配置集群管理
- 配置fence设备(IPMI或物理电源开关),务必在测试环境先验证fence效果
- 挂载共享存储的LV,启动集群资源管理器
- 测试切换:关闭主机电源,观察备机是否在预期时间内接管VIP和文件系统
DRBD作为存储层起步操作
# 两台机器分别执行 modprobe drbd drbdadm create-md r0 drbdadm up r0 # 主机上把r0设为primary并格式化文件系统 drbdadm primary --force r0 mkfs.ext4 /dev/drbd0 # 备机保持secondary状态,需要同步时主备间建立连接 watch -n1 cat /proc/drbd # 观察同步进度,直到状态全为UpToDate
Keepalived实现两台Nginx高可用
# /etc/keepalived/keepalived.conf 核心段
vrrp_instance VI_1 {
state MASTER # 备机改为BACKUP
interface eth0
virtual_router_id 51
priority 100 # 备机改为90
advert_int 1
virtual_ipaddress {
192.168.1.100 # VIP地址
}
}
配置注意:不要用默认的组播模式跨交换机跑,建议修改为单播方式指定对端IP,避免广播风暴影响。
主备技术常见问题解答
Q:服务器主备和负载均衡有什么区别?
主备是“一台干活,一台等替”,同一时间只有一台承担业务;负载均衡是“多台一起干活,流量分摊”,互为后援,数据库场景需要主备,Web静态资源场景优先负载均衡,两者也可以叠加使用,比如负载均衡集群后面的数据库节点做主备。
Q:做服务器主备至少需要几台机器?
最少两台同架构的物理机或云主机,如果预算只够一台,先用快照加定时备份,这在故障时只能达到冷备级别的恢复目标,建议额外准备一台不在同一机架的“仲裁机”,用于解决脑裂场景下备机自动接管的问题。
Q:主备模式切换过程中业务会中断吗?
会,但中断时长取决于方案,共享存储型热备的切换耗时集中在主机关机确认和VIP漂移上,通识范围内约5到30秒;应用层如果额外做了MQ缓冲或双写队列,业务可以做到基本无感知,这套流程的完整落地,依赖应用层设计时就把数据库连接池和VIP地址做参数化。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/694632.html





