2020. május 31., vasárnap

Gyorskeresés

NVME SSD meghajtók - ellenőrzés Linux alatt: align, TRIM, hőmérséklet

Írta: |

[ ÚJ BEJEGYZÉS ]

Amit már tudunk:
A SATA csatolós SSD-ket már majd mindenki megtanulta ellenőrizni, optimalizálni és jelenleg már ezek szükségtelenné is váltak, mivel gyakorlatilag a desktop Linux disztrók alapból tökéletesen kezelik ezt a meghajtó fajtát is! A Linuxok egy része ütemezett TRIM-et hajt végre default heti fstrim futtatásával(Ubuntu és deratívái), más disztrók default az FSTAB-ban tartalmazzák a discard opciót, ami online TRIM-melést hajt végre(Arch és klónjai). Átlag felhasználónak gyakorlatilag mindegy melyik fut, valamelyik fusson és akkor működik a TRIM végrehajtása az eszközünkön.

Amit még nem tudunk: :N
Ami miatt mégis külön írást szentelek a témának külön és nem az eredeti SSD - Linuxon blogba szúrom be kiegészítésként e témát, az az, hogy egyre elterjedtebb a felhasználók körében az NVME protokolos SSD meghajtó. Árban alig van eltérés és igen kecsegtetően hangzik az 550MB/s helyett a 3000MB/s sebesség. :Y Az nem eme írás témája, hogy emiatt a felhasználók 95%-a teljesen értelmetlenül veszi a gyorsabb SSD-ket, mert nem gyorsabb a SATA SSD-nél. Akit ez mélyebben érdekel, a Flash SSD topikban olvashat erről bővebben.

A lényeg! Kell-e ellenőrizni az NVME SSD-ket, ha Linuxot használunk? :F Lehet, de felesleges!

Alignálás ellenőrzése

Végrehajtható ugyan, de a mai operációs rendszerek a meghajtókat tökéletesen alignálják, a Windows XP-nél volt még nem megfelelően beállítva a kezdő sector, de gyanítom NVME SSD-t senki nem XP-vel telepítette először.

Ha mégis ellenőrizni szeretnénk az align helyzetét:

A terminalba beírod a sudo parted /dev/sda parancsot, Enter, jelszó, meghajtó betűjelére* odafigyelve!
(* ennek pontos beazonosításában a sudo fdisk -l és a lsblk parancs segít)

