絖綛 N@i.jp  昨日:00012575
 今日:00002223
 総計:00310939
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:02/07 08:55


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

Logitec USB3.0+eSATA HDDケース LHR-EGEU3F(3)

QNAP TS-112にsmartmontoolsをインストールして、eSATAに接続したHDDのS.M.A.R.T.情報を得よう


 QNAP TS-112のeSATAポートにHDDを増設しましたので、次は外付けHDDの健康状態をチェックできる仕組みを作ります。実は QNAPのQTSには内蔵HDDについてはS.M.A.R.T.情報を表示したり、定期的にセルフチェックを行わせる機能があるのですが、外付けHDDについては全然面倒見てくれないのです。
 また、HDDのS.M.A.R.T.情報を得たり監視したりするのは smartmontoolsが一般的だと思うのですが、実はQNAPのOS(QTS)には smartmontoolsが入っていません。その代わり nasutil というコマンドでHDDの S.M.A.R.T.情報を表示したり、HDDのセルフチェックを行わせるようにしているようなのですが、このコマンドは外付けHDDをサポートしていないようなのです。そのため自力で smartmontools をインストールする必要があるのでした。

 QNAP NASには、こういったオープンソースを簡単にインストールできるようにするために Optware IPKGと言うものがあります。これを QTSのApp Centerでインストールすることによって様々なオープンソースを簡単にインストールできるようになるのです。しかし、何故か Optware IPKG でインストールした smartmontools は実行時にSIGSEGVで異常終了してしまうそうです。ワタシも試してみましたが、現時点でも修正されていませんでした。原因はgccの最適化の副作用だかバグらしく、それを回避するための方法があるにもかかわらず放置状態らしいです。そのため、先ずOptware IPKGで開発環境をインストールしてから smartmontools をビルドしてインストールするという、面倒な方法を採る必要があります。

 具体的には、あちこちの先人達のホームページを参考にして以下のような手順でインストールしました。

  1. QTSのApp Centerで Optware IPKG をインストールする。
  2. adminまたはrootで、ssh等でTS-112にログインする。
  3. Optwareパッケージリストを更新する。
    # ipkg update
    
  4. 開発環境をインストールする。
    # ipkg install make
    # ipkg install gcc
    # ipkg install grep
    # ipkg install gawk
    # ipkg install optware-devel
    
  5. 上でインストールしたものは /opt配下にインストールされるので、これらが優先的に使われるようPATHを通す。
    # export PATH=/opt/bin:$PATH
    
  6. smartmontools のソースパッケージをhttp://sourceforge.net/projects/smartmontools/files/smartmontools/からダウンロードする。
     現時点での最新版はVer.6.3でしたので、上のホームページから smartmontools-6.3.tar.gz をダウンロードします。PCのWebブラウザでダウンロードして TS-112にコピーしても良いし、
    # cd /opt/tmp
    # wget http://sourceforge.net/projects/smartmontools/files/smartmontools/6.3/smartmontools-6.3.tar.gz
    
    などとしてダウンロードします。以降は smartmontools Ver.6.3 として記述しています。
  7. ダウンロードした smartmontools のソースパッケージを解凍する。
    # tar xvzf smartmontools-6.3.tar.gz
    
  8. smartmontools をビルドする。
    # cd smartmontools-6.3
    # ./configure --prefix=/opt CXXFLAGS='-g -O2 -fno-toplevel-reorder -Wall -W'
    # make
    
  9. ビルドが成功したらインストールする。
    # make install
    # update-smart-drivedb
    
  10. 動作確認してみる。
    /etc/mtab を見ると、eSATAの外付けHDDデバイス名は /dev/sdza のようなので、
    # /opt/sbin/smartctl --device=sat -A /dev/sdza
    smartctl 6.3 2014-07-26 r3976 [armv5tel-linux-3.4.6] (local build)
    Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
    
    Warning! SMART Attribute Data Structure error: invalid SMART checksum.
    Read SMART Thresholds failed: scsi error aborted command
    
    === 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   111   100   ---    Pre-fail  Always       -       35364064
      3 Spin_Up_Time            0x0003   096   095   ---    Pre-fail  Always       -       0
      4 Start_Stop_Count        0x0032   100   100   ---    Old_age   Always       -       17
      5 Reallocated_Sector_Ct   0x0033   100   100   ---    Pre-fail  Always       -       0
      7 Seek_Error_Rate         0x000f   100   253   ---    Pre-fail  Always       -       26423
      9 Power_On_Hours          0x0032   100   100   ---    Old_age   Always       -       37
     10 Spin_Retry_Count        0x0013   100   100   ---    Pre-fail  Always       -       0
     12 Power_Cycle_Count       0x0032   100   100   ---    Old_age   Always       -       10
    183 Runtime_Bad_Block       0x0032   097   097   ---    Old_age   Always       -       3
    184 End-to-End_Error        0x0032   100   100   ---    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   ---    Old_age   Always       -       0
    188 Command_Timeout         0x0032   100   100   ---    Old_age   Always       -       0 0 0
    189 High_Fly_Writes         0x003a   100   100   ---    Old_age   Always       -       0
    190 Airflow_Temperature_Cel 0x0022   054   052   ---    Old_age   Always       -       46 (Min/Max 27/48)
    191 G-Sense_Error_Rate      0x0032   100   100   ---    Old_age   Always       -       0
    192 Power-Off_Retract_Count 0x0032   100   100   ---    Old_age   Always       -       3
    193 Load_Cycle_Count        0x0032   100   100   ---    Old_age   Always       -       77
    194 Temperature_Celsius     0x0022   046   048   ---    Old_age   Always       -       46 (0 24 0 0 0)
    197 Current_Pending_Sector  0x0012   100   100   ---    Old_age   Always       -       0
    198 Offline_Uncorrectable   0x0010   100   100   ---    Old_age   Offline      -       0
    199 UDMA_CRC_Error_Count    0x003e   200   200   ---    Old_age   Always       -       0
    240 Head_Flying_Hours       0x0000   100   253   ---    Old_age   Offline      -       34h+17m+42.430s
    241 Total_LBAs_Written      0x0000   100   253   ---    Old_age   Offline      -       120444424
    242 Total_LBAs_Read         0x0000   100   253   ---    Old_age   Offline      -       4128056
    255 Unknown_Attribute       0xbc00   223   000   ---    Old_age   Offline      -       0
    
    何やら "Warning! SMART Attribute Data Structure error: invalid SMART checksum." という警告メッセージが出ているけど、S.M.A.R.T.情報は採れている様子。

 これで一先ず eSATA接続した外付けHDDについて S.M.A.R.T.情報を見ることができるようになりました。次のステップは、定期的なセルフテストや監視(メールによる報告)ができるようにしたいと思います。


< 過去の記事 [ 8月の 全てのカテゴリ リスト ] 新しい記事 >

2014 calendar
8月
12
3456789
10111213141516
17181920212223
24252627282930
31


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.