Linux LUKS 및 파일 시스템 선택


12

LUKS 암호화 파티션에서 실행할 때 어떤 파일 시스템이 최고의 성능을 표시합니까? LUKS 파티션이 SSD에있을 때 f2fs를 사용하는 것이 합리적입니까, 아니면 장치 매퍼 추상화로 인해 f2fs의 SSD 최적화가 쓸모 없습니까?

답변:


8

많은 조언이 있지만 암호화 사용의 효율성에 대한 경험적 결과는 거의 없습니다.

나는 하나 개의 연구를 발견 : SSD 리눅스 벤치마킹 : 파일 시스템 및 암호화 방법을 비교 . 아래 표에서 측정 값은 실제 / 사용자 / 시스템이며 최상의 결과는 녹색으로 표시되고 최악은 빨간색으로 표시됩니다.

더 큰 이미지를 보려면 클릭하십시오더 큰 이미지를 보려면 클릭하십시오

이러한 결과를 바탕으로 저자는 128 비트 키 길이의 aes-xts-plain 모드에서 dm-crypt를 사용하고 ssd alignment 및을 가진 btrfs를 사용하기로 결정했습니다 compress=lzo.

또 다른 유용한 기사는 Ubuntu 14.04 LTS에서 Linux 디스크 암호화의 성능 영향 입니다. 설치 중 3 가지 스톡 설치 옵션 구성 (디스크 암호화 없음), LVM에서 LUKS를 사용한 전체 디스크 암호화 방법 및 eCryptfs 기반 홈 디렉토리 암호화에 대한 CPU 사용량을 조사했습니다. 결과는 아래 그래프에 요약되어 있으며, 암호화가없는 설치는 평균 26 % 인 반면 LVM 및 eCryptfs 암호화의 LUKS는 평균 약 30 ~ 31 %이므로 성능이 거의 동일합니다.

큰 이미지를 보려면 클릭더 큰 이미지를 보려면 클릭하십시오

경험적인 결과는 없지만 LinuX, SSD 및 디스크 암호화에 대한 좋은 조언이 많은 기사입니다 . 이 기사를 읽는 것이 좋으며 다음은 주요 조언입니다.

  1. SSD 파티션을 위해 당신은 적어도이 마운트 옵션을 추가해야합니다 noatimenodiratime파일 및 디렉토리에 대한 액세스 시간의 부기를 억제 할 수 있습니다.
  2. 임시 파일에 tmpfs를 사용하여 램 디스크를 설정하십시오.
  3. noop 또는 deadline 을 사용하도록 디스크 스케줄러를 변경하십시오 .
  4. 장치 레벨 쓰기 캐시 사용
  5. 디스크 캐시를 사용하지 않도록 브라우저를 매개 변수화하십시오.

5

중간에서 낮은 수준의 시스템으로 테스트를 수행했습니다. 아래 결과.

표

결론적으로 암호화는 파일 시스템의 최적화를 쓸모 없게 만드는 것으로 보이지 않습니다. 표에서 볼 수 있듯이 dmcrypt / LUKS (AES256)의 경우 F2FS파일 시스템은 EXT4기본적으로 더 빠른 거의 모든 시나리오 (즉, 암호화없이)보다 빠릅니다. 즉, - 그것은 암호화없이 woulnd't 경우 다소 놀랍게도, 그것은 또한 경우에 눈에 띄는 혜택을 제공 Bonnie++ Sequential Output (Per char)하고, Flexible I/O Tester Sequential Read테스트를.

이 같은 시나리오가 느린 두 가지 테스트도했다 (순차 쓰기 - 보니 ++ 및 FIO),하지만 훨씬 느린 어쨌든. 귀하의 마일리지가 다를 수 있습니다.

이 답변에 필수적이지 않기 때문에 제한된 시간 때문에 AES-128 비트로 EXT4를 테스트하지 않았습니다.

참고 : AES-128 비트 테스트에서 매우 크고 이상한 편차가 관찰되었습니다. 대부분의 테스트에서 최대 15 % 변형, 한 경우에는 37 % (!)까지. 이유가 확실하지 않습니다. 테스트 기간 동안 시스템을 다른 용도로 사용하지 않았습니다. 시스템 (루트) 자체는 AES-256으로 암호화되어 있으므로 CPU 파이프 라인 / opcache와 관련된 가설 적 설명을 생각할 수 있지만 실제로는 아직 말할 수 없습니다. (이것은 AES-256 비트 파티션의 잠금을 해제하지 않고 라이브 CD에서 테스트 할 때도 발생하므로 이유가 아닙니다).

편차는 다른 곳에서 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 ||
|+------------+------------------------+----------+----------+----------+----------+------+----------++---------++--------+--------+--------+--------+|
_
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.