我有 3 台服务器,将用于新的 Ceph 集群。这是我的第一个 Ceph “游乐场”...每台服务器都有 2 个 1TB 和 6 个 2TB 硬盘,连接到两个独立的 4 通道 SAS 控制器,每个控制器都有 1GB 缓存 + BBU,所以我计划优化这些服务器以提高吞吐量。
前两个磁盘将用作操作系统和日志的 RAID-1 阵列(仍在研究中)。
驱动器 3 至 8 将作为单独的 RAID-0 设备公开,以便利用控制器缓存。然而,我对最佳三重大小感到困惑,因为我以后无法更改它,否则会丢失数据,所以我决定在这里提问。有人能解释一下吗?控制器 (LSI 9271-4i) 的默认值为 256k。我看到一些文档提到stripe width
(例如这里)默认为 64kb,但我对此仍不确定。有趣的是,没有关于这个主题的讨论。可能是因为许多人在 JBOD 模式下运行此类设置,或者因为这并不那么重要……
因为这是我的第一个集群,所以我将尽可能坚持使用默认设置。
答案1
一年前我们也做过同样的决定。根据本文,在某些情况下,使用 RAID 0 可能会提高性能。根据 CEPH 硬盘和 FS 建议,建议禁用硬盘磁盘缓存。所以我觉得这两篇文章的要点放在一起:最好使用 JBOD 并禁用硬盘的写入缓存。
答案2
MaksaSila 大部分是正确的,但有些误解。驱动器缓存本身应该禁用写入缓存,因为它不是由电池供电的。不过,使用由电池供电的 SAS 控制器进行 RAID0 写入缓存是可以的,并且有助于提高性能,这与驱动器自己的内部写入缓存不同(我同意应该禁用它)。