LUKSを破棄/TRIM:カーネルコマンドラインオプションの競合

LUKSを破棄/TRIM:カーネルコマンドラインオプションの競合

// Linuxカーネルコマンドラインを介して//discard/TRIM操作を有効にするさまざまな方法LUKSについて混乱しています。dmcryptcryptsetup

  1. これdracutマンページ:

    rd.luks.allow-discards

    すべてのLUKSパーティションに対して削除(TRIM)要求を許可します。

  2. これsystemd-cryptsetup-generatorマンページ

    luks.options=, rd.luks.options=

    ...UUIDなしでオプションのリストのみを指定した場合、他の場所に指定されていないすべてのUUIDに適用され、/ etc / crypttabにはエントリがありません。 ...

    議論とrd.luks.options=discard提案ここ

  3. これLUKSとSSDのアーチウィキセクション コロンで区切られた3番目のフィールドを表示します。

    cryptdevice=/dev/sdaX:root:allow-discards

質問:

  1. discardこれらとそしての違いは何ですかallow-discards?前者は必須であり、後者は選択ですか?
  2. 与えられたもの(例えばUUIDではない)を適用するのかluks.options=、それとも適用するのか? UUIDが与えられたら、「別の場所に割り当てられている」と見なされますか?rd.luks.options=cryptdevice=/dev/sda2cryptdevice=
  3. オプションがすでに提供されている場合、luks.options=そのオプションはオーバーライド/追加/プレフィックスとして指定されますかrd.luks.options=cryptsetup=
  4. rd.luks.allow-discardsTRIMがどこでも必要な場合、最も簡単に見えるアプローチを使用すると欠点がありますか?

ベストアンサー1

これは、使用しているディストリビューションとdracutがinitramfsに含まれるコンポーネントによって多少異なります。

たとえば、このcryptdevice=オプションは次のように解釈されます。暗号通貨。したがって、このフックを含むinitramfsイメージにのみ関連します。

rd.luks.allow-discardsandの欠点はrd.luks.allow-discards=まったく機能しないことです。これらのオプションの説明がdracut.cmdline(7)間違っています。 Fedora 26でテストしましたが、うまくいきませんでした。Fedora 19のバグレポート記録された行動と実際の行動との間の偏差について議論した後、不可逆的に終了しました。

デフォルトでは、有効なcrypttabオプションを入れることができるため、より一般的luks.options=です。解釈は重要ではないので、これらのオプション間の有用な相互作用を期待することはできません。rd.luks.options=discardsystemd-cryptsetup-generatorcryptdevice=

この機能luks.options=は次のデバイスでのみ機能します。いいえinitramfs イメージファイルにリストされていますetc/crypttab

したがって、起動中に開かれたdm暗号化デバイスのdm暗号化パススルーSSDトリミングサポート(廃棄とも呼ばれる)を有効にするには、2つのオプションがあります。

  1. rd.luks.options=discardカーネルコマンドラインに追加し、initramfsイメージに次のものが含まれていないことを確認してください。etc/crypttab
  2. 関連項目に削除オプションを追加し、/etc/crypttab現在のバージョンがinitramfsイメージに含まれていることを確認してください。

これを使用してlsinitrd /path/to/initramfs etc/crypttabinitramfsイメージを確認し、dracut -v -f /path/to/initramfs-image変更後にイメージを再構築し/etcdmsetup table破棄オプションを使用して暗号化されたデバイスが実際に開かれていることを確認できます(関連項目にこの文字列を含める必要がありますallow_discards)。

おすすめ記事