双层设备映射器 - 自定义 dm-crypt

Posted

技术标签:

【中文标题】双层设备映射器 - 自定义 dm-crypt【英文标题】:Double layer of device mapper - customising dm-crypt 【发布时间】:2018-02-08 02:51:36 【问题描述】:

是否可以在另一个设备映射器上创建一个设备映射器?

除了加密磁盘上的数据外,我还需要进行一些检查。所以,我想在 dm-crypt 创建的映射器上创建一个映射器(用于额外检查),并使用新映射器的 ioctl 来应用这些检查。

dm-crypt 创建了一个映射器(比如 crypt_mapper),其起始扇区和长度分别为 0 和 20000。

当我为此创建一个新的映射器时,系统崩溃了。 dmesg 中没有日志。

echo 0 20000 access_target /dev/mapper/crypt_mapper 0 | dmsetup create access_mapper.

【问题讨论】:

你可以试试netconsole查看日志 谢谢。 /var/log/messages 中有一些与扇区相关的错误。这些帮助我检查了映射器的大小。 【参考方案1】:

问题已解决。

不知道 dm-crypt 会改变(减小)总大小。它需要存储crypt headers。

# blockdev --getsize /dev/loop7
20000
# blockdev --getsize /dev/mapper/crypt_mapper
15904

我创建的新映射器长度超过 20000 而不是 15904。

【讨论】:

以上是关于双层设备映射器 - 自定义 dm-crypt的主要内容,如果未能解决你的问题,请参考以下文章

keycloak 从自定义协议映射器抛出身份验证错误

无法在 Sqoop 导出中自定义的映射器数量

Spring 4 中 Websockets 的自定义对象映射器

从文件中为hadoop中的映射器创建自定义键值

RxSwift+Alamofire 自定义映射器错误处理

在 Spring Boot 端点上使用自定义杰克逊映射器