Como executar o SSD trim fstrim no btrfs ao montar vários subvolumes?

4

Estou usando o btrfs e montei vários subvolumes (mas não a raiz do btrfs). Ele reside na partição SSD, então eu gostaria de usar fstrim . Devo chamar fstrim em cada ponto de montagem (correspondente a cada subvolume diferente)? Ou preciso ter a raiz do btrfs montada e executar fstrim neste ponto de montagem?

    
por Stepan 09.09.2014 / 16:06

1 resposta

3

fstrim deve ser executado em "mountpoint", então você precisa ter dispositivos montados. Mas você só precisa chamá-lo uma vez por dispositivo físico. Portanto, se dois pontos de montagem estiverem no mesmo dispositivo com btrfs, você só precisará chamar fstrim em um ponto de montagem.

Encontrando esta resposta: link

Eu faço assim:

#!/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

Este script é colocado em /etc/cron.weekly/fstrim e define executável:

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

O script faz uso do lsblk que lista os dispositivos de bloco. Estou pesquisando dispositivos "btrfs" e lanço fstrim nele.

    
por 20.10.2015 / 02:33

Tags