Hogyan engedélyezhetem a TRIM-et?

184

Tudom, hogy a Linux kernel támogatja a TRIM-et a 2.6.33-as verziótól, így TRIM-támogatás szükséges az ubuntuban.

A TRIM alapértelmezés szerint engedélyezve van, vagy módosítani kell néhány beállítást, vagy további szoftvereket kell telepítenie ahhoz, hogy működjenek? Ha igen, hogyan?

    
készlet Uli 26.12.2010 13:44
forrás

2 válasz

195

Ubuntu 14.10 óta

Az Ubuntu 14.10 és 15.04 verziókban a TRIMM minden héten automatikusan megtörténik minden SSD-ben, amelyet afstrim támogat.

$ tail -n1 /etc/cron.weekly/fstrim 
/sbin/fstrim --all || true

Ubuntu 14.04

Az Ubuntu 14.04-es verziójától az alapértelmezés szerint az Intel, a SAMSUNG, az OCZ, a Patriot és a Sandisk SSD-k engedélyezve vannak. Ha van másik márkája, akkor letilthatja az eladó ellenőrzését a következő parancs futtatásával :

sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim

(vagy csak szerkesztsd a/etc/cron.weekly/fstrim fájlt, és adj hozzá--no-model-check)

Ubuntu 13.10 és korábban

Háromféle módon végezhet TRIM-et, kézi, ütemezett és automatikus:

Kézi TRIM

Az Ubuntuban fstrim végezhető el:

sudo fstrim /

azonban ez nem szükséges, ha az ütemezett vagy az automatikus TRIM engedélyezve van, az alábbi szakaszokban leírtak szerint.

Megjegyzés: Az Ubuntu 11.04 és a korábbi rendszerek esetében a fstrim nem áll rendelkezésre, így awiper.sh -kal együtt kell megadnihdparm -ban/usr/share/doc/hdparm/contrib/wiper.sh.gz

Ütemezett TRIM (ajánlott)

Ez az aktuálisan ajánlott módszer, és a az alapértelmezés szerint aktiválva van az Ubuntu 14.04 . Az ubuntu régebbi verzióin (11.10-13.10.) Manuálisan aktiválható:

Hozzon létre egy heti CRON feladat script fájlt:

gksudo gedit /etc/cron.weekly/fstrim

Illessze be a következő kódot a fájlba, majd mentse és zárja be a fájlt:

#! /bin/sh  

# By default we assume only / is on an SSD. 
# You can add more SSD mount points, separated by spaces.
# Make sure all mount points are within the quotes. For example:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'  

SSD_MOUNT_POINTS='/'  

for mount_point in $SSD_MOUNT_POINTS
do  
    fstrim $mount_point  
done

A fentiek feltételezik, hogy csak a/ gyökér fájlrendszer található az SSD-n. Ha több csatolási pont van, amelyek egy vagy több SSD-re oszlanak el, hozzáadja őket aSSD_MOUNT_POINTS -hoz, ahogyan azt a kód magyarázta.

A parancsfájl végrehajthatóvá tétele:

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

Végül teszteljük:

sudo /etc/cron.weekly/fstrim

Ha nem látsz hibát, akkor a cron munkádnak jól kell működnie.

Automatikus TRIM (elavult, lassú)

Az automatikus TRIM-et az Ubuntu 10.10 (2.6.33 kernel) óta támogatja az EXT4 fájlrendszerrel. Azonban a TRIM parancsok az SSD-hez való küldése valós idejű - minden törlés után - felismerték, hogy a meghajtóknál a szokásosnál sokkal lassabb törlés történt. Ezért javasoljuk a heti ütemezett TRIM-et cron-feladaton keresztül (fent leírtak szerint).

Ha engedélyezni szeretné az automatikus TRIM meghajtót vagy partíciót, adiscard opciót afstab -ban kell felszerelni. Először mentse el az fstab-t, majd nyissa meg a szerkesztéshez:

sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab

Add hozzá adiscard értéket az SSL-meghajtó vagy az egyes partíciók fstab beállításainak bejegyzéséhez (vesszővel elválasztva).

UUID=00000000-0000-0000-0000-000000000000  /  ext4  discard,errors=remount-ro  0  1

Zárja be és mentse el az fstab-ot, majd indítsa újra az eszközt, és működjön az automatikus TRIM.

Automatikus TRIM teszt

A TRIM működésének ellenőrzéséhez adja ki a következő parancsokat ( forrás ):

cd  / # Replace with SSD file system
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile

A kimeneti példányban abegin_LBA alatti számot, és ellenőrizze az SSD eszközének nevét:System->Administration->Disk Utility, pl. sda, sdb, sdc ...

