【发布时间】:2014-05-07 21:22:25
【问题描述】:
在阅读 I/O 调度程序(CFQ、noop、deadline)时,我发现其中一些(例如deadline)在写入之前对块进行排序。
在写入之前对块进行排序时,任何人都可以提示文件系统如何在电源故障中幸存下来吗?假设日志必须在文件系统级别写入数据之前运行,然后 i/o 调度程序对块进行重新排序,并且在将此批次写入块设备的过程中我们遇到了电源故障?
【问题讨论】:
在阅读 I/O 调度程序(CFQ、noop、deadline)时,我发现其中一些(例如deadline)在写入之前对块进行排序。
在写入之前对块进行排序时,任何人都可以提示文件系统如何在电源故障中幸存下来吗?假设日志必须在文件系统级别写入数据之前运行,然后 i/o 调度程序对块进行重新排序,并且在将此批次写入块设备的过程中我们遇到了电源故障?
【问题讨论】:
在日志块写入请求之后立即发出 I/O 屏障,以确保日志和最终写入之间的顺序。屏障操作受到存储系统中所有层的尊重,例如它确保在磁盘或交换机等处刷新缓存。
【讨论】: