2024. március 19., kedd

Gyorskeresés

Linux SSD-n - de hogyan? - Tippek nagyon kezdőknek is - Frissítve!

Írta: | Kulcsszavak: Linux . SSD . TRIM . Ubuntu . Mint

[ ÚJ BEJEGYZÉS ]

NVME SSD meghajtók - ellenőrzés Linux alatt

2020. 03. 01. - NVME SSD téma fenti linken külön kerül szóba.

******************************************************************************

Ez az írás 14.04.x alapon készült, mindenki ennek tudatában olvasgassa!

***********************************************************************
FRISS!

Ubuntu 18.04 alapú disztribúcióktól kezdve változott a helyzet, nem a Cron-nal van megoldva a TRIM, hanem a systemctl-lel (systemd):

systemctl list-timers -a terminal parancs kiadásával meg tudod nézni milyen időzített feladatok futnak le.

sudo journalctl -u fstrim.timer terminal parancs ellenőrzi a TRIM végrehajtását.

Be lehet állítani a napi rendszerességgel történő fstrim futtatást is.

Én még fentiek miatt is, de egyébként is, látom létjogosultságát a discard opciónak az FSTAB-ba rakva. Alap felhasználásnál abszolút semmi hátránya nincs, előnye viszont, hogy mivel online TRIM-melést végez, soha nem marad trimmeletlen az SSD. :)

Egyes SSD tipusoknál nem célszerű használni a discard-ot, max ennyit lehet megjegyezni. Ezeket az alább látható blacklist felsorolja.

Ezeknél a tipusoknál a kernelben tiltva van az ún. queued TRIM, emiatt a TRIM valós azonnali módban fut le. Ez azonban csak akkor okozhat lassulást, ha a discard használata eddig is ellenjavallt volt. Normál felhasználói módban történő használatban nincs észrevehető lassulás!

FRISS!
********************************************************************************

A mai modern Linux kiadások jól kezelik az SSD-ket.

Készült egy cikk Linux és SSD gyorstalpaló címmel hozzáértőknek Ubuntu 12.04 alapon.
Ha ez nehéz kicsit vagy más alapú Linuxot használsz, az alábbi ellenőrző parancsokkal tudunk pár szükséges infóhoz jutni.

Ez az írás 14.04.x alapon készült, ez talán annyiban változás, hogy az Ubuntu alapokon nyugvó disztrók már auto módban kezelik a TRIM- et, de ez így eddig még csak Intel és Samsung SSD-re igaz!

FIGYELEM ! Aki az alábbi fekete listás SSD tipusokkal rendelkezik, ne használja a discard opciót!!!

forrás

Ha a Samsung SSD-ken a discard opciót használod, akkor az ütemezett TRIM nem hajtódik végre normálisan (adatvesztést okozhat), ezért a kernel kikényszeríti az azonnali végrehajtást, ez teljesítményromláshoz, ill. a meghajtó fokozottabb elhasználódásához vezet. !!!

#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e

# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g. https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all

Samsung és a a képen látható SSD tipusok esetén az alábbi scriptet érdemes használni,mivel a "NULL" érték alapján az összes firmware érintett ill. a többi érintett tipus közül azoknál, melyek a "MU01" firmware-t használják.

script forrás

#!/bin/sh

# Az SSD_MOUNT_POINTS változóban sorold fel a csatolási pontokat.
# Elválasztónak használj szóközt.

LOG=/var/log/fstrim.log
SSD_MOUNT_POINTS='/ /home'

for mount_point in $SSD_MOUNT_POINTS
do
echo "* $(date -R) *" >> $LOG
fstrim -v $mount_point >> $LOG
done

Arch alapon másképp oldották meg, mint egy példából láthatjuk is. Debian 8- at még nem éri az idők szele annyira, így mindenképpen célszerű magunknak megcsinálni az optimalizálást, de aki Jessie-t használ, annak ez nem gond. :)

★★★ Ellenőrzések előtt szükséges tisztázni, hogy a /dev után lévő meghajtó betűjelet jól kell megadni, ha csak egy meghajtó van, akkor biztosan sda lesz, általában az SSD-t első portra csatlakoztatjuk, így akkor is sda lesz, ha több meghajtó van. ★★★

● Ha meg akarod állapítani, működik-e a TRIM az SSD-n, akkor azt az alábbi terminal parancs kiadásával ellenőrizheted:

sudo hdparm -I /dev/sda | grep "TRIM supported"
-ez ellenőrzi, hogy a TRIM támogatott-e
-egy tipikus válasz:
* Data Set Management TRIM supported (limit 1 block)

-a válasz supported, tehát minden OK! A block limit értékkel nem érdemes foglalkozni, tipustól függ, hogy 1, 4, vagy 8 block

● Ubuntu alapú disztrók általában /etc/cron.weekly-ből hetente lefuttatják az fstrim parancsot, ellenőrizheted ennek a működését is:

sudo run-parts -v /etc/cron.weekly
eredmény, ha benne van
run-parts: executing /etc/cron.weekly/fstrim

● Arch alapú disztrók inkább a discard opciót használják alapból, az Antergos 4.0.5 kernellel fstab-ja:

# <file system> <mount point> <type> <options> <dump> <pass>
#
UUID=343c06ab-93d4-40f7-8734-a538888a45e2 / ext4 defaults,rw,noatime,discard 0 1
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

● Manuálisan is kiadhatjuk a TRIM-re vonatkozó parancsot:

fstrim -v / vagy fstrim -v /home , külön a /home partícióra

fontos ellenőrizni az alignálást is :

sudo blockdev --getalignoff /dev/sda
-ez a parancs terminalból leellenőrzi, hogy az alignálás rendben van- e. Itt a nulla az érték, ha jó az alignálás, de ez a másik módszer is jelzi, ha rendben van:

