Filesystems
在加密文件系統上查找根文件系統的物理塊設備?
我在幾個系統上執行 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 中代表什麼設備?
BTRFS 支持多個設備,所以你可以做的是使用
btrfs fi show
獲取塊設備列表。然後用於cryptsetup status
檢查給定設備是否為 LUKS 容器。如果是該命令將輸出下劃線設備。我不會將此稱為腳本友好,因為您必須解析輸出,但它應該可以工作。