Futtassa a következőket, de cserélje le a[ADDRESS] (begin_LBA) és asdX (SSD eszköznév) fentebb ismertetett részleteket.

sudo hdparm --read-sector [ADDRESS] /dev/sdX 

a kimenetnek hosszú karakterláncnak kell lennie ezeknek a szektoroknak

sudo rm tempfile
sync

Ismételje meg a fentihdparm parancsot:

sudo hdparm --read-sector [ADDRESS] /dev/sdX 

Ha csak nullát kap, akkor az automatikus TRIM működik. Ha azonban a fájl eltávolítása után az ágazatok még mindig nem üresek, várjon egy kicsit, és futtassa újra a parancsot.

    
válasz adott Uli 30.09.2015 23:58
forrás
26

Ha titkosítást használsz, akkor az eddig írt megoldások nem segítenek Önnek, mert a titkosítási rétegben engedélyezni kell a TRIM támogatását is. Ez a kernelverziók 3.1+ és a cryptsetup 1.4+ verzióiban is elvégezhető, amelyek mindegyike szerepel az Ubuntu 12.04 verziójában.

Keresse meg az útmutatót a TRAM beállításához a LUKS titkosított partíciókhoz itt

A TRIM aktiválása az Ubuntu LUKS titkosított partícióiban Debian

Ez a lépésenkénti lépés lehetővé teszi, hogy kihasználja a titkosított SSD partíciók TRIM technológiáját a cryptsetup 1.4 vagy újabb verziójára és a 3.1 vagy újabb kernelre. Ez egy gondtalan SSD-élményhez vezet, mivel

  

"A TRIM lehetővé teszi az SSD számára, hogy kezelje a szemétgyűjtést   egyébként jelentősen lassítaná a jövőbeli írási műveleteket a   előre blokkolt blokkokat tartalmaz. "

Példa beállítás

Notebook az SSD-vel egyetlen meghajtó, Linux telepítve egyetlen ext4 LVM root partícióban LVM swap partícióval, mind a LUKS titkosított logikai partíción.

SSD: / dev / sda

sudo fdisk -l /dev/sda
/dev/sda1               # boot partition (83) (unencrypted, ext4)
/dev/sda2               # extended partition
/dev/sda5               # logical partition (83) with LUKS encryption

ls /dev/mapper
/dev/mapper/sda5_crypt         # encrypted LUKS device in physical /dev/sda5 partition
/dev/mapper/volumegroup-root   # rootpartition sda5_crypt
/dev/mapper/volumegroup-swap   # swap partition sda5_crypt

HowTo

  1. Biztonsági másolatot készít az összes adatáról. Csinálsz a fájlrendszereddel így egy biztonsági mentés egyszerűen jó ötlet.
  2. Győződjön meg róla, hogy rendelkezik a kernel és cryptsetup verziókkal (3.1 & 1.4. az Ubuntu 12.04-ben, vigyázz, de az íráskor 12.04 még mindig béta).
  3. Adja a selejtezési paramétert a titkosított fájlrendszerbeállításokhoz LVM kötet (ek) az / etc / fstab fájlban. Ez teszi a az LVM partíció tudatában van annak, hogy használni akarja a TRIM-et.

    /dev/mapper/volumegroup-root    /   ext4 discard,noatime,nodiratime,errors=remount-ro    0    1
    
  4. Az utolsó lépés azonban nem elég. Mindaddig, amíg a LUKS nem ismeri hogy használni szeretné a TRIM-et, hatékonyan blokkolja az összes TRIM-et az LVM partíció fájlrendszeréből érkező műveletek, a biztonság érdekében okok miatt. Adja hozzá a visszadobás paraméterét a kriptográfiai beállításokhoz / etc / crypttab, hogy a LUKS elfogadja az LVM visszadobási viselkedését partíció.

    sda5_crypt UUID=e364d03f-[...]6cd7e none luks,discard
    
  5. Újítsa meg az initramf-okat. A crypttab beállítások itt és ott tárolódnak a rendszerindításkor használt.

    sudo update-initramfs -c -k all
    
  6. Újraindít.

  7. Ellenőrizze, hogy a TRIM aktív-e.

    sudo dmsetup table /dev/mapper/sda5_crypt --showkeys
    
  8. Ha az utolsó parancs olyan eredményt jelenít meg, mint ez (1 allow_discards a végén), akkor minden beállítva.

    0  77656056  crypt  aes-cbc-essiv:sha256  abc[...]c7a0c  0  8:5  2056  1  allow_discards
    

Eredmény

A TRIM aktiválva van. Élvezze a problémamentes SSD-t!

    
válasz adott nem75 14.04.2012 17:00
forrás