在 JBOD 或 RAID 上使用 LVM,是否可能推荐?

The use of LVM over JBOD or RAID, is possible or not recommended?

我正在安装 5 节点 Cassandra 安装,每个节点将有 10 个 SSD 1.9 TB 驱动器可用。我想用LVM把10个驱动器组合起来,分配每个节点需要的磁盘space。

我能找到的关于 Cassandra 的唯一文档是 JBOD 或 RAID。我可以使用 LVM 还是会在 Cassandara 中引起问题?

在我开始之前,这更像是一个信息性问题,我还没有真正尝试过任何东西。

是的,您可以使用 LVM,我们已经在我们的一个集群中这样做了。如果使用 LVM,请确保设备是条带化的而不是线性的。如果您使用线性,第一个设备将被消耗,然后是第二个,然后是第三个,等等。因此,许多设备可能闲置而其他设备非常忙碌。在条带模式下使用 LVM 的缺点是,如果您必须修改配置(增加或缩小 LVM 大小),则不能(即不能扩展条带卷)。我们也使用了 JBOD。使用 JBOD,您将在每台设备上复制目录,有时 sstables 将驻留在一个 v.s 上。另一个 - 不可预测且有点 "messy"。由于 sstables 驻留在设备上,因此您也不会真正得到 "striping" 。 sstables 试图在设备之间均匀分布。此外,由于单个设备较小,如果其中一台设备上没有足够的空间来压缩现有的 sstable,您可能 运行 会遇到 space/compaction 问题。所以就我个人而言,我会选择 LVM,因为它更干净。我相信您可能会发现使用 LVM 会带来一些轻微的开销,因为我相信 LVM 可能会在执行某些操作之前对其进行批处理,但这对我来说似乎并不重要。对我来说,LVM 有点少 "messy".

-吉姆