S.M.A.R.T

2016/12/9


S.M.A.R.T

ディスクトラブルです。
起動時に「S.M.A.R.Tがナントカカントカ」と言っている。
fsck.ext4 /dev/sda1 -y
でなんとかなることを祈りつつ、「悪霊退散」の御札をつくるべきか否か検討する。
待つこと数十秒、無事起動しましたが、S.M.A.R.Tの詳細情報が欲しくなりましたので、いろいろやってみる。

S.M.A.R.T情報をみる

S.M.A.R.Tの詳細を見るためにツールを用意する。
apt-get install smartmontools
HDDはS.M.A.R.TをONしているはずだが、確認する。
smartctl --scan
sdaの現状を確認
smartctl -i /dev/sda
日立製の320GB(SATA)であることがわかる。
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.16.0-4-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Deskstar 7K1000.B
Device Model:     Hitachi HDT721032SLA360
Serial Number:    STF204MC08B4AB
LU WWN Device Id: 5 000cca 346c3ccc9
Firmware Version: ST2OA31B
User Capacity:    320,072,933,376 bytes [320 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Fri Dec  9 19:33:18 2016 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
問題のS.M.A.R.T情報をすべて表示
smartctl -A /dev/sda
そして、驚く
Raw_Read_Error_Rateがオカシイとかのレベルではない!
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.16.0-4-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
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     0x000b   052   052   016    Pre-fail  Always       -       1337529787
  2 Throughput_Performance  0x0005   133   133   054    Pre-fail  Offline      -       111
  3 Spin_Up_Time            0x0007   107   107   024    Pre-fail  Always       -       235 (Average 231)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       106
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   123   123   020    Pre-fail  Offline      -       34
  9 Power_On_Hours          0x0012   100   100   000    Old_age   Always       -       5243
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       106
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       232
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       232
194 Temperature_Celsius     0x0002   176   176   000    Old_age   Always       -       34 (Min/Max 22/46)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0
セルフテストを実行
完了予定時刻が表示される。概ね1分でテストは完了する。
smartctl -t short /dev/sda
テストの結果を表示
smartctl -l selftest /dev/sda
テストの結果は"Completed without error"
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.16.0-4-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
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%      5243         -
念の為BAD SECTORを検査
 badblocks -s -o badsectors.20161209.txt /dev/sda
read-only testであるが、1時間くらいかかる。
途中経過はこんなかんじで
root@La:~# badblocks -s -o badsectors.20161209.txt /dev/sda1
Checking for bad blocks (read-only test):  60.36% done, 28:26 elapsed. (0/0/0 errors)
最後はこのように
エラーはありませんでした。
root@La:~# badblocks -s -o badsectors.20161209.txt /dev/sda1
Checking for bad blocks (read-only test): done