POST

SSD 缓存加速值不值:先想清楚掉电会怎样

缓存能提速,也能让数据卡在中间。写缓存模式选错,掉一次电就够你后悔。

用 SSD 给机械盘做缓存,是 NAS 上常见的加速手段。但缓存分读写两种,安全性差别很大。

缓存在做什么

  • 读缓存:把常访问的数据放到 SSD 上,下次读取直接命中,快;
  • 写缓存:数据先写进 SSD,稍后再刷进机械盘,写入变快。

读缓存出问题最多是少命中几次,写缓存出问题可能丢数据。

三种常见模式

只读缓存:SSD 只加速读,写入仍然直接落机械盘。安全,掉电不丢。

读写缓存:读和写都经过 SSD。快,但 SSD 里的脏数据还没落盘就断电,这部分就丢了。

写回(write-back)与写穿(write-through):

  • 写穿:数据同时写 SSD 和机械盘,安全但慢;
  • 写回:先写 SSD 就返回成功,之后再刷盘,快但有风险。

掉电会怎样

写缓存模式下的风险链条:

  1. 数据写进 SSD,系统认为已完成;
  2. 还没刷到机械盘;
  3. 断电 / 崩溃;
  4. SSD 里的脏数据丢失;
  5. 更糟的是,文件系统元数据可能不一致,导致整个卷出问题。

所以用读写缓存,必须配 UPS。这不是建议,是前提。

什么时候值得开

  • 多用户、小文件密集:收益明显;
  • 数据库、虚拟机镜像:随机读写多,缓存帮助大;
  • 只是存影视、偶尔拷贝:收益有限,别折腾;
  • 单盘大文件传输:缓存救不了顺序读写的瓶颈。

SSD 本身的要求

  • 用企业级或者高耐久的消费级,别用廉价垃圾盘;
  • 缓存盘写坏了,如果做的是读写缓存且没冗余,可能影响整个卷;
  • 缓存盘也需要 SMART 监控,它的寿命通常比机械盘短。

配了之后要注意

  • 关机前让系统正常刷盘,别直接断电;
  • UPS 要真的能撑到关机完成;
  • 定期看缓存命中率,命中率低说明配了也没用;
  • 系统更新、意外重启后检查一下有没有异常日志。

常见的坑

开了写缓存没 UPS:一次跳闸就可能毁卷。

缓存盘容量太小:命中率低,白花钱。

以为 SSD 越多越快:缓存有命中率上限,超过工作集大小就没意义。

缓存盘单独挂掉:如果是读写缓存 RAID0,可能连带整个存储池不可用。

小结

SSD 缓存不是「装上就快」的魔法,是一笔用风险换性能的交易。

没有 UPS 就别碰读写缓存;只读缓存几乎无风险,收益看场景。

👁 - 次浏览

留言

← 返回首页