ディスク診断ツール、GSmartControl

gsmart_thm.png

 GSmartControlは、smartctlが出力したハード・ドライブのSMART(Self-Monitoring, Analysis, and Reporting Technology)健康情報をグラフィカルに表示するツールだ。これを使えば/dev/disk/by-idで問題のディスクを探す作業も、smartctlを実行したあとに、その出力からSMART属性の異常を見つけ出す作業も不要だ。

 GSmartControlはFedora、openSUSE、Ubuntuの各標準リポジトリーにはないが、openSUSE 11とFedora 9についてはopenSUSE Build Serviceでワンクリックインストールすることができる。今回の試用では、64ビットFedora 9マシン上でGSmartControl 0.8.0rc3をソースからビルドした。使ったコマンドは、通常通り、「./configure && make && sudo make install」だ。

 GSmartControlはGTK+2のC++用API(gtkmm24)を使って書かれている。また、ハードドライブの調査にはsmartmontoolsコマンドラインツールユーティリティーを、S.M.A.R.T.情報の構文解析にはPCRE正規表現ライブラリーを利用している。

 メインウィンドウのスクリーンショットを下に示す。検出されたドライブがすべて表示されている。Unknown modelアイコンが2つあるが、これはRAIDデバイスとUSBフラッシュディスクだ。こうしたUnknown modelを表示したくない場合は、PreferencesウィンドウのGeneralタブでS.M.A.R.T.互換デバイスのみを表示するように設定すればよい。

gsmart1_thumb.png
GSmartControl

 スキャンもさせたくない場合は、同じPreferencesウィンドウのDrivesタブにあるブラックリストで、そのデバイスを指定する。このタブでは、smartctlを実行する際に特定のデバイスに対して特定のパラメーターを渡すように設定することもできる。たとえば、旧型のハードディスクが/dev/sdaにある場合、そのデバイスに対してのみ特定のsmartctlパラメーターを設定するといったことができる。

 Deviceメニューでは、GSmartControlが検出した以外のデバイスを追加したり、デバイスを再スキャンしたり、過去のsmartctl出力を仮想的なデバイスとしてロードしたりすることができる。この最後の機能は、あるドライブの現在のsmartctl出力を過去の値と比較するときに便利だ。また、ドライブに対してS.M.A.R.T.を有効にし、自動オフラインデータ収集を開始させることもできる。

 Deviceメニューにあるオプションのうち、View DetailsとPerform Testsという2つの主要オプションは、デバイスのコンテキストメニューにもある。どちらのオプションも開くウィンドウは同じだが、Perform Testsの場合は、ドライブのShort Self-testまたはExtended Self-testを開始するタブを表示した状態で開く。メインウィンドウのドライブアイコンをダブルクリックしても、View Detailsメニューオプションと同じウィンドウが開く。

 一般利用者にとっては、ターミナルからsmartmontoolsのsmartctlツールを直接利用するだけでも憚られるのに、問題のハードドライブを探しsmartctlで詳細な情報を取得するだけでは済まず、各属性の意味を調べてその値を検討しなければならないことが少なくない。GSmartControlでもそうした属性が一覧表示されるが、その多くについて説明があり、解説書を見なくても意味するところがわかる。しかも、注意すべき属性については、目立つように行の背景色が変わる。その一例を、下のスクリーンショットに示す。これはSamsungの500GBドライブのリポートだが、Read Soft Error Rateの行がピンクになっており、異常値を含むことがすぐにわかる。実際、Raw valueが異常に高い。同じマシンに搭載されている同じモデルのSamsungドライブ2基もRead Soft Error Rateが同様のRaw valueを示していた。

gsmart2_thumb.png
ハードディスクの属性表示

 このスクリーンショットで示したDevice Informationウィンドウのほかのタブも見ておこう。Identityタブでは、モデル、シリアル番号、そのドライブのファームウェア、そのドライブでS.M.A.R.T.が有効になっているかどうか、健康状態の総合評価がわかる。Capabilitiesタブでは、そのドライブがS.M.A.R.T.機能をサポートしているかどうかと、Short self-testやExtended self-testの所要時間などの補足情報がわかる。

 Error LogタブとSelf-test Logタブでは、エラーとExtended self-testの情報がわかる。Perform Testsタブでは、そのドライブに対してShort self-testまたはExtended self-testを実行することができる。テスト中はタブに進捗が表示され、終了した割合と残りの推定所要時間がわかる。Short self-testを試行したところ、推定所要時間が何度か飛び、進捗率が10%から20%になったとき推定所要時間が2分に初期化された。なお、自己診断中もDevice Informationウィンドウの各タブを自由に見ることができる。

 残念ながら、S.M.A.R.T.がリポートするデータの中にはドライブごとに意味の異なるものがある。また、今回の試行では、一部の属性にあり得ないような高い値がリポートされたドライブもあった。こうしたベンダーによる違いのために、一貫したユーザーインタフェースの構築は非常に複雑なものになっている。

 GSmartControlを利用すれば、一般利用者でもLinuxマシン上のS.M.A.R.T.情報を容易に調べることができる。メインウィンドウではすべてのデバイスを一覧でき、メーカーとモデル番号で検索することもできる。したがって、rootユーザーで/dev/disk/by-idを探す必要はない。また、Device Informationウィンドウでは問題のありそうな行が目立つように表示される。問題のありそうな属性が見慣れないものであっても、付属する説明を見れば意味がわかるので便利だ。

Ben Martin 10年以上にわたってファイルシステムに携わっている。博士課程を修了し、現在、libferris、ファイルシステム、検索ソリューションを中心にコンサルティングをしている。

Linux.com 原文(2008年10月24日)