LVM2与MDADM性能

我在很多方面都使用过MDADM + LVM2。 MDADM同时用于RAID0和RAID1arrays,而LVM2用于MDADM之上的逻辑卷。

最近,我发现LVM2可以用于MDADM(因此,减去一层,因此减less了开销),用于镜像和剥离。

然而,有些人声称LVM2镜像arrays的读取性能不如在MDADM(RAID1)之上的LVM2(线性)那么快,因为LVM2一次不能读取2+设备,而是使用第二个或更高设备第一个设备故障的情况。 MDADM一次从2个设备读取(即使在镜像模式下)。

谁能证实呢?

我敢打赌,即使LVM的作者也不使用LVM的RAIDfunction。 医学博士更有效率,成熟和完整; 并有更多的发展致力于它。

“less层次 – less开销”往往是不正确的。 即使CPU需要花费一点时间才能到达磁盘,MD的任何小型磁盘相关改进都会完全克服这一点,其中有很多。

我已经用LVM2的镜像支持,我可以说:这不是真的要取代RAID1。

LVM2镜像的真正用途是在卷之间传输数据。 假设你有一个驱动器失败,你想从点A(这是在危险中)到点B(这是安全的)的数据。 LVM2镜像function的目的是自动将数据克隆到其他部分,同时允许进行常规的I / O操作。 在“镜子”被追上之后,您会打破镜子,将您的数据重新安装到新的安全位置。

它的速度不如恒星。 就像比直接RAID1慢了50%。 事实上,如此慢,我可以看到LVM2reflection镜的两个驱动器在不同的时间闪光。 但是,如果您需要在物理位置之间移动数据,则会透明地完成这项工作,这就是LVM的真正目的 – 在文件系统处于活动状态时透明地pipe理存储层。 RAID更多地是为了避免由于单点硬件故障造成的数据丢失。

“开销”的问题确实不存在。 你会遇到的唯一真正的问题是复苏 ,这是一个本身。 从一个爆炸的文件系统恢复数据是很困难的,从三层文件系统恢复(RAID / LVM / Ext4)是一个PITA。 所以确保驱动器健康(SMART),arrays健康(mdadm),卷组健康(LVM2),文件系统健康(fsck)是非常重要的。 我曾经度过这一次,我宁愿不要再做一次。