Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
S.M.A.R.T.のソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
S.M.A.R.T.
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ストレージ]] [[en:S.M.A.R.T.]] S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) は近代的なストレージデバイスに内蔵されている補助コンポーネントです。ストレージの温度・代替処理された不良セクタの数・シークエラーなどの統計からデバイスの健康状態を推察し、故障を予測したり危険な値が出たときに通知することができます。 == Smartmontools == smartmontools パッケージはストレージデバイスを診断するための2つのユーティリティ ({{ic|smartctl}} と {{ic|smartd}}) を含んでいます。[[公式リポジトリ]]から {{Pkg|smartmontools}} をインストールしてください。 === デバイスが SMART 対応かどうか確認する === デバイスが SMART 機能を有しているかどうかチェックするには次のコマンドを実行します (対象が ATA デバイスの場合 {{ic|1=--device=ata}} オプションが必要です): # smartctl --info /dev/<device> <device> は {{ic|sda, hda,...}} などに置き換えて下さい。このコマンドはデバイスに関する全般的な情報を表示します。対応している場合、下の2行が確認できるはずです: SMART support is: Available - device has SMART capability. SMART support is: Enabled SMART が有効でない場合、以下を実行して有効化します: # smartctl --smart=on /dev/<device> === デバイスの健康状態を調べる === 実行中のデバイスの健康状態を調べる3つの方法があります (どのテストもユーザーデータには影響を与えません): # Short (デバイスの問題を高い確率で発見するテストを実行する) # Extended (または Long。ディスクの完全なチェックを行う) # Conveyance (デバイスの輸送中に破損が発生しなかったか確認する) {{ic|-c}} (または {{ic|--capabilities}}) フラグを使うことでデバイスがどのテストに対応しているのか、そしてそれらの診断にどれくらい時間がかかるのか調べられます: # smartctl -c /dev/sda […] Short self-test routine recommended polling time: ( 1) minutes. Extended self-test routine recommended polling time: ( 74) minutes. Conveyance self-test routine recommended polling time: ( 2) minutes. […] テストを実行するには: # smartctl -t short /dev/<device> # smartctl -t long /dev/<device> # smartctl -t conveyance /dev/<device> {{Note|SSD などは全てのテストに対応していないことがあります。}} ==== テスト結果を表示 ==== デバイスの健康状態は {{ic|-H}} フラグで表示できます。デバイスが不健康だと報告された場合、デバイスが既に壊れているか、あるいは24時間に故障することが予想されます。できる限り早くディスクからデータを抜き出して、どこか別のところにコピーすることを推奨します: # smartctl -H /dev/<device> 最近のテスト結果のリストを表示するには: # smartctl -l selftest /dev/<device> デバイスの詳細な情報を表示するには: # smartctl -a /dev/<device> === デバイスの監視 === smartd デーモンは SMART の状態を監視して、何か問題が発生したらメールを送信します。起動時にデバイスを監視するには、[[systemd]] で {{ic|smartd.service}} ユニットを有効にしてください。{{ic|/etc/smartd.conf}} で設定をすることが可能です。 {{Tip|{{ic|/etc/smartd.conf}} は幾分難解なコマンドライン式のオプションを使って設定します。ファイルの中にあるコメントや例を見たり、[http://smartmontools.sourceforge.net/man/smartd.conf.5.html manpage] を参照してください。以下は監視オプションの例です。}} ==== 監視するデバイスの定義 ==== 全てのデバイスの全ての属性を監視するには以下を記述します: DEVICESCAN -a {{ic|/dev/sda}} と {{ic|/dev/sdb}} の全ての SMART エラーを監視するには (他のデバイスは無視): {{hc|/etc/smartd.conf| /dev/sda -a /dev/sdb -a }} 外部接続されたディスクの SMART エラーを監視する場合、再起動で {{ic|/dev/sdX}} が変わってしまう可能性があるため、UUID を使用するほうが良いでしょう。 まず、監視したいディスクの UUID を確認します: {{hc|ls -lah /dev/disk/by-uuid/| lrwxrwxrwx 1 root root 9 Nov 5 22:41 820cdd8a-866a-444d-833c-1edb0f4becac -> ../../sde lrwxrwxrwx 1 root root 10 Nov 5 22:41 b51b87f3-425e-4fe7-883f-f4ff1689189e -> ../../sdf2 lrwxrwxrwx 1 root root 9 Nov 5 22:42 ea2199dd-8f9f-4065-a7ba-71bde11a462c -> ../../sda lrwxrwxrwx 1 root root 10 Nov 5 22:41 fe9e886a-8031-439f-a909-ad06c494fadb -> ../../sdf1 }} 次に、{{ic|/dev/disk/by-uuid/}} のパスを使って監視したいディスクを SMARTd に設定してください: {{hc|/etc/smartd.conf| /dev/disk/by-uuid/820cdd8a-866a-444d-833c-1edb0f4becac -a }} ==== 潜在的な問題をメールする ==== 新しいエラーが発生したり、何らかの問題が発生した時にメールされるようにするには、{{ic|-m}} を用います: DEVICESCAN -m address@domain.com (root メールアカウントではなく) 外部にメールを送信するには、MTA (Mail Transport Agent) か MUA (Mail User Agent) のインストール・設定が必要です。よく使われる MTA は [[msmtp]] と [[SSMTP]] です。よく使われる MTU は sendmail や [[Postfix]] です。メールするだけなら、[[S-nail]] を設定するだけで足ります。 {{ic|-M test}} オプションを使うと smartd デーモンが起動するたびにテストメールが送信されます: {{hc|/etc/smartd.conf|DEVICESCAN -m address@domain.com -M test}} メールが届くまでに時間がかかることもあります。すぐに対応が必要な場合、以下のようにスクリプトを定義すると良いでしょう: {{hc|/etc/smartd.conf|DEVICESCAN -m address@domain.com -M exec /usr/local/bin/smartdnotify}} メールを送信してシステムの通知を表示するには、{{ic|/usr/local/bin/smartdnotify}} に以下を記述: #!/bin/sh # Send mail echo "$SMARTD_MESSAGE" | mail -s "$SMARTD_FAILTYPE" "$SMARTD_ADDRESS" # Notify user wall "$SMARTD_MESSAGE" デスクトップ環境を使っている場合、デスクトップにポップアップを表示することができます。以下のスクリプトを使ってください ({{ic|''X_user''}} と {{ic|''X_userid''}} は X を実行しているユーザーとそのユーザーの ID に置き換えてください): {{hc|/usr/local/bin/smartdnotify|2= #!/bin/sh sudo -u ''X_user'' DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/''X_userid''/bus notify-send "S.M.A.R.T Error ($SMARTD_FAILTYPE)" "$SMARTD_MESSAGE" --icon=dialog-warning }} 上記のスクリプトは {{Pkg|libnotify}} を必要とします。詳しくは[[デスクトップ通知]]を見てください。 ==== 電源管理 ==== 電源管理によってコンピュータを制御している場合、低電力モードの HDD を扱う方法を設定するべきです。通常、SMART コマンドが実行されるとディスクのプラッタはスピンアップします。以下のオプションを使うことで、低電圧モードの HDD を定期的にスピンアップさせて高電圧モードになってしまうを防げます: DEVICESCAN -n standby,15,q 詳しい情報は [https://sourceforge.net/apps/trac/smartmontools/wiki/Powermode smartmontools wiki] を見てください。 デバイスによっては -n が機能しない場合があります。syslog に以下のようなエラーメッセージが出力されます: {{ hc|journalctl -u smartd| CHECK POWER MODE: incomplete response, ATA output registers missing Device: /dev/sdb [SAT], no ATA CHECK POWER STATUS support, ignoring -n Directive }} 別の方法として smartd の -i オプションを利用することがあります。状態を確認するためにディスクをスピンアップする頻度を制御します。デフォルトは30分です。頻度を変更するには {{ic|/etc/default/smartmontools}} を作成・編集 (例: 3時間ごとに確認): {{ hc| head=/etc/default/smartmontools| output=SMARTD_ARGS="-i 21600" }} 詳しくは {{man|5|smartd.conf|url=https://www.smartmontools.org/browser/trunk/smartmontools/smartd.conf.5.in}} を参照してください。 ==== 自己診断の予定を組む ==== smartd はスケジュールに従って自己診断の実行をするようディスクに通知することができます。以下の {{ic|/etc/smartd.conf}} の設定では毎日午前2-3時の間に短い自己診断、土曜日の午前3-4時の間に長い自己診断が行われるようにします: DEVICESCAN -s (S/../.././02|L/../../6/03) ==== 温度が変わったら警告する ==== smartd はディスクの温度を記録して、急激な温度上昇が起こった時や温度の上限に達した時に警告をすることができます。以下の例では温度が4度以上変わった時と35度に到達した時にログを記録し、さらに温度が40度と危険なときにはログを取ってメールを送信します: DEVICESCAN -W 4,35,40 {{Tip| * {{ic|smartctl -A /dev/<device> | grep Temperature_Celsius}} を実行することで現在のディスクの温度を知ることができます。 * 特定のディスクが専ら他のディスクより熱い/冷たい場合、{{ic|DEVICESCAN}} を削除して個々のデバイスを定義し、適切な温度設定をしてください。}} ==== 完全な {{ic|smartd.conf}} の例 ==== 上記の例を全てまとめると以下のような設定になります: * {{ic|DEVICESCAN}} (smartd は全てのディスクを監視対象にし、監視を実行する) * {{ic|-a}} (全ての属性を監視する) * {{ic|-o on}} (自動オンラインデータ収集を有効化する) * {{ic|-S on}} (自動属性保存を有効化する) * {{ic|-n standby,q}} (ディスクが待機中の時チェックを実行せず、ディスクアクセスが発生しないようにログに書き込まない) * {{ic|-s ...}} (短いもしくは長いテストの予定を立てる) * {{ic|-W ...}} (温度を監視する) * {{ic|-m ...}} (メールアラート) DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -W 4,35,40 -m <username or email> ==== {{ic|smartd}} サービスの起動・リロードと状態の確認 ==== # systemctl start smartd または # systemctl reload smartd 状態を確認する: # systemctl status smartd 全ての {{ic|smartd}} ログ: # journalctl -u smartd === GUI アプリケーション === * {{App|Gsmartcontrol|smartctl ハードディスクドライブ状態調査ツールの GNOME フロントエンド。|http://gsmartcontrol.sourceforge.net|{{Pkg|gsmartcontrol}} または {{AUR|gsmartcontrol-svn}}}} == 参照 == * [https://www.smartmontools.org/ Smartmontools ホームページ] * [https://help.ubuntu.com/community/Smartmontools Smartmontools on Ubuntu Wiki] * [https://wiki.gentoo.org/wiki/Smartmontools smartmontools - Gentoo Wiki]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:App
(
ソースを閲覧
)
テンプレート:Grp
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
テンプレート:TranslationStatus
(
ソースを閲覧
)
S.M.A.R.T.
に戻る。
検索
検索
S.M.A.R.T.のソースを表示
話題を追加