Jak sprawdzić pozostałą żywotność dysku SSD lub poziom zużycia nośnika?


31

Wszyscy wiemy, że dyski SSD mają ograniczony, z góry określony okres użytkowania. Jak sprawdzić w systemie Linux, jaki jest obecny stan dysku SSD?

Większość wyników wyszukiwania Google prosi o wyszukanie informacji SMART dla pola procentowego o nazwie Media_Wearout_Indicator lub innych wskaźników żargonu, takich jak Długoterminowa wytrzymałość danych - które nie istnieją - Tak, sprawdziłem dwa dyski SSD, oba nie mają tych pól. Mógłbym znaleźć trzeci dysk SSD, ale uważam, że pola nie są ustandaryzowane.

Aby zademonstrować problem, oto dwa przykłady.


W przypadku pierwszego dysku SSD nie jest jasne, które pole wskazuje poziom zużycia. Jednak jest tylko jeden Nieznany_Atrybut, którego WARTOŚĆ RAW wynosi od 1 do 100, więc mogę tylko założyć, że tego właśnie szukamy:

    $ sudo smartctl -A /dev/sda                                             
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===                                 
    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   0x0002   100   100   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       6568
     12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       1555
    171 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    172 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    173 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       57
    174 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       296
    187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
    230 Unknown_SSD_Attribute   0x0002   100   100   000    Old_age   Always       -       190
    232 Available_Reservd_Space 0x0003   100   100   005    Pre-fail  Always       -       0
    234 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       350
    241 Total_LBAs_Written      0x0002   100   100   000    Old_age   Always       -       742687258
    242 Total_LBAs_Read         0x0002   100   100   000    Old_age   Always       -       1240775277

Czyli ten dysk SSD wykorzystał 57% swojej żywotności do przepisania, czy to prawda?


Z drugim dyskiem SSD_Life_Left ATTRIBUTE wyróżnia się, ale jego surowa wartość 0, wskazująca 0% pozostałego życia, jest mało prawdopodobna dla pozornie zdrowego SSD, chyba że będzie w niebezpieczeństwie (zobaczymy za kilka dni), i jeśli wyświetla się komunikat „Wykorzystano 0% życia”, jest to również niemożliwe w przypadku zużytego dysku twardego (zużyty = używany przez ponad rok).

    > sudo /usr/sbin/smartctl -A /dev/sda
    smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.11.6-4-desktop] (SUSE RPM)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===
    SMART Attributes Data Structure revision number: 10
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x000f   104   100   050    Pre-fail  Always       -       0/8415644
      5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
      9 Power_On_Hours_and_Msec 0x0032   100   100   000    Old_age   Always       -       4757h+02m+17.130s
     12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1371
    171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       52
    177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       2
    181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
    194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
    195 ECC_Uncorr_Error_Count  0x001c   104   100   000    Old_age   Offline      -       0/8415644
    196 Reallocated_Event_Count 0x0033   100   100   000    Pre-fail  Always       -       0
    231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
    233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       3712
    234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       1152
    241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       1152
    242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       3072

W przypadku atrybutów SMART niższe wartości są gorsze, ponieważ dysk zawsze ostrzega, jeśli wartość jest mniejsza (lub równa? Nie jestem pewien) wartości progowej. To powiedziawszy, bardzo miło jest mieć wskaźnik zużycia, ale mam nadzieję, że nie ufasz cennym danym żadnym urządzeniu pamięci masowej. Powinieneś używać wielu urządzeń pamięci masowej w konfiguracji RAID.
Alexios

Skąd wiesz, że moje dane są „cenne”? To jest tylko offline baza wiedzy firmy na moim laptopie. Komentuję, aby podkreślić, że ludzie zbyt często zakładają scenariusz sysop. W każdym razie dziękuję za komentarze.
Tankman

Wszystkie dane są cenne. :) Zaczynamy na tej zasady, a następnie przenieść się do danych, które jest bardziej cenny (fotografa zdjęć cyfrowych, na przykład) i mniej szlachetnych (OS - łatwo wymienić, ale przestoje i straty czasu / przychody jeśli trzeba Wymień).
Alexios

Oba dyski mieszczą się w granicach wytrzymałości. Pierwszy dysk ma tylko około 350 GiB, podczas gdy drugi dysk ma 1,1 TiB. Nie jestem pewien, co się tutaj dzieje ...
bwDraco

Odpowiedzi:


19

W twoim pierwszym przykładzie, o którym myślę, że masz na myśli, jest „Wskaźnik zużycia mediów” na dyskach Intela, który jest atrybutem 233. Tak, ma zakres 0-100, przy czym 100 to zupełnie nowy, nieużywany dysk, i 0 jest całkowicie zużyty. Według twojego ouptut to pole wydaje się nie istnieć.

W drugim przykładzie przeczytaj oficjalne dokumenty dotyczące SSD_Life_Left. Na tej stronie:

Wartość RAW tego atrybutu wynosi zawsze 0 i nie ma znaczenia. Zamiast tego sprawdź znormalizowaną wartość. Zaczyna się od 100 i wskazuje przybliżony procent pozostałej żywotności SDD. Zwykle zmniejsza się, gdy bloki Flash są oznaczone jako złe, patrz wartość RAW Retired_Block_Count

