我注意到,如果使用低级创建设备映射dm安装程序或者通过ioctls,设备映射在重新启动后将不再存在。
- 这是正常的吗?我正在使用 USB 来测试 dm_crypt
- 如果是正常的,我该如何使映射保持不变?我需要查看 udev 吗?
谢谢!
编辑以澄清
我所说的设备映射是指指定如何将每个范围的物理块扇区映射到虚拟块设备的表条目。如果使用 LVM,您可以明白我的意思dm设置表命令。这将转储所有当前设备表映射。这是设备映射的示例线性目标,将两个磁盘捆绑在一起形成 LVM 交换(物理块抽象):
vg00-lv_swap: 0 1028160 linear /dev/sdb 0
vg00-lv_swap: 1028160 3903762 linear /dev/sdc 0
这里的格式是:
<mapping_name>: <start_block> <segment_length> <mapping_target> <block_device> <offset>
在哪里:
- 映射名称:的名称虚拟的设备
- 起始块:起始块虚拟的设备
- 段长度:扇区长度(512 字节块)
- 映射目标:设备映射目标,例如线性,地穴, 或者有条纹的
- 块设备:使用哪个物理块设备,在本例中由major:minor定义
- 抵消:偏移量身体的块设备
我的问题是,在设备映射表中创建新条目后,它在启动后消失。也就是说,运行类似:
dmsetup create TestEncrypted --table "0 $(blockdev --getsz /dev/sdb) crypt serpent-cbc-essiv:sha256 a7f67ad...ee 0 /dev/sdb 0"
然后重新启动会导致映射表条目消失(即不显示dm设置表),以及相应的/dev/mapper/TestEncrypted
答案1
我不是 100% 理解你所说的映射的意思,但是,是的,这看起来很正常。您需要将设备添加到 /etc/crypttab 或 /etc/fstab,就像安装任何其他驱动器一样。
https://wiki.archlinux.org/index.php/Dm-crypt/System_configuration#crypttab
^ 应该有您要查找的信息。