Linux LUKS та вибір файлової системи


12

Яка файлова система відображає найкращі показники під час роботи на зашифрованому розділі LUKS? Чи є сенс використовувати f2fs, коли розділ LUKS знаходиться на SSD, або абстракція пристрою-картографа робить оптимізацію SSD f2fs марною?

Відповіді:


8

Є багато порад, але дуже мало емпіричних результатів для ефективності використання шифрування.

Я знайшов одне таке дослідження: порівняльний аналіз SSD Linux: порівняння файлових систем та методів шифрування . У таблиці нижче заходи реальні / користувач / системи, а найкращі результати пофарбовані в зелений колір, а найгірші - в червоний колір:

натисніть для збільшення зображеннянатисніть для збільшення зображення

На основі цих результатів автор вирішив використовувати dm-crypt в режимі aes-xts-plain із 128-бітовою довжиною клавіші та btrfs з ssd вирівнюванням та compress=lzo.

Ще одна корисна стаття - Ефективність впливу шифрування диска Linux на Ubuntu 14.04 LTS . Він вивчав використання процесора під час встановлення трьох конфігурацій опцій встановлення запасів (без шифрування диска), повного методу шифрування диска, використовуючи LUKS на LVM та шифрування домашнього каталогу на основі eCryptfs. Результати підсумовані на графіку нижче, і висновок полягає в тому, що встановлення без шифрування в середньому становило 26%, тоді як LUKS на LVM та eCryptfs шифрування в середньому склало приблизно 30 ~ 31%, тому обидва є майже еквівалентними по продуктивності.

натисніть для збільшення зображеннянатисніть для збільшення зображення

Стаття, яка не має емпіричних результатів, але багато корисних порад, - це LinuX, SSD та шифрування диска . Я рекомендую прочитати цю статтю, і ось основна порада:

  1. Для SSD-розділу слід принаймні додати параметри кріплення noatimeта nodiratimeпридушити облік часу доступу для файлів та каталогів.
  2. Налаштуйте рамкові диски, використовуючи tmpfs для тимчасових файлів.
  3. Змініть дисковий планувальник, щоб використовувати noop або термін .
  4. Увімкнути кеш-запис на рівні пристрою
  5. Параметр браузера, щоб не використовувати кеш диска.

5

Я зробив кілька тестувань із системою від низького до середнього рівня. Результати нижче.

стіл

На закінчення здається, що шифрування не робить оптимізацію файлової системи марною. Як видно з таблиці, для dmcrypt / LUKS (AES256) F2FSфайлова система була швидшою, ніж EXT4майже у всіх сценаріях, у яких вона була швидшою за замовчуванням (без шифрування, тобто). Дещо дивно, що це також забезпечило помітну перевагу у випадках, коли не буде без шифрування, а саме - Bonnie++ Sequential Output (Per char)і Flexible I/O Tester Sequential Readтестів.

Для цього ж сценарію це було повільніше у двох тестах (Sequences Write - Bonnie ++ та FIO), але не набагато повільніше. Ваш пробіг може відрізнятися.

Я не перевіряв EXT4 з AES-128bit через обмежений час, оскільки це не було б суттєво для цієї відповіді.

Примітка. Я спостерігав дуже великі, дивні відхилення при тестуванні AES-128bit. До 15% варіацій у більшості тестів, і навіть 37% (!) В одному випадку. Не знаю чому. Я не використовував систему ні для чого іншого протягом тривалості тестів. Сама система (root) зашифрована AES-256, тож я можу придумати гіпотетичне пояснення, пов’язане з конвеєрами / оптимізацією процесора, але ... Дійсно, поки що не можу сказати. (Це також відбувається під час тестування з живого компакт-диска, не розблоковуючи при цьому AES-256bit-розділ, тому це не є причиною).

Відхилення зберігалися під 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 ||
|+------------+------------------------+----------+----------+----------+----------+------+----------++---------++--------+--------+--------+--------+|
_
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.