Ssd

安裝多個子卷時如何在 btrfs 上執行 SSD trim fstrim?

  • October 20, 2015

我正在使用 btrfs 並安裝了幾個子卷(但不是 btrfs 根)。它駐留在 SSD 分區上,所以我想使用fstrim. 我應該呼叫fstrim每個掛載點(每個對應不同的子卷)嗎?或者我是否需要安裝 btrfs root 並fstrim在此安裝點上執行?

fstrim應該在“mountpoint”上執行,所以你需要安裝設備。但是每個物理設備只需要呼叫一次。因此,如果 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它。

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