Naprawdę ważne jest, aby w pełni zrozumieć, co mówi smartctl (8), a nie przyjmować założenia. Niestety narzędzia SMART nie zawsze są aktualne z najnowszymi dyskami SSD i ich atrybutami. W związku z tym nie zawsze jest czysty sposób na określenie, ile razy układy zostały zapisane. Najlepsze, co możesz zrobić, to spojrzeć na „Power_On_Hours”, który w twoim przypadku to „6568”, określić średnie wykorzystanie dysku i uśrednić.

Powinieneś być w stanie sprawdzić specyfikację dysku i określić proces zastosowany do wytworzenia układów. Chipy procesowe 32 nm będą miały dłuższą wytrzymałość na zapis niż chipy procesowe 24 nm. Wydaje się jednak, że „średnio” można się spodziewać około 3000 do 4000 zapisów, przy minimum 1000 i maksimum 6000. Tak więc, jeśli masz dysk SSD o pojemności 64 GB, powinieneś spodziewać się gdzieś w sąsiedztwie zapisanych na dysku SSD od 192 TB do 256 TB, przy założeniu wyrównania zużycia.

Na przykład, jeśli korzystasz z dysku np. 11 KB / s, możesz spodziewać się około 40 MB zapisu na godzinę. Przy 6568 włączonych godzinach zapisałeś na dysku około 260 GB. Wiedząc, że prawdopodobnie mógłbyś wytrzymać około 200 TB całkowitej liczby zapisów, przed awarią masz około 600 lat przed awarią z powodu zużycia chipów. Twój dysk prawdopodobnie ulegnie awarii z powodu zużytych kondensatorów lub regulacji napięcia.


9
Tak jasne, dziękuję. Tę wiedzę najlepiej wykorzystać w narzędziu GUI wykorzystującym smartctl lub jego interfejs API. W końcu obliczenia za pomocą kalkulatora przy użyciu komputera jako urządzenia wejściowego i człowieka siedzącego przed nim jako procesora jest sprzeczny z duchem, z którym wymyślono komputery!
Tankman 六四

Twój link wydaje się być martwy
Skeleton Bow

15

W przypadku dysków SSD Samsung sprawdź atrybut SMART 177 (liczba zrównania zużycia).

ID # 177 Zużycie wyrównywania Count

Ten atrybut reprezentuje liczbę operacji programu multimedialnego i operacji kasowania (liczbę operacji usunięcia bloku). Ta wartość jest bezpośrednio związana z czasem życia dysku SSD. Surowa wartość tego atrybutu pokazuje całkowitą liczbę cykli P / E.

Źródło: http://www.samsung.com/global/business/semiconductor/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

Wskaźnik poziomu zużycia zaczyna się od 100 i zmniejsza się liniowo do 1 z tego, co mogę powiedzieć. Przy wartości 1 dysk przekroczy wszystkie swoje znamionowe cykle p / e, ale w rzeczywistości całkowita wytrzymałość dysku może znacznie przekroczyć tę wartość.

Źródło: http://www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/3

Sugerowałbym, abyś wziął to ostatnie stwierdzenie o przekroczeniu tej wartości za pomocą ziarenka soli.


Link już nie działa.
Calculus Knight

Myślę, że mają kolejność Wear_Leveling_Count wstecz. Mam 2 dyski Samsung SSD, a ten, który ma ~ 4 lata, ma RAW_VALUE wynoszący 42, a drugi, który ma ~ 1 miesiąc, ma RAW_VALUE wynoszący 0. Wydaje się, że zaczyna się od 0 i rośnie w górę.
John Eikenberry

4

Jeśli nie masz dysku SSD marki Intel: Uważaj !! Mam dysk Samsung SSD i zostałem całkowicie wprowadzony w błąd przez błędne etykietowanie atrybutów przez smartmontools / smartctl. Jeśli masz coś oprócz Intela - możesz znaleźć moją historię (bezmyślnego) bólu na https://askubuntu.com/a/460463/65722 .

Niech Twój stosunek jakości informacji do czasu poświęcanego na kopanie będzie lepszy niż mój!


0

mając serwer z kartą RAID LSI , mam zainstalowanych 7 dysków Samsung SSD.

Tak jest

  • / dev / sda to mój system operacyjny SSD, oznaczony jako JBOD przez Raid Controller.
  • Pozostałe 7 dysków SSD pojawia się tylko jako / dev / sdb, ponieważ są to RAID 0 (lub RAID-?).

sztuczka polega na tym, aby uzyskać informacje o dyskach za kontrolerem RAID

smartctl --scan

{output is}
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device

następnie, aby uzyskać informacje smartctl, takie jak

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS i wszystkie inne dobre rzeczy

dla każdego dysku wykonaj

smartctl -d megaraid,8 -all /dev/bus/0
smartctl -d megaraid,9 -all /dev/bus/0
smartctl -d megaraid,10 -all /dev/bus/0
{down to}
smartctl -d megaraid,15 -all /dev/bus/0

Składnia smartctl tosmartctl [options] <device>

w ten sposób dostajesz się do karty RAID, gdy wiele dysków nie wyświetla się jako wiele urządzeń, takich jak / dev / sdb, / dev / sdc, / dev / sdd i tak dalej.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.