我在很多机器上使用 MDADM + LVM2 已经有一段时间了。MDADM 用于 RAID0 和 RAID1 阵列,而 LVM2 用于 MDADM 之上的逻辑卷。
最近我发现 LVM2 可以在没有 MDADM 的情况下用于镜像和剥离(因此减去一层,因此开销更少)。
但是,有些人声称镜像阵列的 LVM2 上的读取性能不如 MDADM(RAID1)之上的 LVM2(线性)快,因为 LVM2 不会一次从 2 个以上的设备读取,而是使用第二个和更高的设备第一个设备故障的情况。MDADM 一次从 2 个设备读取(即使在镜像模式下)。
谁能证实?
我敢打赌,即使是 LVM 作者也不使用 LVM 的 RAID 设施。MD 更加高效、成熟和完整;并有更多的发展致力于它。
“更少的层 - 更少的开销”通常是不正确的;即使 CPU 可能需要更长的时间才能到达磁盘,但任何与磁盘相关的 MD 的小改进都可以完全克服这一点,其中很多。
我已经修改了 LVM2 的镜像支持,我可以说:它并不是真的要取代 RAID1。
LVM2 镜像的真正用途是在卷之间传输数据。假设您的驱动器出现故障,并且您希望从 A 点(处于危险中)到 B 点(安全)获取数据。LVM2 镜像功能的重点是自动将数据克隆到其他部分,同时允许进行常规 I/O。在“镜像”被捕获后,您打破镜像并将数据重新安装到新的安全位置。
它执行此操作的速度并不理想。比如,比单纯的 RAID1 慢 50%。事实上,它太慢了,我可以看到作为 LVM2 镜像一部分的两个驱动器在不同时间频闪活动灯。但是,如果您需要在物理位置之间转移数据,它会透明地完成这项工作,而这正是 LVM 的真正意义所在——在文件系统处于活动状态时对存储层进行透明管理。RAID 更多地是为了避免由于单点硬件故障而导致的数据丢失。
“开销”的问题真的不存在。您将遇到的唯一真正问题是recovery,这本身就是一个帖子。从损坏的文件系统中恢复数据很困难,从三层文件系统 (RAID/LVM/Ext4) 中恢复数据是一个 PITA。因此,确保驱动器健康 (SMART)、阵列健康 (mdadm)、卷组健康 (LVM2) 和文件系统健康 (fsck) 非常重要。我已经经历过一次,我宁愿不再这样做。
| 归档时间: |
|
| 查看次数: |
7286 次 |
| 最近记录: |