据推测(参见例如
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确认),这没有帮助.
有关如何使这项工作的任何建议?
编辑:找到原因(见我的回答);关于如何获得至少部分性能的任何建议?