Linux内核中的dm(dmsetup)和md(mdadm)模块有什么区别? [两者似乎都是一个逻辑卷管理器]哦是的,还有lvm(lvm)。这一切有什么区别?
答案 0 :(得分:9)
md 是多个设备。自内核版本2.0以来,它就是Linux内核中的RAID实现。它允许您创建RAID级别0,10,4,5和6.它具有各种优化,如利用SSE和MMX指令。它是Linux中的标准软件RAID。
dm 是设备映射器。它的Linux内核框架允许您将一个设备映射到另一个设备(一个或多个)上。这可用作创建可在/ dev / mapper目录中访问的虚拟设备(映射设备)。该设备的所有I / O都将映射到其他设备。设备映射器的原因是,在许多情况下您需要映射设备,但是您希望重用代码。
有几个驱动程序(称为dm目标)利用设备映射器,例如:
dm-stripe和md之间的区别RAID级别0并不是那么大 - 它只是不同的实现,但我相信md RAID具有更好的性能。
最后, lvm 是用户空间工具集,它在linux上提供逻辑卷管理功能。它使用设备映射器将卷组和逻辑卷映射到物理设备。
还有一个特殊的令人困惑的案例 - dm-raid
,您可以阅读here