IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Block Device

共 2 篇相关文章

IT 累计浏览 2,943

深入浅出Flashcache(三)

这篇是“深入浅出Flashcache”系列的第三篇,作者在回顾了block device和device mapper的基础概念后,将话题转向Linux内核模块编写的基础知识。由于Flashcache本身是一个内核模块,要真正理解其源码实现,必须先掌握内核编程的基本框架,因此这一篇专注于讲解模块的加载机制、核心结构和编写要点。作者以自谦的门外汉视角,现学现卖地梳理了module_init和module_exit宏的作用、模块参数的定义方式,以及内核模块的常见结构。虽然对于已经熟悉内核开发的读者来说,这些内容可能显得浅显,但它为整个系列后续深入分析Flashcache的代码扫清了必要的障碍。通过这篇铺垫,读者能更顺畅地跟随作者进入Flashcache的技术深水区,理解它如何在内核层与块设备交互并实现缓存功能。

IT 累计浏览 2,781

深入浅出Flashcache(二)

这篇讲的是Linux存储虚拟化的核心机制——device mapper。作为Flashcache系列的第二篇,作者暂时放下主角,带我们深入理解这个在块设备层提供灵活虚拟化的框架。文章从device mapper要解决的背景问题切入:如何在不改变上层应用的情况下,对磁盘进行切分、合并、加密或镜像等复杂操作? 作者清晰地拆解了device mapper的三大核心组件:映射表定义了逻辑块到物理块的转换规则;target类型(如linear、striped、crypt)决定了具体的映射行为;而内核的dm模块则负责将这些规则编译成高效的I/O路径。一个巧妙之处在于,它采用分层和插件式的设计,让功能扩展变得非常干净。 这篇内容虽然还没讲到Flashcache,但它为理解后者基于device mapper实现的缓存策略打下了坚实的基础。搞懂了这个“中间层”,再看Flashcache如何将SSD作为HDD的缓存,会清晰很多。