我正在使用 btrfs 并安装了多个子卷(但不是 btrfs 根)。它驻留在 SSD 分区上,所以我想使用fstrim
.我应该fstrim
调用每个挂载点(每个挂载点对应不同的子卷)吗?或者我是否需要安装 btrfs root 并fstrim
在此安装点上运行?
答案1
fstrim
应该在“安装点”上运行,因此您需要安装设备。但每个物理设备只需调用一次。因此,如果 2 个挂载点与 btrfs 位于同一设备上,则只需调用fstrim
一个挂载点。
我这样做:
#!/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
。