sudo fdisk -l /dev/sda | grep -E sda[0-9]+ | sed s/*// | awk '{printf ("%s %f ",$1,$2/512); if($2%512){ print "ROSSZ" }else {print "OK"} }' | column -t

Ha azt írja a partíciókra, hogy OK, akkor jó, de ha nem, akkor rendbe kell tenni az alignálást. Kivétel, ha a kiterjesztett partícióra jelzi, hogy ROSSZ, ez egy hiba, nem kell vele foglalkozni.

további ellenőrző parancsok:

sudo dmesg | grep -i sata | grep 'link up'
-SATA link ellenőrzése, ebből megtudod, hogy SATA1, 2 vagy 3 átvitelt alkalmaz a Linux.

sudo hdparm -Tt /dev/sda
-lemezolvasás ellenőrzése

dmesg | grep -i --color ahci
-AHCI ellenőrzése

sudo smartctl --all /dev/sda
-SMART adatok ellenőrzése

cat /sys/block/sda/queue/scheduler
az eredmény a zárójelben lévő:
noop [deadline] cfq
-I/O ütemező ellenőrzése, a bejelöltet használja a meghajtó, home userként nem sok jelentősége van szerintem ! - itt most érdemes elolvasni fentebb is linkelt cikk ide vonatkozó részét !

● Ha a TRIM ellenőrzése során azt látjuk, hogy nem fut auto módban, több módon is segíthetünk a dolgon. A legegyszerűbb az fstab szerkesztése.

ALT+F2 lenyomásával előjön egy kis ablak, abba beírod, hogy
xed admin:///etc/fstab itt a xed a szövegszerkesztő neve, aki mást használ, értelemszerűen azt a neved adja meg
beírod a jelszavad és felugrik a root joggal szerkeszthető fstab

MINTA fstab
ubyegon@ubyF2A85-M ~ $ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=77c25673-61fa-4a22-b7c5-dac3295027b3 / ext4 discard,noatime,errors=remount-ro 0 1

Utolsó sor számít, lehetnek még további bejegyzések, de azokat kihagytam most!

Beírod a discard-ot és mented a fájlt. Az utána lévő noatime opciót is beírhatod, ezzel azt a parancsot adod ki, hogy ne frissítse a meghajtón az utolsó fájl hozzáférés időpontját.
Ha van külön /home partíció, annak a sorába is be kell írni ezeket, de ha van külön /boot partíció, abba ne írd be semmiképpen!

reboot

A tmpfs, swapiness, böngésző ramból futtatása a fent linkelt cikkben van leírva, azokat nem tudom egyszerűbben leírni.

Bodor szaki fontos írásai:

Milyen SSD-t vegyek?
Az SSD kondíciója, tények és tévhitek

Egy igényes teszt King Unique fórumtársunktól:

SSD tesztelése külső USB 3.0 házban (TRIM, BOT vs. UASP)

További hasznos linkek SSD optimalizálás témában:

How to check hard disk performance
Enable TRIM On SSD (Solid-State Drives) In Ubuntu For Better Performance
SSDOptimization Debian
Solid State Drives Arch
How to Tweak Your SSD in Ubuntu for Better Performance
How to enable TRIM?
Linux optimalizálása SSD-hez
TRIM wikipédia
HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions
HOWTO: Check If TRIM On Ext4 Is Enabled And Working On Ubuntu And Other Distributions
How to Enable TRIM For SSD in Ubuntu
How to properly activate TRIM for your SSD on Linux: fstrim, lvm and dm-crypt
Easy tips for Linux Mint and Ubuntu, both for beginners and for advanced users.

Hozzászólások

(#1) ubyegon2


ubyegon2
nagyúr

A segítség mindig jól jön, ha van módosításra javaslat, ne fogjátok vissza magatokat!

Laikus gyűjtése leendő felhasználóknak, kezdőknek, ezt vegyük figyelembe. :)

[ Szerkesztve ]

(#2) AllTheBest


AllTheBest
senior tag

Mindig is érdekelt a linux, csak sajnos kezdőként nem igazán látom át a dolgokat rajta, esetleg valami korrekt leírást tudnál ajánlani kezdőknek? :) Mármint alapvető tudnivalók, mit hol lehet találni stb. Nagyon szívesen áttérnék windowsról

Esetleges elírásokért elnézést kérek, kevesebb ujjal nehezebb pontosan írni :) ---> Xiaomi Mi 9T 128gb

(#3) ubyegon2 válasza AllTheBest (#2) üzenetére


ubyegon2
nagyúr

Szerintem, ha ezt a topik összefoglalót átolvasod kezdetnek, kedvet kapsz hozzá. A Linux Mint tűnik kezdőknek a legjobb választásnak és magyar leírása, kézikönyve, weboldala is van.
A Linux abszolút kezdőknek topik szintén hasznos lehet számodra, általános, így jobban is pörög! Hamar és hatékonyan segítenek a kezdőknek.

(#4) AllTheBest válasza ubyegon2 (#3) üzenetére


AllTheBest
senior tag

Köszönöm :) Holnap lehet átrágom magam rajta :)

Esetleges elírásokért elnézést kérek, kevesebb ujjal nehezebb pontosan írni :) ---> Xiaomi Mi 9T 128gb

(#5) sonar


sonar
addikt

Szép munka!

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#6) ubyegon2 válasza sonar (#5) üzenetére


ubyegon2
nagyúr

:R

Remélem tényleg érthető lesz a nálam nokedlibbeknek is!

(#4) AllTheBest Jó ötlet! Akár ki is próbálhatod pendrive- ról, DVD- ről valamelyik disztrót live módban futtatva. Azt, hogy melyik asztali kezelőfelülettel próbáld ki, nagyban meghatározza milyen a géped! Win alól a win32diskimager segítségével a legegyszerűbb egy iso- t pendrive- ra kiírni.
Ha úgy döntesz, hogy elkezded kipróbálni, az említett topikokban nyugodtan feltehetsz bármilyen kérdést, fel vannak készülve az abszolút kezdőkből! :)

Itt is körülnézhetsz, van miből választani.

[ Szerkesztve ]

(#7) ncc1701


ncc1701
veterán

12.04... Rakd fel a legújabbat, ha gondolod, fstabban állíts be discardot telepítésnél, és használd, mint egy hagyományos lemezt. Nem a fáradástól fog meghalni jó eséllyel, hanem a vezérlő adja meg magát.

(#8) ubyegon2 válasza ncc1701 (#7) üzenetére


ubyegon2
nagyúr

Ezt mihez, kinek írod? :F

12.04- et a hivatkozott Linux és SSD gyorstalpaló cikk vesz alapul.

...mai modern Linux változatok frissebb verziói már jó kezelik az SSD- ket, ha nem is mindegyiket alap/auto módban.

Fenti mondat alapján én is 12.04- et használok? sokat persze nem számítana, ha azt használnám

Egyébként, ha nincs kedved végigolvasni a cikket, nem értem miért szólsz hozzá!? Nem, mint ha zavarna, csak nincs sok értelme így. :)

[ Szerkesztve ]

(#9) #21078528 válasza ncc1701 (#7) üzenetére


#21078528
törölt tag

A 12.04 pont úgy kezeli az SSD-ket, mint a 15.04, az hogy közben alapból bekerült egy cron feladat, a lényegen semmit nem változtat...
Az hogy néhány újabb disztró telepítéskor érzékeli, hogy SSD-re rakják, és alapból beállítja az fstabban a discardot, a lényegen szintén semmit nem változtat...
Az egyetlen komolyabb változása az elmúlt időszaknak (12.04 óta), hogy a 3.7-es kernel óta JFS-hez is van TRIM (vissza is állok hamarosan :K ).

ubyegon2: azért olyat ne írj az ütemezőre, hogy "home userként nem sok jelentősége van". Igaz, hogy a CFQ-t most pofozzák, hogy jobban teljesítsen SSD-knél, és az Ubu/Mint/stb. alapértelmezett deadline-ja egy jó kompromisszum, és a csodafegyver BFQ egyre több disztróban alapértelmezett, de ha noop-ra állítod, érezni fogod, hogy még mindig az a leggyorsabb... ;) :K

Egyébként OK a cikk! :C

(#10) ubyegon2 válasza #21078528 (#9) üzenetére


ubyegon2
nagyúr

Értelek és köszi! :)

"home userként nem sok jelentősége van" - azért írtam, mert így gondoltam, de mivel laikus vagyok, nem hülye, így figyelembe veszem javallatodat most is módosítva lett az érintett rész. :R

(#8) ubyegon2- ban a link nem az említett cikkre mutat, de benne van. :B

Antergos külön kezeli az SSD- t, Debian Jessie mindent cfq- ra tett.

~]$ for f in /sys/block/sd?/queue/scheduler; do printf "$f -> "; cat $f; done
/sys/block/sda/queue/scheduler -> noop [deadline] cfq
/sys/block/sdb/queue/scheduler -> noop deadline [cfq]
/sys/block/sdc/queue/scheduler -> noop deadline [cfq]
/sys/block/sdd/queue/scheduler -> noop deadline[cfq]

Miért nem használják a noop- ot egyébként a disztrók, ha az jobb/gyorsabb?
Valami hátránya csak lehet. BFQ- t még nem láttam egyik disztróban sem.
Frissíteni kell az ütemezővel kapcsolatos ismereteimet ezek szerint.
Egyébként, ha átállítom noop- ra az SSD ütemezőt, tudom ellenőrizni valahogyan, hogy változik- e a gyorsasága?

[ Szerkesztve ]

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.