OT: prodlevy při přenosu dat z disku

Václav Ovsík vaclav.ovsik na gmail.com
Neděle Prosinec 9 10:25:08 CET 2018


On Sat, Dec 08, 2018 at 08:03:27AM +0100, Pavel Troller wrote:
>... 
> To je zajímavé. Vy skutečně zapínáte volbu discard při mountu partition
> na SSD ? Totiž, viz man 8 fstrim:
> 
>   Running fstrim frequently, or even using mount -o discard, might
> negatively affect the lifetime of poor-quality SSD devices.  For
> most desktop and server systems a sufficient trimming frequency
> is once a week.
> 
> Takže já to řeším zápisem v crontab:
> 
> # Perform fstrim every sunday morning (at 02:07)
> 7 2 * * 0       /sbin/fstrim -a

Ano to je alternativa. Například na RPi používám právě fstrim, protože
na SDkartě se fakt discard projeví horší propustností už tak pomalého
systému. A asi by jí to dávalo i zabrat, protože to není opravdové SSD.
Pro uživatele RPi - ano i na RPi jednou za čas spusťte na kartičku
fstrim a ulevíte jí, pokud to podporuje.
Když se mi nějaká karta chovala divně, tak jsem jí dal povelem
blkdiscard zapomenout celý obsah a pak se chovala normálněji (nebo jsem
měl alespoň subjektivní pocit :-)
Karty Transcend, které preferuji, to podporují.

Popravdě jsem si s tím u SSD moc hlavu nelámal, ale nastavil jsem
discard, protože to různá HOWTO uváděla. Ani nevím, jestli by to
nastavil instalátor třeba Debianu. Tlačím před sebou hrozně let
instalaci, kterou jsem dělal ještě na točicí HDD...

Tak hozením do Googlu
    fstrim vs discard
vypadna řada názorů na věc. Je fakt, že dost lidí se přiklání k názoru,
že pokud má SSD dost volného místa a neprovádějí se velké diskové
operace, tak stačí fstrim. Taky záleží na konkrétním HW. Dobrý řadič asi
nemá s průběžným trimováním problém. Nějaké průmyslové SSD, která má
desítky procent prostoru vyhrazeno na údržbu (není vůbec využitelné
uživatelem) možná ani žádné velké čištění nepotřebuje...

Já jsem to sem uvedl hlavně proto, že jsem se setkal s tou rapidní
degradací výkonu, když jsem k tomu z neznalosti přistoupil špatně.
Kolegovo noťas vykazoval divné chování SSD. Nechali jsme od Dellu
přivézt nové SSD a já tam data okopíroval pomocí dd z disku na disk. Tím
jsem ovšem nenechal řadiči z toho uživatelsky adresovatelného prostoru
volný žádný blok a pak se to chovalo ještě tragičtěji. :-)
Jakmile se pak na namountované filesystémy dal ten fstrim, tak to ožilo.
Od té doby jsem tomu začal věnovat zvýšenou pozornost :-)

Ten divnej disk (máme od Dellu službu Keep your harddrive) jsem pak
smazal povelem přes hdparm a sloužil asi další 3 roky, než zdechnul u mě
v notebooku. Já si na to zvykl a objednal si pak nové Samsung SSD 850,
protože nejsem zhýčkán a nechci pořád notebook krytý zárukou... Stačí mi
Latitude 6520, protože stále nějak šlape...
He, teď když jste mě nad tím donutil přemýšlet, tak jsem si uvědomil, že
mám adresář, kam jsem si dal výstup ze smartctl do GITu a zapomněl na to
:-). Dal jsem stahnout znovu výstup a oproti stavu rok a půl zpět se
data změnila takto:

 diff --git a/smartctl-a.log b/smartctl-a.log
 index 0c0348e..dd4952d 100644
 --- a/smartctl-a.log
 +++ b/smartctl-a.log
 @@ -1,5 +1,5 @@
 -smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-2-amd64] (local build)
 -Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
 +smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.18.0-3-amd64] (local build)
 +Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
  
  === START OF INFORMATION SECTION ===
  Model Family:     Samsung based SSDs
 @@ -14,7 +14,7 @@ Form Factor:      2.5 inches
  Device is:        In smartctl database [for details use: -P show]
  ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c
  SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
 -Local Time is:    Fri Apr  7 14:11:05 2017 CEST
 +Local Time is:    Sun Dec  9 10:17:11 2018 CET
  SMART support is: Available - device has SMART capability.
  SMART support is: Enabled
  
 @@ -57,19 +57,19 @@ SMART Attributes Data Structure revision number: 1
  Vendor Specific SMART Attributes with Thresholds:
  ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
    5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
 -  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       18
 - 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       11
 -177 Wear_Leveling_Count     0x0013   100   100   000    Pre-fail  Always       -       0
 +  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       5114
 + 12 Power_Cycle_Count       0x0032   098   098   000    Old_age   Always       -       1229
 +177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       4
  179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
  181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
  182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
  183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
  187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
 -190 Airflow_Temperature_Cel 0x0032   064   053   000    Old_age   Always       -       36
 +190 Airflow_Temperature_Cel 0x0032   061   051   000    Old_age   Always       -       39
  195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
  199 CRC_Error_Count         0x003e   100   100   000    Old_age   Always       -       0
 -235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       7
 -241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       403824579
 +235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       22
 +241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       4822253665
  
  SMART Error Log Version: 1
  No Errors Logged

Tedy zapsal jsem za jeho život cca 2,3TB. Wear_Leveling_Count šel z 0 na 4.
Doufám, že má ještě většinu života před sebou. :-)

Pěknou neděli
-- 
Zito


Další informace o konferenci Hw-list