首页/系统/服务器硬件与 RAID 速查/内存镜像(Memory Mirroring)模式
内存与电源72 条

内存镜像(Memory Mirroring)模式

内存镜像在通道/控制器之间保存互为副本的数据:换取更高的可恢复性,代价是可用容量下降,适用于对可用性要求高的场景。

内存镜像模式的取舍

内存镜像(Memory Mirroring)在两组内存之间保存互为副本的数据:正常读写同时写入两侧,读可以来自任意一侧,一旦一侧出现不可纠正的错误,系统仍能继续运行。它换来的是更高的可用性,代价是可用容量大幅下降——两组内存里只有一组是有效容量。这里要区分它与 ECC 的关系:ECC 处理颗粒级的位错误并纠正,镜像应对的是通道或控制器级的失效,两者是叠加而非替代。

基本信息

适用场景对可用性要求高于内存容量的业务
实现原理两组内存保存相同数据互为副本
容量代价可用容量显著下降(按平台实现,通常约一半)
配置位置BIOS 中内存 RAS 相关配置项
前提条件按手册要求插满对应通道且配置对称
验证方式上电后核对系统可用容量与模式状态

典型使用场景

  • 金融交易、核心数据库等对停机极为敏感的业务
  • 内存容量有余但可用性要求高的场景
  • 故障演练:配合单侧故障注入验证切换行为
  • 评估阶段:比较镜像与备用等 RAS 模式的实际代价
  • 验收核对:确认交付机器的 RAS 模式与设计一致

核对容量与模式

核对容量与模式
# BIOS:在内存 RAS 配置中开启镜像(菜单路径随机型不同)
# 开启前后对比系统可见容量与主板支持上限
dmidecode -t 16 | grep -i 'Maximum Capacity'
dmidecode -t 17 | grep -E 'Size|Locator' | head -20
# 系统侧查看实际可用内存
free -h | head -2
# 与 NUMA 分布对照,确认两组镜像内存跨节点分布情况
numactl --hardware | head -20

RAS 模式对照

模式机制容量代价
ECC纠正单比特错误并检测多比特错误无额外容量损失
镜像两组内存互为副本可用容量明显下降
备用(Sparing)保留备用内存用于替换故障区域按配置比例损失
锁定步进(Lockstep)两侧同步执行并比对结果需按平台支持情况核对
镜像与 ECC 是叠加关系而不是替代关系:ECC 负责纠正颗粒级位错误,镜像负责在一侧通道或控制器失效时保住可用性。
开启镜像会改变可用容量:系统重启后操作系统看到的内存会明显减少,若未提前与业务方确认,可能被误判为硬件故障或配置错误。

易错点

  • 开启后不核对容量:与采购记录的容量对不上,验收出现争议
  • 与备用、锁定步进等模式混用:能力组合需按平台手册验证,不能凭直觉叠加
  • 插槽分布不对称就开启:模式无法启用或静默降级
  • 不告知业务方:系统可用内存变化被误判为故障

数据来源与参考

  • 厂商内存 RAS 配置指南(通用)
  • Intel/AMD 平台 RAS 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