Linux 데스크탑에서 스토리지 암호화 솔루션을 선택합니다. 수년 동안 LUKS의 LVM은 뛰어난 성능과 안정성을 위한 최고의 선택이었습니다. 그러나 Linux의 ZFS는 새로운 기능을 적극적으로 개발하고 있으므로 이제 선택의 여지가 있습니다.
LUKS 및 ZFS의 LVM을 개발자와 유지관리자가 제공한 기본 암호화 설정(LUKS의 경우 aes-xts-512b, ZFS의 경우 aes-256-gcm)을 사용하여 다양한 fio 테스트와 비교했습니다. 각 볼륨 유형에 대한 RAM 블록 장치의 평균 대역폭 및 대기 시간 측정항목은 다음과 같습니다.
언뜻 보면 차트의 비교는 논란의 여지가 있는 것처럼 보입니다. 임의의 작은 블록에서는 XTS가 GTC보다 훨씬 빠릅니다. 그러나 순차적으로 읽고 쓸 때 ZFS는 상당한 대기 시간을 보이며 대역폭이 크게 증가합니다!
다음 중 성능 측면에서 데스크탑 작업에 가장 적합한 솔루션은 무엇입니까? 이제는 선택하기가 어렵습니다. 어떤 조언이라도 주시면 감사하겠습니다.
UPD1:
예를 들어, 일반적인 스토리지 작업은 다음과 같습니다.
- 웹 브라우저 로딩: 로컬 캐시에서 100-1000KB에 달하는 파일 읽기 및 쓰기 혼합.
- 애플리케이션 시작: 100-1000KB에 가까운 시스템 바이너리를 무작위로 읽습니다.
- 편집 소프트웨어: 다수의 작은 파일을 읽고 씁니다.
- 사진과 같은 아카이브 저장: 대부분의 작성된 파일은 최대 10MB이며 거의 읽히지 않습니다.
- 홈 미디어용 Ultra HD 비디오와 같은 대용량 파일 제공: 최대 100GB의 연속 쓰기 또는 읽기;
- 그리고 더.
각 개별 작업에 맞게 시스템을 최적화하는 것은 쉽습니다. 하지만 이 모든 문제에 가장 적합한 솔루션은 무엇입니까?
UPD2:
답변1
LUKS와 ZFS 암호화 중에서 ext4의 fscrypt를 선택했습니다.
Fscrypt는 일부 측면에서 약간 약한 보호 기능을 제공합니다.
- 파일 메타데이터(기존 사실, 크기, 디렉터리의 파일 수)를 노출합니다.
- 전체 루트 암호화에는 사용할 수 없습니다. 시스템 로그나 파일 인덱스에서 민감한 데이터가 유출될 수 있습니다. Exchange 암호화에는 추가 단계가 필요합니다.
- 일부 구성에서는 암호화가 약한 해시에 따라 달라질 수 있습니다.시스템 비밀번호그림자 속에서. 그러나 이러한 목적을 위해 최신 배포판에서는 sha512를 보다 안전한(fixme) yescrypt 알고리즘으로 대체하고 있습니다.
반면에 fscrypt는 데이터에 대해 aes-256-xts 암호화를 제공하고 파일 이름에 대해 aes-256-cts 암호화를 거의 라인 암호화 속도로 제공합니다.
fscrypt 제한이 위협 모델에 적합하다면 처리량 및 대기 시간 측면에서 가장 좋은 솔루션입니다.