这些系统旨在插入和移动.以下是每个层处理I / O的方式.
OS
当I / O子系统实际提交内容时,写入会在RAM中暂时缓存(脏页).提交写入后,页面将被缓存,以防再次立即读取.操作系统缓存不维护未经注释的写入池,它维护可能需要再次读取的已经编写的写入池.实际上,它是100%读取缓存.
RAID控制器
RAID控制器的BBC从OS接收写入.根据要写入的卷的高速缓存策略(写入与回写),RAID控制器可能会在此时将写入报告为已发送.然后它会将写入队列以便命名为实际磁盘
磁盘
有些RAID卡实际上会禁用HD缓存.其他人,不.我不记得惠普是如何做到的,但如果高清缓存被禁用并且写优化逻辑被推入RAID控制器本身,我也不会感到惊讶.惠普在其驱动器上使用自定义固件是有原因的.
操作系统及其支持的文件系统非常清楚,突然断电是一种故障模式,可以在操作系统确定需要发生的时间和存储系统报告完成之间的时间内终止写入操作.我们现在已经做了一段时间了,我们擅长防御它.
由于处理元数据写入的方式,XFS文件系统在突然断电情况下的生存能力不佳.但是,它的目标环境是假定电力充足的环境.其他文件系统,ext系列,btrfs,当然还有zfs,它们也很好.
如果您在已知功率不足的环境中运行,请确保在断电期间不会丢失数据:
>使用已知对突然断电而言强大的文件系统(基本上,除了XFS之外的任何东西)
就是这样. RAID卡上的BBC可确保在恢复供电之前保留RAID缓存.磁盘缓存可能已禁用.无需调整RAID卡缓存即可全部读取.无需禁用OS块缓存.
真.