Linux 上的后台刷新发生在有太多写入数据待处理(可通过 /proc/sys/vm/dirty_background_ratio 调整)或达到待处理写入超时(/proc/sys/vm/dirty_expire_centisecs)。除非达到另一个限制(/proc/sys/vm/dirty_ratio),否则可能会缓存更多写入的数据。进一步的写入将被阻止。
理论上,这应该创建一个后台进程写出脏页而不会干扰其他进程。实际上,它确实会干扰任何进行非缓存读取或同步写入的进程。糟糕。这是因为后台刷新实际上以 100% 的设备速度写入,此时任何其他设备请求都将被延迟(因为路上的所有队列和写入缓存都已填满)。
有没有办法限制刷新过程每秒执行的请求数量,或者以其他方式有效地优先考虑其他设备 I/O?
一方面是 SATA 和 SAS 磁盘之间的当前价格差异,另一方面是 SATA 磁盘在更大存储阵列中的潜在不良行为,我发现了所谓的SATA 到 SAS 插入卡。
宣传为“将 SAS 功能无缝添加到现有 SATA 磁盘驱动器”,我想知道这里是否有人对这些或类似产品有过一些经验。我可以确定的主要好处是增加了电缆电压(如果所有驱动器都连接了 SAS),能够对驱动器和多路径(如果需要)进行电源循环。显然 SATA 驱动器仍然必须是 RAID 版本。
问题是:这些卡确实提高了存储系统的整体可靠性,还是SATA磁盘出现故障会导致问题?
编辑:我不是在要求假设的答案,只是请实际经验。
我很清楚典型的 10k SAS 驱动器比 7200 SATA 驱动器更可靠(并且性能更好)。但是,物理上与其 SATA 对应的磁盘相同的近线 SAS 与带有内插器的 SATA 版本相比如何?