场景:我们在 EC2 中运行大型(集群中总共 3TB)Solr 安装。我只关心读取方面的磁盘性能。我们怀疑我们受到磁盘 I/O 的限制,特别是当 EBS 卷决定变得不稳定和变慢时会遇到问题。
我正在考虑尝试 RAID 1。据我了解,Linux 软件 RAID 会在磁盘之间拆分读取,但我不确定它有多聪明。如果 RAID 1 对中的一个磁盘在读取时备份,它会向另一个磁盘发送更多读取吗?如果读取挂起的时间过长,它会重新安排读取到另一个磁盘吗?
我想不出任何方法来测试这种行为。我很乐意查看代码,但我什至不确定这是否会由 I/O 调度程序处理,或者它是否是 raid 驱动程序的一部分。我找不到比软件 RAID HowTo 更深入的任何文档。