dm crypt学习过程记录

博客记录了改进Linux dm-crypt模块以提高磁盘加密性能的过程。原问题在于每次加密仅处理512字节,限制了加密卡的性能。目标是通过使用scatter-gather list (sg)增加处理的扇区数,提升加解密吞吐量。内容涉及dm-crypt的工作原理、Linux的Device Mapper框架,以及Docker的devicemapper存储驱动与之的关联。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上周六写的东西没保存,真是气到吐血。。按印象大体重写一遍好了。。。

实验题目:
改进Linux磁盘加密性能
题目综述:
Linux内核支持硬盘分区级别的加密。但是由于负责加解密的dm-crypt模块每次加密一个扇区,导致在使用加密卡时不能充分发挥卡的性能优势。
因此,需要改进dm-crypt,争取每次加解密时给加密卡多传递几个扇区,从而提高加解密吞吐量性能。
要求:
改进dm-crypt使用cipher的习惯,改每次512字节为更多,把一个512-bye buffer改为使用scatter-gather list (sg)

0、dm(Device Mapper)

Device Mapper 是 Linux 2.6内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。
DM指的是整个Device Mapper的设计框架MD(Mapped Device)是框架所虚拟出来的各种设备。简而言之DM就是不同种类的MD经过特定的关系连接到块设备管理器上的大构架。
DM的内核代码集中在drivers/md目录中。DM构架相关的代码在dm.c和dm-io.c文件中,各种抽象的MD虚拟设备代码分散在同目录的其他文件中,除了dm-ioctl.c是dm设置接口设备。

dm是device-mapper的缩写,DM是框架,MD是虚拟设备,DM把虚拟出来的MD连接到块设备管理器上。

块设备是i/o设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬盘,U盘,SD卡等。数据块的大小通常在512字节到32768字节之

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值