여러 하위 볼륨이 마운트된 경우 btrfs에서 SSD Trim fstrim을 실행하는 방법은 무엇입니까?

여러 하위 볼륨이 마운트된 경우 btrfs에서 SSD Trim fstrim을 실행하는 방법은 무엇입니까?

저는 btrfs를 사용하고 있으며 여러 하위 볼륨을 마운트했습니다(그러나 btrfs 루트는 아님). SSD 파티션에 있으므로 를 사용하고 싶습니다 fstrim. fstrim각 마운트 지점을 호출해야 합니까(각 마운트 지점은 다른 하위 볼륨에 해당함)? 아니면 btrfs 루트를 설치하고 fstrim이 마운트 지점에서 실행해야 합니까?

답변1

fstrim"마운트 지점"에서 실행되어야 하므로 장치를 마운트해야 합니다. 하지만 물리적 장치당 한 번만 호출하면 됩니다. 따라서 2개의 마운트 지점이 btrfs와 동일한 장치에 있는 경우 fstrim하나의 마운트 지점만 호출하면 됩니다.

다음 답변을 찾았습니다. https://forums.gentoo.org/viewtopic-t-1003980-view-previous.html?sid=a51dab49787e5b7b6c2fa4aa7c1a5e44

나는 이렇게 한다:

#!/bin/sh
LOG=/var/log/fstrim.log
echo "===" $(date -R) "===" >> $LOG
for d in $(lsblk -o MOUNTPOINT,FSTYPE | grep -E 'btrfs' | awk '{print $1}'); do
    fstrim -v $d 2>&1 >> $LOG
done

스크립트가 /etc/cron.weekly/fstrim실행 파일로 배치되고 설정됩니다.

sudo chmod +x /etc/cron.weekly/fstrim

이 스크립트는 lsblk를 사용하여 블록 장치를 나열합니다. "btrfs" 장치를 검색하여 부팅 중입니다 fstrim.

관련 정보