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 をビルドしてインストールするという、面倒な方法を採る必要があります。
具体的には、あちこちの先人達のホームページを参考にして以下のような手順でインストールしました。
- QTSのApp Centerで Optware IPKG をインストールする。
- adminまたはrootで、ssh等でTS-112にログインする。
- Optwareパッケージリストを更新する。
- 開発環境をインストールする。
# ipkg install make
# ipkg install gcc
# ipkg install grep
# ipkg install gawk
# ipkg install optware-devel
|
- 上でインストールしたものは /opt配下にインストールされるので、これらが優先的に使われるようPATHを通す。
# export PATH=/opt/bin:$PATH
|
- 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 として記述しています。
- ダウンロードした smartmontools のソースパッケージを解凍する。
# tar xvzf smartmontools-6.3.tar.gz
|
- smartmontools をビルドする。
# cd smartmontools-6.3
# ./configure --prefix=/opt CXXFLAGS='-g -O2 -fno-toplevel-reorder -Wall -W'
# make
|
- ビルドが成功したらインストールする。
# make install
# update-smart-drivedb
|
- 動作確認してみる。
/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.情報を見ることができるようになりました。次のステップは、定期的なセルフテストや監視(メールによる報告)ができるようにしたいと思います。
|