这有点罗嗦,所以请忍受我。 🙂
我们有一个由3个Oracle 11gR2服务器组成的RAC集群,并购买了这些服务器的FusionIO ioDrive2 PCIx卡作为OracleDB的Flash Cache。 这些服务器运行我们的生产数据库实例和更小的开发数据库。 我们希望将这两个实例configuration为使用这些设备作为它们的Flash Cache,dev db具有更小的尺寸。
我的理解是,只有1个设备可以configuration为Flash Cache的目的地。
同时,这个ioDrive2设备支持所谓的“虚拟控制器”。 它基本上把这个设备分成2个IOPs(总的组合带宽保持不变)。
所以把整个图像放在一起:我需要2个分区,每个分区实例一个。 如果我使用“虚拟控制器”,我将有2个同样大小的驱动器。
我正在考虑的是使用LVM将2个虚拟控制器合并为1,然后为每个分区合并一个卷。

LVM会带来多less性能和pipe理开销? 有没有什么警告我应该知道这个设置? 有没有更好的方法来处理这种情况?
我正在做与其他产品类似的事情,但是你想要做的事情实际上是相当低的开销。 我使用的设备为每个PCIe卡提供了四个“驱动器”,并使用MDRAID将其转换为RAID0设备,在此设备上,LVM对于我来说工作得非常好。 你丢失了元数据的一些块,但是内核中的I / O代码path实际上是非常优化的。
这里的警告是“RAID0”的事情。 我有一个虚拟的“驱动器”在我身上失败,这确实使我失去了整个卡(没关系,这个服务是为了容忍整个节点的故障而devise的)。 我不知道Oracle的闪存caching,所以我不能告诉你它是否容忍这样的故障。
我不认为这里的任何人都可以告诉你会有多less性能开销。 这真是一个考验和观察的情况。 我会假设所有其他的平等,会有一个性能增益。
你有什么规格的主机系统? 当我在多个FusionIO Duo卡上评估FusionIO和需要(软件)RAID 1 + 0时,我注意到主机服务器的CPU,RAM和系统板function。 如果你推动你似乎计划的I / O,将会有一个CPU的影响。
另一个问题…这个问题会解决吗? 你真的只是试图添加另一层存储到数据库? 对于RAC集群,数据的工作集是什么? 例如,你在使用什么驱动能力?
你已经拥有一切和购买?