저는 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
.