给定一个具有扇区 0、1、2、... 的物理设备,LUKS 将在开头保留一些扇区作为标头。除了这个偏移量之外,我们是否可以假设其余扇区按顺序映射(偏移量+1 => 1,偏移量+2 => 2,等等)?这有记录在任何地方吗?
在调整 LUKS 分区大小时了解这一点至关重要。如果扇区按顺序映射,那么cryptsetup resize --size <sectors>
如果我们知道映射设备中实际使用了多少空间,我们就可以简单地进行映射。否则,这样做时我们可能会丢失数据。
答案1
在我的系统上,输出dmsetup table crypto
是:
0 209711104 crypt aes-xts-plain64 0000000000000[...]0000000000 0 254:6 4096
这是一个线性映射(与所有设备映射器目标一样),只是加密的。
调整大小
更好的论点可能是加密卷可以调整大小。如果底层设备增加了一个扇区,加解密DM设备也增加了一个扇区,那么很明显,新的上层扇区只能映射到新的下层扇区,否则,下层扇区中的数据将被映射到新的下层扇区。上层会发生变化。
理论上,下层数据可能会被重写,但您可以轻松尝试,情况并非如此:
- 调整大小操作立即完成。
- 当写入新的上部区域时,下部旧区域中的数据不会改变。