Felhasználói eszközök

Eszközök a webhelyen


Oldalsáv

Index menü


Tagek listája

Szavak listája

tudasbazis:linux:discard

discard (trim/unmap)

A legelső generációs SSD-ket leszámítva minden modern SSD támogatja a discard funkciót, amivel blokkokat lehet „üresnek” jelölni anélkül, hogy konkrétan kinulláznánk fizikailag.

Ennek két előnye van:

  • Egyfelől nem öregítjük egy törléssel feleslegesen magát a memória modulokat
  • Másfelől pedig egyértelműen jelöljük az SSD vezérlője felé, hogy ezek a területek szabadok. Így a vezérlő ezt a területet is igénybe fogja venni „wear leveling”-re az élettartam kiterjesztése érdekében.
ATA csatolón trim, SCSI csatolón unamp a kiadott vezérlő parancs neve

Hardware támogatás ellenőrzése

hdparm -I /dev/sda | grep TRIM

Hardware inkompatibilitás

… avagy Samsung SSD 8xx hiba

  1. dmesg:
    ata1.00: status: { DRDY }
    ata1.00: failed command: WRITE FPDMA QUEUED
    ata1.00: cmd 61/10:e8:80:7e:14/00:00:1a:00:00/40 tag 29 ncq 8192 out
             res 40/00:08:e8:7e:14/00:00:1a:00:00/40 Emask 0x10 (ATA bus error)
    ata1.00: status: { DRDY }
    ata1.00: failed command: WRITE FPDMA QUEUED
    ata1.00: cmd 61/08:f0:98:7e:14/00:00:1a:00:00/40 tag 30 ncq 4096 out
             res 40/00:08:e8:7e:14/00:00:1a:00:00/40 Emask 0x10 (ATA bus error)
    ata1.00: status: { DRDY }
    ata1: hard resetting link
    ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    ACPI Error (psargs-0359): [DSSP] Namespace lookup failure, AE_NOT_FOUND
    ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.SAT0.SPT0._GTF] (Node ffff88081c8e9d58), AE_NOT_FOUND
    ata1.00: supports DRM functions and may not be fully accessable.
    ACPI Error (psargs-0359): [DSSP] Namespace lookup failure, AE_NOT_FOUND
    ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.SAT0.SPT0._GTF] (Node ffff88081c8e9d58), AE_NOT_FOUND
    ata1.00: supports DRM functions and may not be fully accessable.
    ata1.00: configured for UDMA/133
    ata1: EH complete
  2. a https://serverfault.com/a/244975/122703 segítségével kiderült, hogy az ata1.00 == scsi0 id 0 == sda, ez a disk pedig
    lshw -class disk -short
    H/W path         Device      Class          Description
    =======================================================
    /0/100/1f.2/0    /dev/sda    disk           512GB Samsung SSD 860
    /0/100/1f.2/1    /dev/cdrom  disk           CDDVDW SH-S223C
    /0/100/1f.2/2    /dev/sdb    disk           500GB WDC WD5003AZEX-0
    /0/100/1f.2/3    /dev/sdc    disk           1TB WDC WD1003FBYZ-0
    /0/100/1f.2/4    /dev/sdd    disk           1TB WDC WD1003FBYX-0
    /0/100/1f.2/5    /dev/sde    disk           1TB WDC WD1003FBYX-0
    /0/5/0.0.0       /dev/sdf    disk           2TB EZRX-00D8PB0
    /0/6/0.0.0       /dev/sdg    disk           6001GB EZRX-00MVLB1
  3. Így látszik, hogy az SSD-vel van gond:
  4. Emiatt tanácsos kernel paraméterrel kikapcsolni az QUEUED TRIM-et erre az eszközre:
    grub
    GRUB_CMDLINE_LINUX_DEFAULT="... libata.force=1.00:noncqtrim"

SSD-s rendszer beállítása

Alrendszer Config fájl Beállítás
dm-crypt (luks) /etc/crypttab discard mount opció
lvm /etc/lvm/lvm.conf issue_discards = 1 beállítás
fs /etc/fstab discard mount opció
Titkosított lemezen / fájlrendszeren való discard növeli az SSD élettartamát, de gyengíti a titkosítást!

Alkalom szerű TRIM-elés

Ha a fájlrendszer valamilyen okból kifolyólag nem discard opcióval van felcsatolva, hasznos lehet időnként a szabad területeket felszabadítani az SSD számára.

Minden kötet TRIM-elése:

fstrim -av

Teljes SSD törlése

Használhatjuk a TRIM-et teljes háttértároló „SSD-barát” kiürítésére is:

blkdiscard -v /dev/sda
Ez a művelet nem vonható vissza semmilyen adatvisszaállító programmal!
tudasbazis/linux/discard.txt · Utolsó módosítás: 2021.09.23 03:10 szerkesztette: tia