Ubuntuフルディスク暗号化読み取り/書き込み操作キューを無効にする

Ubuntuフルディスク暗号化読み取り/書き込み操作キューを無効にする

現在、Ubuntu(20.04.5 LTS)を使用して複数のデバイスを設定しようとしていますが、ドライブを暗号化する必要があるため、インストール中にLUKSを使用しています。 (このプロセスでは、「新しいUbuntuのインストールにLVMを使用する」+「セキュリティのために新しいUbuntuインストールを暗号化する」を選択しました。)

しかし、ドライブ暗号化は(予想どおり)はるかに遅いですが、この記事no_read_workqueueno_write_workqueuedm-crypt I / O操作を高速化するために2つのフラグと(最後の段落)を使用する可能性について説明します。注:私は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 Flagsdmsetup tableまた、->(「なし」が表示されている)または ->(が表示されている)を使用してもallow_discardsフラグは表示されません。

注:情報を取得するためにこのWikiページを使用しました。https://wiki.archlinux.org/title/Dm-crypt/Specialties

ベストアンサー1

私はDebian 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%増加しました。

おすすめ記事