暗号化されたファイルシステムでルートファイルシステムの物理ブロックデバイスを見つけますか?

暗号化されたファイルシステムでルートファイルシステムの物理ブロックデバイスを見つけますか?

複数のシステムでArch Linux(systemd)を実行しています。一部にはSSDストレージがあり、一部にはNVMEストレージがあり、一部にはロータリーHDDが使用されます。一部のシステムでは、dm-crypt を使用してファイルシステムを暗号化します。すべてのシステムが存在します/

ルートファイルシステム()をホストする物理デバイスを決定するbashスクリプトがあることを願っています/。ブロックデバイスがトリミングをサポートしていることを確認し、サポートしている場合は、システムでfstrim.timerが有効になっていない場合はアクションを取ることが目的です。

たとえば、その機能がオンになっていることがわかっている場合は、クリーンアップがサポートされて/いることを確認できます。それから私はできます。/dev/sdahdparm -I /dev/sda | grep TRIMsystemctl enable fstrim.timer

ただし、暗号化されたシステムでは実行中である/と報告/dev/mapper/cryptorootされていません。スクリプトに優しいこの方法は、物理ブロックデバイス(たとえば/dev/sda)に再マッピングして、クリーンアップをサポートするかどうかを決定します。

私が理解しているように、SSDは通常定期的なトリム実行で利益を得ています。NVMeデバイスはそうではないかもしれません

暗号化されていない場合は、次の質問が関連します。
フォルダがどの物理デバイスにあるかを確認するには?

Linux で /dev/root が表すデバイスが何であるかをご覧ください。
https://unix.stackexchange.com/a/431968/15010

答え1

BTRFSはさまざまなデバイスをサポートしているため、これを使用してbtrfs fi showブロックデバイスのリストを取得できます。その後、cryptsetup status特定のデバイスがLUKSコンテナであることを確認するために使用されます。その場合、コマンドは下線付きのデバイスを出力します。

出力を解析する必要があるため、これをスクリプトフレンドリーと呼ぶことはありませんが、うまくいきます。

関連情報