현재 Ubuntu(20.04.5 LTS)를 사용하여 여러 장치를 설정하려고 하는데 드라이브를 암호화해야 하므로 설치 중에 LUKS를 사용하고 있습니다. (이 과정에서 "새 Ubuntu 설치 시 LVM 사용" + "보안을 위해 새 Ubuntu 설치 암호화"를 선택했습니다.)
그러나 드라이브 암호화는 (예상대로) 훨씬 느리지만,이 기사no_read_workqueue
no_write_workqueue
dm-crypt I/O 작업 속도를 높이기 위해 두 개의 플래그 및 (마지막 단락)을 사용할 가능성에 대해 설명합니다 . 참고: 저는 NVMe SSD를 사용하고 있습니다. 패치는 Linux 커널 5.9 이상에 병합되었으며 5.14가 있으므로 사용할 수 있습니다. 이 기능을 기본적으로 활성화하려면 어떻게 해야 합니까?
/etc/crypttab
플래그를 추가하여 파일을 변경했습니다 .
nvme0123abcdef-etc UUID=123abcdef-etc none luks,discard,no-write-workqueue,no-read-workqueue
이것은 속도를 전혀 바꾸지 않습니다.
기본 플래그 설정을 시도했습니다.
cryptsetup --perf-no_read_workqueue --perf-no_write_workqueue --persistent refresh root
그러면 오류가 발생합니다.--perf-no_read_workqueue: unknown option
cryptsetup luksDump /dev/sdaX | grep Flags
dmsetup table
또한 ->("없음"이 표시됨) 또는 ->(이 표시됨 ) 을 사용하면 allow_discards
플래그가 표시되지 않습니다.
참고: 정보를 얻기 위해 이 위키 페이지를 사용했습니다.https://wiki.archlinux.org/title/Dm-crypt/Specialties
답변1
나는 데비안 11에 대해서도 같은 생각을 가지고 있었습니다.
/etc/crypttab 수정 후 실행 필요
sudo update-initramfs -k all -u
시작 구성을 업데이트합니다. 이 명령이 경고를 표시하면 시스템이 이러한 옵션을 지원하지 않는 것입니다. 이는 Debian 11의 경우입니다(그러나 런타임 변경은 지원됩니다).
다음을 사용하여 현재 플래그를 확인할 수 있습니다.
sudo dmsetup table nvme0n1p3_crypt --showkeys
0 3515592704 crypt aes-xts-plain64 :64:logon:cryptsetup:asdf-asdf-asdf-asdf 0 259:3 32768 1 allow_discards
다음 명령을 사용하여 런타임에 옵션을 변경할 수 있습니다.
sudo cryptsetup refresh nvme0n1p3_crypt --perf-no_read_workqueue --perf-no_write_workqueue --allow-discards
안타깝게도 디스크 암호화 키를 다시 입력해야 하므로 자동화가 어려워집니다.
그러나 이러한 옵션에는 단점이 없는 것 같지 않습니다. 내 시스템(Ryzen 2700 + WD SN570 2TB)에서 순차 쓰기 성능은 25% 감소한 반면 임의 I/O 성능은 30% 증가했습니다.