hasonló kimenet jelenik meg:
ubyegon@WD-HP8570p:~$ sudo parted /dev/sda
[sudo] password for ubyegon:
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Nyomj kis p-t és a kimenet már tartalmazza is a partíciók adatait:
ubyegon@WD-HP8570p:~$ sudo parted /dev/sda
[sudo] password for ubyegon:
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: ATA WDC WDS500G2B0A (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 32,2GB 32,2GB primary ext4 boot
3 32,2GB 145GB 113GB extended
10 32,2GB 53,7GB 21,5GB logical ext4
9 53,7GB 71,9GB 18,3GB logical ext4
8 71,9GB 90,2GB 18,3GB logical ext4
7 90,2GB 108GB 18,3GB logical ext4
6 108GB 127GB 18,3GB logical ext4
5 127GB 145GB 18,3GB logical ext4
4 145GB 167GB 22,3GB primary ext4
2 167GB 489GB 322GB primary ext4

(parted)

Az utolsó sornál beírod a align-check parancsot

(parted) align-check
alignment type(min/opt) [optimal]/minimal?

Itt nyomsz egy o vagy m betűt

alignment type(min/opt) [optimal]/minimal? o
Partition number?

Partition number-hez pedig beírod a fenti kimenetek megfelelő számát

(parted) align-check
alignment type(min/opt) [optimal]/minimal? o
Partition number? 1
1 aligned
(parted)

Ha a szám mellé kiírja, hogy aligned, akkor minden OK! Sajna minden partíciónál külön-külön be kell írni az align-check parancsot és az o vagy m betűt, mielőtt a következő számot beírod.

TRIM ellenőrzése

Míg a SATA SSD-nél ez a legfontosabb ellenőrzés volt, NVME SSD esetén értelmetlenné vált, ugyanis a hagyományos TRIM, discard végrehajtását egy ATA utasításkészlet biztosította, ez értelemszerűen az NVME SSD-re nincs semmilyen hatással.

Hogyan tudjuk ellenőrizni mégis, hogy működik-e NVME SSD-nél a TRIM-elés? Meghökkentő módszert ismertetek most veletek:

- ellenőrizni kell, hogy az NVME SSD működik-e!

Fut rajta az oprendszer, és/vagy működik a r/w a tárolásra használt SSD?

Ha a válasz igen, akkor a TRIM is rendben van. :K

Az eszköz saját Dataset Management parancskészlete, pontosabban annak deallocate utasítása folyamatosan hajtja végre a TRIM-nek megfelelő műveletet adatmozgatás közben, quasi online TRIM-melést végez.

NVM Express
The NVM Express command set has a generic Dataset Management command, for hinting the host's intent to the storage device on a set of block ranges. One of its operations, deallocate performs trim. It also has a Write Zeroes command that provides a deallocate hint and allows the disk to trim and return zeroes.
forrás

Amit viszont mégis meg kell tennünk!

Inaktiváljuk a jó öreg libata-t és mindent, ami SATA-s SSD esetén TRIM szempontjából szükséges volt, most ügyesen inaktiváljuk!

- ha az FSTAB tartalmazza a discard kernel paramétert, azt abból töröljük!
- ha a systemd services-ek között ütemezve aktív az fstrim*, az inaktiváljuk!
*(ez sok vizet nem zavar amúgy, viszont abban az esetben, ha két külön csatolással ellátott SSD-nk van a gépben, akkor mindenképpen hagyjuk aktívan) :R májkimiki

NVME SSD hőmérséklet ellenőrzése:

https://www.namhuy.net/212/how-to-check-nvme-ssd-temperature-in-linux

Az FSTAB és a systemd-services szerkesztéséhez a Kezdő Linuxos topikban találtok helpet.

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

Ha valakit mélyebben érdekel, a kernelbe 2012-ben már bekerült a linux-nvme

Hozzászólások

(#1) ubyegon2


ubyegon2
(nagyúr)
LOGOUT blog

Úgy látom ell kell oszlatni ténybeli tévedéseket, így gyorsan összedobtam ezt a blogot a SATA-s SSD-k Linuxos blogtól elkülönítve. Még pofozgatni kell, kiegészítéseket, magyarázatokat belerakni, de a lényeg már benne van.

Aki e témában jártasabb nálam, megköszönnénk, ha jelezne minden szükséges kiegészítést, módosítás szükségességét, etc.

Frawly komát külön megidézem, hogy segítsen, mivel igen nagy tudója a témának! :R [link]

röviden, NVME SSD TRIM működésének ellenőrzése

-működik-e az SSD?

-Igen - ebben az esetben a TRIM-melés működik
-Nem - ebben az esetben a TRIM-melés nem működik

;)

[ Szerkesztve ]

محتاط کسان کسان سامنے دروازہ بند کرنے کے لئے نہیں!

(#2) Aweriot


Aweriot
(veterán)

Tök jó, ismét egy linuxos blog amiből egy szót se értek :DDD

"mindenki egy kicsit neonak érzi magát amikor először végigpörög az orra előtt egy apt update/upgrade"

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


ubyegon2
(nagyúr)
LOGOUT blog

Katonás nyelvezetben mondva, ne értse, hajtsa végre!

Eggyel több vagy kevesebb Linuxos téma, amit nem értesz.....nem tök mindegy. Én is hasonlóképpen vagyok ezekkel. :D

Hajnalban nem voltam képes felébredni és pont olvastam a Kezdőben a vonatkozó kérdést, gondoltam egy lendülettel írok egy hsz-t és talán fel is ébredek. Aztán blog lett inkább, mert ez az a téma, amit megblogolhatok, annyira nem érti senki, hogy nem kezdenek el egyből kötekedni velem.

Próbáld csak ki, ahhoz, hogy beleskössön valaki, ugyanúgy utána kéne olvasnia, mint nekem. :K

Amúgy meg legtöbb népek magához az SSD-hez sík dinnyék, ha ez megnyugtat. Főleg az M.2 okoz sok fejfájást, mivel az kétféle protokollal is létezik. No meg az NVME, itt aztán valóban tetten érhető, mekkora fosztogatást tudnak aranyköntösbe bújtatni a markecingesek. Főleg a Samsungnál, ilyen 970 Pro meg hasonló SSD-vel, ami tényleg piszok jó és gyors, no de annyiért?

[ Szerkesztve ]

محتاط کسان کسان سامنے دروازہ بند کرنے کے لئے نہیں!

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


Frawly
(őstag)

Alapvetően jó cikk, alaposan össze vannak hozzá válogatva a háttérinformációk. Látszik, hogy a kutatómunka rendesen bele lett téve.

Kisebb dolgokat írtam volna csak máshogy. Ez az align check működik, de elég bonyolultnak tűnik, nehezen követhető még annak is, aki behatóan ismeri a témát. Helyette lehet elég lenne az fdisk -l, és megnézni kézzel leosztva, hogy mivel oszthatók a partíciók kezdő szektorai, 512 bájtos logikai szektoroknál min. 8 szektorral kell oszthatónak lennie (4 KiB-os alignálás, de ez lehet nem elég minden SSD-n), megnyugtatóbb, ha legalább 32 szektorral osztható (16 KiB-os alignálás), de alapesetben 2048-cal is osztható szokott lenni (1 MiB-os alignálás), elég meglepő lenne, ha nem utóbbival lenne osztható. Modern OS-ekben, főleg Linuxoknál évek óta alap, hogy a particionálóprogramok és telepítők 1 MiB-tal csinálják a partíciók eltolását default, már sok éve ez az iparági sztenderd nem csak SSD-ken, hanem HDD-ken is.

A másik, hogy a discard az szerintem nem kernelparaméter, hanem mount paraméter, bár kicsit bizonytalan vagyok, hogy mégis a kernelnek is szól. Mindenesetre ezek a mount parancs paraméterei hivatalosan, így csak paramétereknek hívnám.

A harmadik, hogy a fstrim systemd service-t valóban érdemes letiltani, de nem azért, mert kárt okozna, mert úgyis hatástalan lesz NVMe-n, hanem csak hogy ne próbáljon lefutogatni rendszeresen a semmiért.

A negyedik dolog, hogy abban nem vagyok biztos, hogy az fstab-ban a discard paramétert törölni kéne. Legrosszabb esetben akár kellhet is, de ha nem is kell, kárt nem csinál. Megmondom őszintén, hogy ebben a kérdésben bizonytalan vagyok, mélyebben utána kéne néznem. Így lényegében nem is kötnék bele. Sanszosabb, hogy tényleg nem kell, mert nem csinál semmit NVMe-n, de ki tudja.

M.2-es SSD-ből 3 féle is van egyébként. M.2 SATA, M.2 PCIe AHCI, és M.2 PCIe NVMe. Persze az PCIe AHCI-t már nem gyártanak, a legutolsó a Samsung 950-es volt, ami támogatta, így gyakorlati jelentősége nincs ma már. Amelyik lap, gép kezel M.2 PCIe-t, az viszi az NVMe-t. Ha meg csak M.2 SATA-t támogató csatlakozóról van szó, akkor meg megint irreleváns, hogy M.2 PCIe-n belül milyen SSD kerül bele, mert nem fogja támogatni.

A Samsung 970 Pro igaz, hogy drága, de mivel a legjobb Flash NAND alapú konzumer SSD a piacon jó ideje, így annyit kérnek el érte, amennyit nem szégyellnek. Egy korlát van, az Intel Optane áráig nem mehetnek el, mert az jobb náluk, meg a szerverekbe szánt SLC SSD-k árszintjéig, de mindenki mást vernek, még a nemrég kijött PCIe 4.0-ás SSD-ket is (Aorus Gen4, Corsair MP600). Persze a legtöbb felhasználónak overkill a 970 Pro, de még az EVO és EVO Plus is, ha nem hajtja ki megfelelő géppel és speciális szoftverrel.

„Az Audacity egy kereszt-emelvény többsávos hangszerkesztő”

(#5) ubyegon2 válasza Frawly (#4) üzenetére


ubyegon2
(nagyúr)
LOGOUT blog

Köszi, azt is külön, hogy átnézted! :R Kora hajnalban írtam le ezeket, mert láttam, milyen sokan belefutnak ebbe és én már sokat olvastam az SSD-s topikokban tőletek a témáról. Majd még átmegyek rajta és a részleteket meg amiket írtál szépen értelmezhetőbbé próbálom tenni.
(egyébként tényleg nem kellett kutatnom, mivel az állt össze a fejemben, amit főleg Te írtál le már rengetegszer a szaktopikokban, így azért nem volt nehéz)

A harmadik, hogy a fstrim systemd service-t valóban érdemes letiltani, de nem azért, mert kárt okozna, mert úgyis hatástalan lesz NVMe-n, hanem csak hogy ne próbáljon lefutogatni rendszeresen a semmiért.

Erre gondoltam én is, hogy minek fusson még egy service, ha nincs értelme, de mint írta a kolléga, lehet vegyes felállás is a gépben, akkor jó ha megmarad.

A mount paraméter valóban jogos a discard-nál. :K

A discard opció kicsit zavaros nekem is, ugyan az archwiki írja, hogy semmiképp ne hagyjuk benn, de ezt már máshol is írták régebben is. Bizonyos felhasználási módoknál nem jó, de NVME meg pont az ilyen felhasználási módra lenne jó.

Na majd ha átfésülgetem, rádírok és újra átfutod, jobb ha szagértő szem is látja, ne maradjon tárgyi tévedés benne. Köszi előre is! :R

Szerencsére az elején van a hsz-ed, így aki az írást átbogarássza, az látja ezt is. ;)

Amúgy minap láttam az M.2-es csatlakozóval foglalkozó hsz-eket, tényleg nem egyszerű, főleg annak, aki totál laikus.

[ Szerkesztve ]

محتاط کسان کسان سامنے دروازہ بند کرنے کے لئے نہیں!

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


Frawly
(őstag)

Az M.2 téma nagyon megtévesztő még annak is, aki ért hozzá. Sokan beleesnek abba a hibába is, hogy a bevágást nézik az M.2 SSD-ken, meg az M.2 csatlakozókon, aztán még jobban belezavarodnak ebbe a B, M, B+M bevágásos mókába, ami nem hogy segítene, de még jobban kaotikussá teszi az egészet, mert csak a bevágás alapján nem lehet eldönteni, hogy milyen SSD kell az adott csatlakozóba.

Ha a discard-ra az Arch Wiki azt írja, hogy ki kell venni, akkor legyen, nekik elhiszem. Az fstrim tényleg nem probléma, mert ha le is fut feleslegesen, nem emészt fel sok erőforrást, azonnal leáll hibával, maximum csak produkál 1-2 fura bejegyzést valami logban, hogy az eszköz nem támogatja a TRIM-et.

[ Szerkesztve ]

„Az Audacity egy kereszt-emelvény többsávos hangszerkesztő”

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