根据cryptsetup(8) 手册页,LUKS2卷的扇区大小可以配置为--sector-size
:
设置用于磁盘加密的扇区大小。它必须是 2 的幂并且范围在 512 - 4096 字节内。默认为 512 字节扇区。此选项仅在 LUKS2 模式下可用...将扇区大小从 512 字节增加到 4096 字节可以在大多数现代存储设备以及某些硬件加密加速器上提供更好的性能。
基本上保留了默认扇区大小 512 字节出于兼容性原因。根据cryptsetup 2.0.0 发行说明,扇区大小存储在元数据中,以后无法更改。因此,将我现有的 LUKS2 卷迁移到 4K 扇区将非常耗时。
4K 扇区对 SSD 存储的 LUKS2 性能提高了多少?哪种加密硬件最能利用 4K 扇区?
答案1
使用 LUKS 的 512 扇区而不是 4K 对 SSD 的影响可能会使快速 SSD 上的读/写操作减慢几个百分点。 F2FS 和 XFS 特别容易受到攻击,例如参见 reddit讨论。
答案2
4K 扇区对 SSD 存储的 LUKS2 性能提高了多少?
Linux 默认使用 4K 页运行内存,因此 4K 扇区自然意味着处理加密存储所花费的资源更少。我认为 512 和 4096 扇区之间的差异很小。
哪种加密硬件最能利用 4K 扇区?
过去 10 年发布的几乎所有 x86 CPU 都支持硬件加速 AES 加密/解密。较新的 ARM CPU 也支持它。
运行此命令来检查您的 CPU 是否有能力:
grep -qw -m1 aes /proc/cpuinfo && echo "HW AES encryption/decryption are supported" || echo "No AES acceleration support"
HW AES encryption/decryption are supported