知识卡片

device mapper的策略与机制分离

专业/工作 · 551.j

内容

LVM能在不重启系统的前提下动态扩容逻辑卷,靠的是内核态的device mapper机制:内核只提供”把一个逻辑设备的I/O请求过滤或重定向到具体物理设备”这个通用能力,通过模块化的Target driver实现磁盘阵列、加密、多路径、快照等具体功能;而”逻辑设备和哪些物理设备建立什么样的映射关系”这类策略性决策,全部放在用户空间完成,内核不掺和这部分决策逻辑。Mapped device还可以递归映射到另一个Mapped device,像文件系统的目录嵌套一样理论上可以无限叠加。发散:这就是操作系统设计中经典的”策略与机制分离”原则——内核只提供稳定、通用、不常变化的执行能力,容易变化的业务决策全部交给可以快速迭代的用户空间软件去做,两者的变更节奏被彻底解耦。

参考来源

《Linux开源存储全栈详解从Ceph到容器存储》第3章《Linux存储栈》