여러 시스템에서 Arch Linux(systemd)를 실행하고 있습니다. 일부에는 SSD 스토리지가 있고 일부에는 NVME 스토리지가 있으며 일부에는 회전식 HDD가 사용됩니다. 일부 시스템에서는 dm-crypt를 사용하여 파일 시스템을 암호화합니다. 모든 시스템이 존재합니다 /
.
루트 파일 시스템( )을 호스팅하는 물리적 장치를 결정하는 bash 스크립트가 있기를 바랍니다 /
. 블록 장치가 트리밍을 지원하는지 확인하고, 지원한다면 시스템에서 fstrim.timer가 활성화되어 있지 않은 경우 조치를 취하는 것이 목적입니다.
예를 들어 해당 기능이 켜져 있다는 것을 알고 있으면 /
정리가 지원되는지 확인할 수 있습니다. 그렇다면 나는 할 수 있다./dev/sda
hdparm -I /dev/sda | grep TRIM
systemctl 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 컨테이너인지 확인하는 데 사용됩니다 . 그렇다면 명령은 밑줄 그어진 장치를 출력합니다.
출력을 구문 분석해야 하기 때문에 이것을 스크립트 친화적이라고 부르지는 않겠지만 작동할 것입니다.