Ubuntu 12.10'da Luks şifrelemeli yavaş SSD + dm-crypt


10

Sata 3 arayüzünde dizüstü bilgisayarımda (Samsung 840 Pro) 128 GB SSD yüklü. Bu dizüstü bilgisayar ayrıca bir i5 3210m Ivy Bridge Intel işlemciye ve 8 GB RAM'e sahip.

Tam disk şifrelemesi için grafik yükleyiciyi kullanarak Ubuntu 12.10'u yükledim. Biraz hayal kırıklığına uğradım, çünkü elde ettiğimden daha iyi sonuçlar verebileceğim özellikleri bekliyordum.

Bu SSD Karşılaştırma sayfasına bakarken, işlemcimin yapabildiğini iddia ediyor:

  • ~ 500 MB / s: AES-NI ile
  • ~ 200 MB / s: AES-NI olmadan

Aldığım sayılara baktığımda, AES-NI etkin olmayabilir. Ama önce ...

Şifrelenmemiş verileri okumak hızlıdır:

# hdparm -Tt /dev/sda1

/dev/sda1:
 Timing cached reads:   14814 MB in  2.00 seconds = 7411.70 MB/sec
 Timing buffered disk reads: 242 MB in  0.48 seconds = 502.75 MB/sec

Bu aslında SSD'nin "530 MB / s'ye kadar" spesifikasyonlarına yakın ve bir ddtest yapmak yukarıdakilere benzer sonuçlar veriyor.

Şifreli veri yazmak çok dm-crypt ile hızlıdır (aksi takdirde eCryptfs ile yazma performansı uçuktur, 100 MB / s'den düşüktür), sayılar SSD spesifikasyonuna yakındır (sanırım yazma arabelleğe alınmış veya başka bir şeydir):

# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.93896 s, 365 MB/s

Ancak şifreli verileri okumak başka bir hikaye:

# echo 3 > /proc/sys/vm/drop_caches
# dd if=tempfile of=/dev/null bs=1M count=1024

1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.85956 s, 183 MB/s

Bu mesajı yazarken, 183 MB / s almak için şanslıydım, çünkü bu sayı değişiyor. Normalde 150 MB / s civarında bir yerde, ancak yeni bir önyüklemede 300 MB / s'ye yaklaştım, ancak herhangi bir uygulama başlatmadan performans yavaş yavaş 200 MB / s'nin altına düşüyor. Bu testi gerçekleştirirken G / Ç yapan başka hiçbir işlemim olmadığını (görüldüğü gibi iotop) unutmayın.

Ayrıca, hdparmdaha kötü sonuçlar veren test :

 # hdparm -Tt /dev/mapper/sda2_crypt 

 /dev/mapper/sda2_crypt:
  Timing cached reads:   14816 MB in  2.00 seconds = 7412.86 MB/sec
  Timing buffered disk reads: 422 MB in  3.01 seconds = 140.11 MB/sec

Ayrıca htop, i5 işlemci Hyper-Threading yaptığından, test sırasında kullanımın yaklaşık% 73'üne giderken 4 taneden 2 iplik, diğerini gördüğümden emin değilim. Kullanılmadığı yerlerde 2 diş. Gerçekten de, dd2 ayrı dosyadan (arabelleğe almayı önlemek için) okumaya devam eden 2 işlemi başlatırsam , iotoptoplamda yaklaşık 400 MB / sn bildirir. Yani bu kesinlikle CPU'ya bağlı gibi geliyor.

Hayal kırıklığım, i5 işlemcimin AES-NI yeteneğine sahip olmasından kaynaklanıyor . Şifrelenmemiş veriler, yukarıda yaptığım aynı testleri kullanarak 500 MB / sn'den daha büyük bir hızda okunuyor. Bu yüzden şifreli bir bölümün en az 3 kat daha yavaş olduğundan bahsediyoruz.

Dm-crypt kurulumumun AES-NI kullanıp kullanmadığını gerçekten bilmiyorum. İşte çıktı lsmod:

 # lsmod | grep aes
 aesni_intel            51038  35 
 cryptd                 20404  10 ghash_clmulni_intel,aesni_intel
 aes_x86_64             17256  1 aesni_intel

İşte çıktı cryptsetup:

 # cryptsetup status sda2_crypt
 /dev/mapper/sda2_crypt is active and is in use.
   type:    LUKS1
   cipher:  aes-xts-plain64
   keysize: 512 bits
   device:  /dev/sda2
   offset:  4096 sectors
   size:    249565184 sectors
   mode:    read/write
   flags:   discards

Peki, bu bekleniyor mu? AES-NI bundan daha fazlasını geliştirmemeli mi?

Ayrıca, herhangi bir fark olup olmadığını görmek için AES-NI nasıl devre dışı bırakılır? Ve belki bir şekilde etkinleştirmeliyim, ancak aramalarımda herhangi bir ipucu bulamadım.

Teşekkürler,

Yanıtlar:


6

Samsung 840 Pro'nuz donanım AES şifrelemesini destekler. Dizüstü bilgisayarınız BIOS'u, ana ve kullanıcı parolalarını belirleyen ATA güvenlik özelliği modunu destekliyorsa, şanslısınız demektir.

BIOS'ta ATA ana parolasını ayarlayıp ardından sürücüyü güvenli bir şekilde silerek, sürücü ürün yazılımı yeni rasgele AES anahtarları oluşturmalıdır. Güvenli silme işleminden sonra iyi ATA ana ve kullanıcı şifreleri ayarladığınızdan emin olun. Bildiğim kadarıyla ( yazımı buraya bakın http://vxlabs.com/2012/12/22/ssds-with-usable-built-in-hardware-based-full-disk-encryption/ ) Samsung ayrıca AES anahtarlarını ATA şifrenizle şifreler.

Bu size tam hızda AES şifreleme sağlar, yazılım gerekmez.


5

Ubuntu'da, aesni_intel modülünün önyükleme kilidi açılmış cihazlar için kriptoyu işleyecek kadar erken yüklenmemesine neden olan bir yanlış yapılandırma var. Bunu yaparak makinelerimde düzeltmeyi başardım:

sudo vim /etc/initramfs-tools/modules

Son satırın altına,

# enable h/w accelerated encryption
cryptd
aes_x86_64
aesni_intel

O zaman koş

sudo update-initramfs -u -k all

yeniden başlatın ve keyfini çıkarın. Bundan sonra, benzer bir SSD'de, ihmal edilebilir CPU kullanımı ile 500MB / s okuma ve yazma görüyordum.

Bu hata ile ilgili tüm ayrıntılar https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/908387/comments/7

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.