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