web-dev-qa-db-ja.com

実際にsmartctlを使用する方法は?

私は何気なくsmartctlを使用して、実際に飛び込むことなくディスクを覗き見していました。 Hacker Newsへのコメント を読んだ後、毎日の短いテストと毎週の長いテストをスケジュールすることにしました。

実際にそれらをうまく利用する方法は?

smartctl -a /dev/sdaの結果を見ると、すぐにはわからない情報がたくさんあります。

# smartctl -a /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-32-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Crucial/Micron MX100/MX200/M5x0/M600 Client SSDs
Device Model:     Crucial_CT500MX200SSD4
Serial Number:    160311862C1C
LU WWN Device Id: 5 00a075 111862c1c
Firmware Version: MU03
User Capacity:    500,107,862,016 bytes [500 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    Solid State Device
Form Factor:      < 1.8 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 T13/2161-D revision 4
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Mon Sep  3 10:49:49 2018 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x80) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                ( 1271) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (   7) minutes.
Conveyance self-test routine
recommended polling time:        (   3) minutes.
SCT capabilities:              (0x0035) SCT Status supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   000    Pre-fail  Always       -       0
  5 Reallocate_NAND_Blk_Cnt 0x0032   100   100   010    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       16446
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       44
171 Program_Fail_Count      0x0032   100   100   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
173 Ave_Block-Erase_Count   0x0032   094   094   000    Old_age   Always       -       139
174 Unexpect_Power_Loss_Ct  0x0032   100   100   000    Old_age   Always       -       29
180 Unused_Reserve_NAND_Blk 0x0033   000   000   000    Pre-fail  Always       -       5548
183 SATA_Interfac_Downshift 0x0032   100   100   000    Old_age   Always       -       0
184 Error_Correction_Count  0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   058   049   000    Old_age   Always       -       42 (Min/Max 23/51)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   000    Old_age   Always       -       0
202 Percent_Lifetime_Used   0x0030   094   094   001    Old_age   Offline      -       6
206 Write_Error_Rate        0x000e   100   100   000    Old_age   Always       -       0
210 Success_RAIN_Recov_Cnt  0x0032   100   100   000    Old_age   Always       -       0
246 Total_Host_Sector_Write 0x0032   100   100   000    Old_age   Always       -       15420692355
247 Host_Program_Page_Count 0x0032   100   100   000    Old_age   Always       -       481912759
248 Bckgnd_Program_Page_Cnt 0x0032   100   100   000    Old_age   Always       -       1753257160

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     16446         -
# 2  Short offline       Completed without error       00%     10532         -
# 3  Short offline       Completed without error       00%      8040         -
# 4  Vendor (0xff)       Completed without error       00%      3608         -
# 5  Vendor (0xff)       Completed without error       00%       597         -
# 6  Vendor (0xff)       Completed without error       00%       585         -
# 7  Vendor (0xff)       Completed without error       00%       520         -
# 8  Vendor (0xff)       Completed without error       00%       161         -
# 9  Vendor (0xff)       Completed without error       00%        98         -
#10  Vendor (0xff)       Completed without error       00%        65         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Completed [00% left] (57881389-57946924)
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

具体的には、明確な兆候はありません

  • エラー
  • テストの歴史

smartctl -a /dev/sdXをときどき実行し、異常なイベントを認識したい場合、分析のベストプラクティスはありますか?

2
WoJ

メールを送信できるように smartmontools を設定している場合、問題が見つかった場合はメールが届きます。

それとは別に、エラーとログはsmartctlの出力に表示されます。私は最初に「Offline_Uncorrectable」フィールドを見る傾向があります。ゼロ以外の場合は、ドライブが何もできない媒体に欠陥があることを意味します(SSDの場合、通常はドライブが実行されたことを意味します)死亡したセルの交換用フラッシュのうち)。他の属性は読み取りまたは書き込みエラーを示しますが、それらの重要性はエラーの原因によって異なります。

ドライブエラーもエラーログに記録されます。

SMART Error Log Version: 1
No Errors Logged

そしてテストログのテスト結果:

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     16446         -
# 2  Short offline       Completed without error       00%     10532         -
# 3  Short offline       Completed without error       00%      8040         -
# 4  Vendor (0xff)       Completed without error       00%      3608         -
# 5  Vendor (0xff)       Completed without error       00%       597         -
# 6  Vendor (0xff)       Completed without error       00%       585         -
# 7  Vendor (0xff)       Completed without error       00%       520         -
# 8  Vendor (0xff)       Completed without error       00%       161         -
# 9  Vendor (0xff)       Completed without error       00%        98         -
#10  Vendor (0xff)       Completed without error       00%        65         -

ここでは、「エラーなしで完了」とマークされたテストが必要です。ライフタイムフィールドは、ドライブの現在のライフタイムからそれほど遠くありません(テストスケジュールによって異なります)。あなたのケースでは、ドライブの寿命は16446時間で、完了したばかりのテストがあります。また、特定の属性が更新されるときに拡張オフラインテストを定期的に確認する必要があります(例:オフラインで修正不可)。

私はsmartctl -xではなくsmartctl -aを使用する傾向があり、さらに多くの情報が表示されます。

4
Stephen Kitt

スマートテクノロジーは、約12年前に磁気ディスクで始まり、表面の潜在的な問題を内部的に記録していました。まったく異なるテクノロジーに基づくSSDディスク(旧称Electrical Erasable Programable ROM)を使用しています。データは磁気ディスクのセクターと呼ばれるブロックに書き込まれますが、SSDのデータはより大きなブロックに書き込まれ、ブロックが書き込まれる(実際にはプログラムされる)前に消去する必要があります。ブロックを消去するとブロック要素に小さな損傷が発生するため、同じブロックへのwiriteの量が制限されているため、ファームウェアは最終的にすべてのブロックに書き込み(=消去=損傷)を分散しようとします(SLC約100000回、MLC約5000回、TLCは約300回のみ)。

さて、smartctlで報告されたエラーは、両方の基本的な技術にとって他の意味を持っています。磁気ディスクでは、_Current_Pending_Sector_の書き込み(読み取り不能)データの不良を示すもの(_ID 197_)と_Reallocated_sector_count_(_ID 5_)の磁気面の不良を示すものを確認する必要があります。 _ID 194_ _Temperature_Celsius_。 SSDにいる間、_ID 5_は_Reallocate_NAND_Blk_Cnt_に名前が変更され、ライブタイムからのブロック数が表示されます。

どちらの場合も、いくつかの不良ブロック(セクター)が存在するだけで、ディスクが停止しているとは限りません。問題は、多くの障害のあるブロックが突然現れた場合、またはそれらの数が日々増加している場合のいずれかである可能性があります。

磁気ディスクの寿命は、想定される用途(サーバー24x7、デスクトップ、ビデオレコーダー)に適したブランドとタイプを慎重に選択し、可能な限り良好な状態でサポートすることで延長できます(温度を下げるためのファン、十分な電力、厳密に水平または垂直位置)。

SSDディスクの稼働時間は、SLCを選択することで延長できます(低速ですがより優れています)。現在、MLCのみを購入できますが、TLCよりも長持ちします。そして、不必要な書き込みの可能な制限を行います。そのため、スワップ(pagefile.sys)をユーザーディレクトリ(ホーム)およびログファイルとして磁気ディスクに移動する必要があります。 Linuxでは、noatime、nodiratimeマウントオプションを追加できます。そして、しばしばバックアップを作成します!定期的にスマートをチェックすることは役立ちますが、失われたデータを取り戻すことはできません。

1
schweik