LUKS 在 SSD 上的写入性能非常糟糕

LUKS 在 SSD 上的写入性能非常糟糕

由于我在笔记本上使用 LUKS加密了/和的分区,所以我的 SSD 上的整体写入速度很低。/home

硬件软件

  • Intel i3 4010U 2/4 x 1,70 GHz(带 AES-NI)
  • Ubuntu 18.04.1
  • 2x 2GB DDR3 1600 MHz 2
  • 2 个驱动器
  • 1 个 Crucial CT128M550 SSD 和 M.2(Sata 3.0)
  • 1 个 Western Digital HDD 和 Sata 3.0

分区

没有 lvm

SSD

Nr Type  Size    FS
1  EFI  256MB   vfat
2  Boot 512MB   ext4
3  /     40GB   ext4 (luks)
4  /home 80GB   btrfs (luks)

HDD

Nr  Type  Size  FS
1   /data 500GB btfs (luks)

加密

我在所有分区上使用了相同的算法

cipher: aes-xts-plain64
keysize: 512 bits
hash:   sha512

cryptsetup 基准测试

aes-xts    512b        684,2 MiB/s     677,9 MiB/s

基准

我在使用 LUKS 加密之前和之后用 dd 监控了读写速度

# write
dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc 
# drop cache
echo 3 | sudo tee /proc/sys/vm/drop_caches 
# read
dd if=tempfile of=/dev/null bs=1M count=1024 

LUKS 之前的结果(单位:MB/s)

SSD
Write  Read
343    561

HDD
Write  Read
106    110

经过 LUKS 后的结果(单位:MB/s)

       FS      Drive   Write-luks   Read-luks
/      ext4    ssd     50           378  
/home  btrfs   ssd     50           543
/data  btrfs   hdd     109          105

HDD 上的读写速度保持不变,但 SSD 上的写入速度现在非常低。

我对“/boot”分区(无 luks、ssd)执行了相同的基准测试,dd count=256。

SSD in MB/s
       FS      Drive   Write        Read
/boot  ext4    ssd     49           527

结果显示,“/boot”分区的写入速度与其他加密分区一样低。

我不明白,为什么 HDD 的性能保持不变,但是 SSD 的写入速度却很低,即使在未加密的分区上也是如此。

LUKS 上的“丢弃”功能处于活动状态

dmsetup table | grep crypt 
home: 0 [] crypt aes-xts-plain64 [0] 0 8:20 4096 1 allow_discards
root: 0 [] crypt aes-xts-plain64 [0] 0 8:19 4096 1 allow_discards
data: 0 [] crypt aes-xts-plain64 [0] 0 8:1 4096 1 allow_discards

如果您能提供一些想法或帮助我将非常感激。

相关内容