GNU/Linux >> Znalost Linux >  >> Linux

Prodlužte životnost svého SSD disku pomocí fstrim

Za posledních deset let přinesly disky SSD (Solid State Drive) nový způsob správy úložiště. SSD mají výhody, jako je tichý a chladnější provoz a rychlejší specifikace rozhraní ve srovnání s jejich staršími předchůdci. Nová technologie s sebou samozřejmě přináší nové způsoby údržby a řízení. SSD disponují funkcí zvanou TRIM. Toto je v podstatě metoda pro znovuzískání nepoužitých bloků na zařízení, které mohly být dříve zapsány, ale již neobsahují platná data, a proto je lze vrátit do obecného úložiště pro opětovné použití. Don Watkins z Opensource.com poprvé napsal o TRIM ve svém článku z roku 2017 „Solid-state Drives in Linux:Enabling TRIM for SSDs.“

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Pokud jste tuto funkci používali na svém systému Linux, pak pravděpodobně znáte dvě níže popsané metody.

Staré způsoby

Zahodit

Původně jsem to povolil volbou discard v příkazu mount. Konfigurace je umístěna do /etc/fstab soubor pro každý souborový systém.

# cat /etc/fstab
UUID=3453g54-6628-2346-8123435f  /home  xfs  defaults,discard   0 0

Možnost vyřazení umožňuje automatické online TRIM. Nedávno se vedla diskuse o tom, zda je to nejlepší metoda kvůli možným negativním dopadům na výkon. Použití této možnosti způsobí, že se TRIM spustí pokaždé, když jsou na disk zapsána nová data. To může způsobit další aktivitu, která narušuje výkon úložiště.

Cron

Odebral jsem možnost zahození z fstab soubor. Potom jsem vytvořil úlohu cron pro volání příkazu na plánovaném základě.

# crontab -l
@midnight /usr/bin/trim

Toto je metoda, kterou jsem naposledy používal na svých systémech Ubuntu Linux, dokud jsem se nedozvěděl o jiném způsobu.

Nová služba TRIM

Nedávno jsem zjistil, že existuje služba systemd pro TRIM. Fedora toto zavedla do své distribuce ve verzi 30, a ačkoli to není ve výchozím nastavení povoleno ve verzích 30 a 31, plánuje se, že bude ve verzi 32. Pokud pracujete na Fedora Workstation 31 a chcete začít používat tuto funkci, můžete ji velmi snadno aktivovat. Níže vám také ukážu, jak to otestovat. Tato služba není jedinečná pro Fedoru. Existence a stav bude záviset na individuální distribuční bázi.

Test

Rád nejprve testuji, abych lépe pochopil, co se děje v zákulisí. Dělám to tak, že otevřu terminál a vydám příkaz, pro jehož volání je služba nakonfigurována.

/usr/sbin/fstrim --fstab --verbose --quiet

–nápověda argument pro fstrim popíše tyto a další argumenty.

$ sudo /usr/sbin/fstrim --help

Usage:
 fstrim [options] <mount point>

Discard unused blocks on a mounted filesystem.

Options:
 -a, --all           trim all supported mounted filesystems
 -A, --fstab         trim all supported mounted filesystems from /etc/fstab
 -o, --offset <num>  the offset in bytes to start discarding from
 -l, --length <num>  the number of bytes to discard
 -m, --minimum <num> the minimum extent length to discard
 -v, --verbose       print number of discarded bytes
     --quiet         suppress error messages
 -n, --dry-run       does everything, but trim

 -h, --help          display this help
 -V, --version       display version

Takže teď vidím, že služba systemd je nakonfigurována tak, aby spouštěla ​​trim na všech podporovaných připojených souborových systémech v mém /etc/fstab soubor –fstab a vytiskne počet vyřazených bajtů – podrobné ale potlačte všechny chybové zprávy, které se mohou objevit – tichý . Znalost těchto možností je pro testování užitečná. Například mohu začít tím nejbezpečnějším, což je běh na sucho. Vynechám také tichý argument, abych mohl určit, zda se při nastavení disku vyskytnou nějaké chyby.

$ sudo /usr/sbin/fstrim --fstab --verbose --dry-run

To jednoduše ukáže, co je fstrim příkaz provede na základě systémů souborů, které najde nakonfigurované ve vašem /etc/fstab soubor.

$ sudo /usr/sbin/fstrim --fstab --verbose

To nyní odešle operaci TRIM na jednotku a podá zprávu o počtu vyřazených bajtů z každého systému souborů. Níže je uveden příklad po mé nedávné čerstvé instalaci Fedory na nový NVME SSD.

/home: 291.5 GiB (313011310592 bytes) trimmed on /dev/mapper/wkst-home
/boot/efi: 579.2 MiB (607301632 bytes) trimmed on /dev/nvme0n1p1
/boot: 787.5 MiB (825778176 bytes) trimmed on /dev/nvme0n1p2
/: 60.7 GiB (65154805760 bytes) trimmed on /dev/mapper/wkst-root

Povolit

Fedora Linux implementuje službu systemd timer, jejíž spuštění je naplánováno na týdenní bázi. Chcete-li zkontrolovat existenci a aktuální stav, spusťte systemctl status .

$ sudo systemctl status fstrim.timer

Nyní povolte službu.

$ sudo systemctl enable fstrim.timer

Ověřit

Poté můžete ověřit, že je časovač povolen, uvedením všech časovačů.

$ sudo systemctl list-timers --all

Následující řádek odkazuje na fstrim.timer objeví se. Všimněte si, že časovač ve skutečnosti aktivuje fstrim.service . Odtud je skutečný fstrim je nazýván. Pole související s časem zobrazují n/a protože služba byla právě povolena a ještě se nespustila.

NEXT   LEFT    LAST   PASSED   UNIT           ACTIVATES
n/a    n/a     n/a    n/a      fstrim.timer   fstrim.service

Závěr

Tato služba se zdá být nejlepším způsobem, jak spustit TRIM na vašich discích. Volání fstrim je mnohem jednodušší než vytvoření vlastního záznamu crontab příkaz. Je také bezpečnější, že nemusíte upravovat fstab soubor. Bylo zajímavé sledovat vývoj technologie pevných úložišť a je příjemné vědět, že se zdá, že Linux směřuje ke standardnímu a bezpečnému způsobu jeho implementace.


Linux
  1. Zabezpečte své kontejnery pomocí SELinux

  2. Odstraňte problémy se sítí pomocí tcpdump

  3. Jak využít výhod objektu VDSO s vlastním programovacím jazykem?

  1. Spravujte svůj kalendář z terminálu Linux pomocí příkazu konsolekalendar

  2. Optimalizujte své prostředí GNOME pomocí textového editoru Gedit

  3. Jak rozšířit funkčnost vašeho Linuxového desktopu pomocí PlexyDesk

  1. Oživte svůj RSS kanál pomocí Newsboat v terminálu Linux

  2. Přizpůsobte si plochu Linuxu pomocí prostředí Trinity Desktop Environment

  3. Naučte se Linux s Raspberry Pi