linux – 使SATA磁盘写缓存安全

前端之家收集整理的这篇文章主要介绍了linux – 使SATA磁盘写缓存安全前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
据推测(参见例如 a question about it here),启用NCQ的驱动器,驱动器写入缓存应该是安全的,因为它不会向操作系统提供关于数据被提交到盘片的情况.我正在试图找出使这成为现实所需的设置.

我正在使用diskchecker.pl来确认是否所有的块都能通过电源插头拉出来.服务器配置如下:

> 4x ST3500514NS在Linux MD RAID10中运行.英特尔3420芯片组.在AHCI模式下.
> LVM在RAID10上运行.
>经过测试的文件系统是逻辑卷上的ext4(barrier = 1,data = ordered).我也尝试直接在逻辑卷(块设备)上进行测试;这没有帮助.
> Debian 6.0(挤压);内核2.6.32-5-amd64

如果我关闭写缓存(hdparm -W0),那么它的工作原理(性能损失很大).所以看起来上层是有能力的.

我已尝试在libata中启用FUA(通过将fua = 1传递给模块加载,并通过dmesg确认),这没有帮助.

有关如何使这项工作的任何建议?

编辑:找到原因(见我的回答);关于如何获得至少部分性能的任何建议?

解决方法

升级到内核2.6.38-2-amd64(来自sid)可以解决这个问题,代价是巨大的性能损失(非常类似于关闭写缓存).

对此进行一些研究,似乎MD不支持I / O障碍(RAID1除外)直到2.6.33-rc1(提交a2826aa92e2e14db372eda01d333267258944033).

猜你在找的Linux相关文章