SDB:Disabilitare btrfsmaintenance

(Reindirizzamento da SDB:Disable btrfsmaintenance)


Situazione

È desiderabile disabilitare la manutenzione automatica dell'unità in a favore di quella manuale.

Procedure

Disabilitazione della manutenzione programmata

In /etc/sysconfig/btrfsmaintenance puoi disabilitare balance e scrub impostando quanto segue a "none"

BTRFS_BALANCE_PERIOD="none"
BTRFS_SCRUB_PERIOD="none"

Dalla Leap 15 e in Tumbleweed c'è un'unità systemd btrfsmaintenance-refresh.service che viene chiamata (tramite il percorso dell'unità systemd btrfsmaintenance-refresh.path) quando/etc/sysconfig/btrfsmaintenance viene modificato. Questa unità aggiorna automaticamente i processi timers/cron di systemd.

fstrim.timer

Come notato in /etc/sysconfig/btrfsmaintenance, c'è anche fstrim.timer, che non fa parte di btrfsmaintenance. Per disabilitarlo:

# systemctl disable fstrim.timer
# systemctl stop fstrim.timer

Disinstallare btrfsmaintenance

Se non vuoi usare gli script di btrfsmaintenance che si trovano in /usr/share/btrfsmaintenance, puoi semplicemente disintallarli:

zypper rm btrfsmaintenance

Per prevenire la loro reinstallazione:

zypper al btrfsmaintenance

Eseguire la manutenzione manuale

Balance

"Se ci sono molti dati allocati ma inutilizzati o blocchi di metadati, un balance può recuperare parte di quello spazio allocato. Questo è il motivo principale per l'esecuzione di un balance su un file system a dispositivo singolo."

Usando il partizionamento predefinito di openSUSE e le impostazioni predefinite di btrfsmaintenance, btrfs-balance.sh è equvalente a:

btrfs filesystem df /
btrfs balance start -dusage=0 /
btrfs balance start -v -dusage=5 /
btrfs balance start -v -dusage=10 /
btrfs balance start -musage=0 /
btrfs balance start -v -musage=3 /
btrfs filesystem df /

Puoi aggiungerlo a un file chiamato "balance" nella cartella /root/bin, e per renderlo eseguibile potresti scrivere:

chmod +x /root/bin/balance

Scrub

"btrfs scrub viene usato per cancellare un filesystem btrfs, che leggerà tutti i blocchi di dati e metadati da tutti i dispositivi e verificherà i checksum. Riparerà automaticamente i blocchi danneggiati, se è disponibile una copia corretta."

Senza il mirroring RAID dei dati, fornendo così quella "copia corretta", il comando scrub non fa altro che dirti che c'è un problema.

Con le impostazioni predefinite, btrfs-scrub.sh è equivalente a:

btrfs scrub start -Bd /

Trim

/usr/lib/systemd/system/fstrim.service chiama

fstrim -Av

Questo "eseguirà il trim in tutti i filesystem montati che sono menzionati in /etc/fstab sui dispositivi che supportano l'operazione di eliminazione".

"Per la maggior parte dei sistemi desktop e server, una frequenza di trim sufficiente è una volta alla settimana."

Collegamenti esterni