ระบบไฟล์ใดที่แสดงประสิทธิภาพที่ดีที่สุดเมื่อรันบนพาร์ติชันที่เข้ารหัสของ LUKS มันสมเหตุสมผลหรือไม่ที่จะใช้ f2fs เมื่อพาร์ติชัน LUKS อยู่บน SSD หรือสิ่งที่ทำให้แทร็ปเปอร์อุปกรณ์แมปทำให้การปรับแต่ง SSD ของ f2fs ไร้ประโยชน์หรือไม่
ระบบไฟล์ใดที่แสดงประสิทธิภาพที่ดีที่สุดเมื่อรันบนพาร์ติชันที่เข้ารหัสของ LUKS มันสมเหตุสมผลหรือไม่ที่จะใช้ f2fs เมื่อพาร์ติชัน LUKS อยู่บน SSD หรือสิ่งที่ทำให้แทร็ปเปอร์อุปกรณ์แมปทำให้การปรับแต่ง SSD ของ f2fs ไร้ประโยชน์หรือไม่
คำตอบ:
มีคำแนะนำมากมาย แต่ผลลัพธ์เชิงประจักษ์น้อยมากสำหรับประสิทธิภาพของการใช้การเข้ารหัส
ผมพบว่าการศึกษาหนึ่งเช่น: SSD ลินุกซ์เปรียบเทียบ: การเปรียบเทียบระบบไฟล์และวิธีการเข้ารหัส ในตารางด้านล่างการวัดเป็นจริง / ผู้ใช้ / sys และผลลัพธ์ที่ดีที่สุดคือสีเขียวในขณะที่ที่แย่ที่สุดคือสีแดง:
บนพื้นฐานของผลเหล่านี้ผู้เขียนได้ตัดสินใจเกี่ยวกับการใช้ DM-ฝังศพใต้ถุนโบสถ์ใน AES-XTS-ธรรมดาโหมดที่มี 128 บิตและ keylength btrfs
compress=lzo
กับการจัดตำแหน่งและ
อีกบทความที่มีประโยชน์เป็น ผลกระทบต่อประสิทธิภาพของ Linux เข้ารหัสดิสก์บน Ubuntu 14.04 LTS มันศึกษาการใช้งาน CPU ระหว่างการติดตั้งสามตัวเลือกการติดตั้งสต็อค (ไม่มีการเข้ารหัสดิสก์) วิธีการเข้ารหัสดิสก์เต็มรูปแบบโดยใช้ LUKS บน LVM และการเข้ารหัสโฮมไดเรกทอรีที่ใช้ eCryptfs ผลลัพธ์สรุปไว้ในกราฟด้านล่างและข้อสรุปคือการติดตั้งโดยไม่ต้องเข้ารหัสมีค่าเฉลี่ย 26% ในขณะที่การเข้ารหัส LUKS บน LVM และ eCryptfs ทั้งคู่มีค่าเฉลี่ยประมาณ 30 ~ 31% ดังนั้นทั้งประสิทธิภาพเกือบเทียบเท่า
บทความที่ไม่มีผลการศึกษาจำนวนมาก แต่คำแนะนำที่ดีเป็น Linux, SSDs และการเข้ารหัสดิสก์ ฉันขอแนะนำให้อ่านบทความนี้และนี่คือคำแนะนำหลักที่ได้รับ:
noatime
และnodiratime
หยุดการทำบัญชีของเวลาในการเข้าถึงไฟล์และไดเรกทอรีฉันทำการทดสอบบางอย่างกับระบบระดับต่ำถึงกลาง ผลลัพธ์ด้านล่าง
โดยสรุปดูเหมือนว่าการเข้ารหัสไม่ได้ทำให้การเพิ่มประสิทธิภาพของระบบไฟล์ไร้ประโยชน์ ดังที่คุณเห็นในตารางสำหรับ dmcrypt / LUKS (AES256) F2FS
ระบบไฟล์นั้นเร็วกว่าEXT4
ในสถานการณ์เกือบทั้งหมดที่มันเร็วกว่าโดยค่าเริ่มต้น (ไม่มีการเข้ารหัสนั่นคือ) ค่อนข้างน่าแปลกใจที่มันยังให้ประโยชน์ที่เห็นได้ชัดเจนในกรณีที่มันไม่มีการเข้ารหัส - คือBonnie++ Sequential Output (Per char)
การFlexible I/O Tester Sequential Read
ทดสอบและ
สำหรับสถานการณ์เดียวกันนี้มันก็ช้าลงในการทดสอบสองครั้ง (Sequential Write - Bonnie ++ และ FIO) แต่ก็ไม่ช้ากว่านี้มากนัก ไมล์สะสมของคุณอาจแตกต่างกันไป
ฉันไม่ได้ทดสอบ EXT4 ด้วย AES-128bits เนื่องจากมีเวลา จำกัด เนื่องจากมันไม่จำเป็นสำหรับคำตอบนี้
หมายเหตุ: ฉันสังเกตเห็นความเบี่ยงเบนที่แปลกและใหญ่มากในการทดสอบด้วย AES-128 บิต การเปลี่ยนแปลงมากที่สุดถึง 15% ในการทดสอบส่วนใหญ่และแม้แต่ 37% (!) ในหนึ่งกรณี ไม่แน่ใจว่าทำไม ฉันไม่ได้ใช้ระบบอย่างอื่นในระหว่างการทดสอบ ระบบ (root) นั้นถูกเข้ารหัสด้วย AES-256 ดังนั้นฉันสามารถคิดถึงคำอธิบายที่เกี่ยวกับซีพียู pipelines / opcache ได้ แต่ ... ยังไม่สามารถบอกได้ (สิ่งนี้ยังเกิดขึ้นเมื่อทำการทดสอบจากซีดีที่ใช้งานจริงโดยไม่ต้องปลดล็อคพาร์ติชัน AES-256 บิตดังนั้นจึงไม่ใช่เหตุผล)
ส่วนเบี่ยงเบนถูกเก็บไว้ต่ำกว่า 3,6% (ปกติ 1,4%) ทุกที่อื่น ฉันใช้อัตราความผิดพลาด 4% ดังนั้นความแตกต่างที่น้อยกว่า 4% ควรถูกละเว้นสำหรับผลลัพธ์เหล่านี้
ทดสอบการตั้งค่า:
SSD: Kingston SV300S37A/120G
Mainboard: ASUS Sabertooth 990FX R2.0
CPU: AMD FX-6350 @ stock
Kernel version: 4.11.3
IO Scheduler: CFQ
All tests were run using an 80GB secondary partition.
ตารางผลลัพธ์ในรูปแบบ ASCII (ความแตกต่างที่ถือว่า "ไม่เกี่ยวข้อง" ถูกละเว้น):
|+===================================+|
|| % Change ||
|+=====================+=====================+=================+| ||--------+--------+--------+--------||
|| (no encryption) | AES-256 | AES-128 || || F2FS / EXT4 |Crypto / NoCrypto||
|+============+========================+----------+----------+----------+----------+------+----------||=========||--------+--------+--------+--------+|
|| Test suite | Test Method | EXT4 | F2FS | EXT4 | F2FS | EXT4 | F2FS || Unit ||nocrypto| aes256 | aes128 | aes256 ||
|+------------+------------------------+----------+----------+----------+----------+------+----------++---------++--------+--------+--------+--------+|
|| Manual | Read | 390.6 | 391.59 | 320 | 325.6 | - | 345.36 || MiB/s || | | -11.81 | -16.85 ||
||(cp and dd) | Write (zeros) | 501.96 | 517.17 | 96.9 | 96.7 | | 112.16 || MiB/s || | | -78.31 | -81.30 ||
|| | Write (random data) | 100.44 | 97.99 | 91.8 | 89.5 | | 97.64 || MiB/s || | | | -08.66 ||
||--------------------------------------------------------------------------------------------------------------||--------|--------|--------|--------||
|| | Seq. Output – Per char | 80.68 | 83.76 | 63.56 | 80.59 | - | 75.56 || MiB/s || | +26.79 | -09.79 | ||
|| | Seq. Output – Block | 498.92 | 492.42 | 104.74 | 101.13 | | 90.9 || MiB/s || | | -81.54 | -79.46 ||
|| Bonnie++ | Seq. Output – Rewrite | 196.4 | 198.99 | 74.69 | 70.8 | | 70.27 || MiB/s || | -05.21 | -64.69 | -64.42 ||
|| | Seq. Input - Per char | 86.93 | 86.04 | 84.01 | 81.25 | | 87.84 || MiB/s || | | | -05.57 ||
|| | Seq. Input – Block | 352.57 | 355.99 | 286.36 | 289.24 | | 304.5 || MiB/s || | | -14.46 | -18.75 ||
|| | Random seeks | 9452.9 | 9102.2 | 8142.3 | 8224.8 | | 7431.4 || ops/s || | | -18.36 | -09.64 ||
||--------------------------------------------------------------------------------------------------------------||--------|--------|--------|--------||
|| Fs-mark | 1000 files, 1 thread | 193.7 | 236.6 | 93.6 | 103.7 | - | 73.9 || files/s || +18.13 | +10.79 | -68.77 | -56.17 ||
|| | 5000 files, 4 threads | 310.1 | 348.8 | 90.9 | 99 | | 91.6 || files/s || +11.10 | +08.91 | -73.74 | -71.62 ||
||--------------------------------------------------------------------------------------------------------------||--------|--------|--------|--------||
|| | Random read | 56.77 | 69.86 | 58.79 | 63.51 | | 61.93 || MiB/s || | | | ||
|| | | 14188 | 17461 | 14695 | 15874 | | 15479 || IOPS || +23.07 | +08.02 | -11.35 | -09.09 ||
|| Flexible | | | | | | - | || || | | | ||
|| I/O | Random write | 59.91 | 78.99 | 52.2 | 63.75 | | 67.75 || MiB/s || | | | ||
|| Tester | | 14973 | 19745 | 13046 | 15935 | | 16934 || IOPS || +31.87 | +22.14 | -14.24 | -19.30 ||
|| | | | | | | | || || | | | ||
|| | Sequential read | 284.02 | 247.57 | 95.14 | 95.17 | | 95.98 || MiB/s || | | | ||
|| | | 71001 | 61889 | 23781 | 23788 | | 23991 || IOPS || -12.83 | | -61.24 | -61.56 ||
|| | | | | | | | || || | | | ||
|| | Sequential write | 94.06 | 100.77 | 100.63 | 96.56 | | 86.93 || MiB/s || | | | ||
|| | | 23512 | 25188 | 25153 | 24137 | | 21728 || IOPS || +07.13 | -04.04 | -13.74 | -04.17 ||
|+------------+------------------------+----------+----------+----------+----------+------+----------++---------++--------+--------+--------+--------+|
_