Filesystems

在加密文件系統上查找根文件系統的物理塊設備?

  • November 5, 2018

我在幾個系統上執行 Arch Linux (systemd)。有些有 SSD 儲存,有些有 nvme 儲存設備,有些使用旋轉 HDD。一些系統使用 dm-crypt 來加密文件系統。所有系統都在/.

我希望有一個 bash 腳本來確定託管根文件系統 ( /) 的物理設備。目的是檢查該塊設備是否支持修剪,如果支持,則在系統上未啟用 fstrim.timer 時採取一些措施。

例如,如果我們知道它/已打開/dev/sda,我們可以檢查hdparm -I /dev/sda | grep TRIM是否支持修剪。如果是這樣,我可以做到systemctl enable fstrim.timer

但是在加密系統上,/報告為 on/dev/mapper/cryptoroot或類似的東西,我沒有找到一種腳本友好的方式將其映射回物理塊設備(例如,/dev/sda)以確定它是否支持修剪。

我的理解是,SSD 通常受益於定期修整執行,而 NVMe 設備可能不會

對於未加密的情況,這些問題是相關的:

如何找到文件夾位於哪個物理設備上?

找出 /dev/root 在 Linux 中代表什麼設備?

https://unix.stackexchange.com/a/431968/15010

BTRFS 支持多個設備,所以你可以做的是使用btrfs fi show獲取塊設備列表。然後用於cryptsetup status檢查給定設備是否為 LUKS 容器。如果是該命令將輸出下劃線設備。

我不會將此稱為腳本友好,因為您必須解析輸出,但它應該可以工作。

引用自:https://unix.stackexchange.com/questions/479846