SSD या माध्यम के पहनने के स्तर में बचे हुए जीवन की जांच कैसे करें?


31

हम सभी जानते हैं कि SSDs का एक सीमित पूर्व निर्धारित जीवन काल होता है। मैं लिनक्स में कैसे जांच कर सकता हूं कि एसएसडी की वर्तमान स्वास्थ्य स्थिति क्या है?

अधिकांश Google खोज परिणाम आपको मीडिया_Wearout_Indicator नामक एक प्रतिशत फ़ील्ड के लिए स्मार्ट जानकारी देखने के लिए कहेंगे, या लॉन्ग्टरम डेटा एंड्योरेंस जैसे अन्य जार्गन्स संकेतक - जो मौजूद नहीं हैं - हां मैंने दो SSDs की जांच की, दोनों में इन क्षेत्रों की कमी है। मैं तीसरे SSD को खोजने के लिए आगे बढ़ सकता था, लेकिन मुझे लगता है कि खेतों का मानकीकरण नहीं किया गया है।

समस्या को प्रदर्शित करने के लिए यहां दो उदाहरण दिए गए हैं।


पहले एसएसडी के साथ, यह स्पष्ट नहीं है कि कौन सा क्षेत्र पहनने के स्तर को इंगित करता है। हालाँकि केवल एक अज्ञात_अभिनेत्री है जिसकी रॉ वैल्यू 1 और 100 के बीच है, इस प्रकार मैं केवल यह मान सकता हूं कि हम क्या देख रहे हैं:

    $ 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

तो इस SSD ने अपने पुनर्लेखन जीवन-काल का 57% उपयोग किया है, क्या यह सही है?


अन्य डिस्क के साथ, SSD_Life_Left ATTRIBUTE बाहर खड़ा है, लेकिन इसका रॉ मान 0 है, जो 0% जीवन को दर्शाता है, जाहिरा तौर पर स्वस्थ SSD के लिए संभावना नहीं है, जब तक कि यह संकट में न हो (हम कुछ दिनों में देखेंगे), और अगर यह पढ़ता है कि "0% जीवन का उपयोग किया गया है", पहना हार्ड डिस्क के लिए भी असंभव है (पहना = एक वर्ष से अधिक के लिए उपयोग किया जाता है)।

    > 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

स्मार्ट विशेषताओं के साथ, निम्न मान बदतर होते हैं क्योंकि ड्राइव हमेशा अलर्ट करता है यदि मूल्य थ्रेशोल्ड मान से कम है (या इसके बराबर नहीं है)। कहा गया है कि, पहनने के संकेतक के लिए बहुत अच्छा है, लेकिन मुझे आशा है कि आप किसी एक भंडारण उपकरण के लिए कीमती डेटा पर भरोसा नहीं कर रहे हैं। आपको एक RAID व्यवस्था में कई स्टोरेज डिवाइस चलाने चाहिए।
एलेक्सिओस

आप कैसे जानते हैं कि मेरा डेटा 'कीमती' है? यह मेरे लैपटॉप के लिए कंपनी की जानकारों की एक ऑफ़लाइन प्रति है। मैं एक बिंदु बनाने के लिए टिप्पणी करता हूं जो लोग अक्सर एक sysop परिदृश्य मानते हैं। वैसे भी टिप्पणी के लिए धन्यवाद।
टैंकमैन

सभी डेटा कीमती है। :) हम उस सिद्धांत पर शुरू करते हैं, फिर उस डेटा पर जाते हैं जो अधिक कीमती है (उदाहरण के लिए एक फोटोग्राफर की डिजिटल तस्वीरें) और कम कीमती (ओएस - बदलने के लिए आसान है, लेकिन डाउनटाइम और समय का नुकसान / राजस्व अगर आपको करना है इसे बदलो)।
एलेक्सजॉन

दोनों ड्राइव धीरज सीमा के भीतर अच्छी तरह से कर रहे हैं। पहली ड्राइव में इस पर केवल 350 GiB है, जबकि दूसरी ड्राइव में 1.1 TiB है। मुझे यकीन नहीं है कि यहाँ क्या हो रहा है ...
bwDraco

जवाबों:


19

आपके पहले उदाहरण में, मुझे लगता है कि आप इंटेल ड्राइव पर "मीडिया वेयरआउट इंडिकेटर" का उल्लेख कर रहे हैं, जो कि 233 की विशेषता है। हां, इसमें 0-100 की रेंज है, जिसमें 100 बिल्कुल नया, अप्रयुक्त ड्राइव और 0 पूरी तरह से खराब हो रहा है। आपके अनुसार, यह फ़ील्ड मौजूद नहीं है।

अपने दूसरे उदाहरण में, कृपया SSD_Life_Left के बारे में आधिकारिक डॉक्स पढ़ें उस पृष्ठ के अनुसार:

इस विशेषता का RAW मान हमेशा 0 है और इसका कोई अर्थ नहीं है। इसके बजाय सामान्यीकृत VALUE जांचें। यह 100 से शुरू होता है और एसडीडी जीवन के अनुमानित प्रतिशत को दर्शाता है। यह आमतौर पर घटता है जब फ्लैश ब्लॉक खराब के रूप में चिह्नित होते हैं, तो Retired_Block_Count का RAW मान देखें

यह वास्तव में महत्वपूर्ण है कि आप पूरी तरह से समझें कि स्मार्टक्टेल (8) क्या कह रहा है, और धारणा नहीं बना रहा है। दुर्भाग्य से, SMART टूल हमेशा नवीनतम SSDs और उनकी विशेषताओं के साथ अद्यतित नहीं होते हैं। जैसे, चिप्स को कितनी बार लिखा गया है, यह बताने के लिए हमेशा एक साफ तरीका नहीं होता है। सबसे अच्छा आप कर सकते हैं, "Power_On_Hours" को देखें, जो आपके मामले में "6568" है, अपने औसत डिस्क उपयोग को निर्धारित करें, और इसे औसत करें।

आपको अपने ड्राइव स्पेक्स को देखने में सक्षम होना चाहिए, और चिप्स बनाने के लिए उपयोग की जाने वाली प्रक्रिया का निर्धारण करना चाहिए। 32nm प्रोसेस चिप्स में 24nm प्रोसेस चिप्स की तुलना में अधिक लंबा धीरज होगा। हालाँकि, ऐसा लगता है कि "औसतन", आप शायद 1,000 से न्यूनतम 1,000 और अधिकतम 6,000 के साथ लगभग 3,000 से 4,000 लिख सकते हैं। इसलिए, यदि आपके पास 64GB SSD है, तो आपको पहनने के स्तर को मानते हुए SSD को लिखे गए कुल 192TB से 256TB के पड़ोस में कहीं न कहीं उम्मीद करनी चाहिए।

एक उदाहरण के रूप में, यदि आप अपनी ड्राइव में 11 केबीपीएस के उपयोग को बनाए रख रहे हैं, तो आप प्रति घंटे लगभग 40 एमबी लिखे जाने की उम्मीद कर सकते हैं। 6568 घंटे पर संचालित, आपने डिस्क को लगभग 260 जीबी लिखा है। यह जानते हुए कि आप शायद कुल 200 टीबी लिख सकते हैं, असफलता से पहले, आपके पास चीप्स पहनने के कारण लगभग 600 साल पहले विफलता है। कैपेसिटर या वोल्टेज विनियमन के कारण आपकी डिस्क विफल हो जाएगी।


9
तो स्पष्ट है, धन्यवाद। यह ज्ञान स्मार्टआईटीएल या इसके एपीआई का उपयोग करने वाले जीयूआई उपकरण में सबसे अच्छा है। एक इनपुट डिवाइस के रूप में कंप्यूटर का उपयोग करके कैलकुलेटर के साथ गणना करने के बाद और इसके सामने बैठे मानव एक प्रोसेसर के रूप में उस आत्मा के खिलाफ है जिसके साथ कंप्यूटर का आविष्कार किया गया था!
टैंकमैन

आपका लिंक मृत प्रतीत होता है
कंकाल बो

15

सैमसंग SSDs के लिए, स्मार्ट विशेषता 177 (लेवलिंग काउंटिंग पहनें) की जाँच करें।

आईडी # 177 वियर लेवलिंग काउंट

यह विशेषता मीडिया प्रोग्राम की संख्या और मिटाए गए संचालन (एक ब्लॉक को मिटाए जाने की संख्या) का प्रतिनिधित्व करती है। यह मान सीधे SSD के जीवनकाल से संबंधित है। इस विशेषता का कच्चा मान P / E चक्रों की कुल संख्या दर्शाता है।

स्रोत: http://www.samsung.com/global/business/semistory/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

पहनने का स्तर संकेतक 100 से शुरू होता है और जो मैं बता सकता हूं उससे रैखिक रूप से घटकर 1 हो जाता है। 1 पर ड्राइव अपने सभी रेटेड पी / ई चक्रों को पार कर चुका होगा, लेकिन वास्तव में ड्राइव का कुल धीरज उस मूल्य से काफी अधिक हो सकता है।

स्रोत: http://www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/3

मैं आपको सुझाव दूंगा कि नमक के एक दाने के साथ उस मूल्य को पार करने के बारे में अंतिम विवरण।


लिंक अब तक मर चुका है।
पथरी नाइट नाइट

मुझे लगता है कि उनके पास Wear_Leveling_Count के लिए आदेश है। मेरे पास 2 सैमसंग SSDs हैं और एक जो ~ 4 साल पुराना है, उसका RAW_VALUE 42 है और दूसरा जो ~ 1 महीने का है उसका RAW_VALUE है 0. लगता है कि यह 0 से शुरू होता है और ऊपर की ओर बढ़ता है।
जॉन इकेनबेरी

4

यदि आपके पास इंटेल-ब्रांड एसएसडी नहीं है: सावधान रहें !! मेरे पास एक सैमसंग एसएसडी है, और मुझे स्मार्टमोनोलस / स्मार्टक्टेल द्वारा गलत विशेषता लेबलिंग द्वारा पूरी तरह से गुमराह किया गया था। अगर आपके पास इंटेल के अलावा कुछ भी है - तो आप https://askubuntu.com/a/460463/65722 पर मेरी कहानी (inane) के दर्द को मददगार हो सकते हैं।

समय-व्यतीत-खुदाई के लिए सूचना-गुणवत्ता का आपका अनुपात खदान से बेहतर हो सकता है!


0

LSI छापे कार्ड के साथ सर्वर होने पर , मेरे पास 7 सैमसंग SSD स्थापित है।

यह ऐसा है

  • / dev / sda मेरा ऑपरेटिंग सिस्टम SSD है, जिसे RAID नियंत्रक द्वारा JBOD के रूप में चिह्नित किया गया है।
  • अन्य 7 SSD का शो केवल / dev / sdb के रूप में है क्योंकि वे RAID 0 (या 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

तो जैसे कि smartctl जानकारी प्राप्त करने के लिए

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS और अन्य सभी अच्छे सामान

प्रत्येक डिस्क के लिए करते हैं

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

Smartctl का सिंटैक्स हैsmartctl [options] <device>

जब आप कई डिस्क जैसे कि / dev / sdb, / dev / sdc, / dev / sdd, इत्यादि के रूप में एक से अधिक डिवाइस नहीं दिखाते हैं, तो आप एक रेड कार्ड प्राप्त करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.