Debianを実行しているノートブックでSMART通知が有効になっています。デフォルトでは、ディスクに問題が発生した場合は、通知がポップアップとして表示されます。私は電子メールを受信したくないので、私が作業しているワークステーションに通知を表示する方が良いと思います(もちろん、サーバーには電子メールが適しています)。
私はうまくいきましたが、テストをしましたが(正確に何をテストしましたか?)、私が正しい方法で実行していること、私がやっていることが実際に機能しているかどうかはまだ疑問です。
基本的に私がしたことは次のとおりです。
- 私がインストール
smartmontools
したsmart-notifier
# apt-get install smartmontools smart-notifier
- その後、メッセージを
smartd
監視/dev/sda
して通知に送信するようにデーモンを構成しました。これは/etc/smartd.conf
行が1つだけで実行されます。
/dev/sda -a -m myUsername -M exec /usr/share/smartmontools/smartd-runner -M test
-M test
デーモンを再起動すると、前のコマンドのオプションにテスト通知ポップアップが表示されます(smartd
これを行うには、ログアウトしてから再度ログインする必要があります)。動作してsmartd
デーモンを再起動すると、テスト通知ポップアップが表示されます。- 最後に、オプションを削除して
-M test
再smartd
起動しました。
それでは、今心が楽になりますか?この設定を使用すると、問題が発生するとすぐにポップアップが表示されますか/dev/sda
?未回答の質問がたくさんあります。
- この
-M test
オプションを使用すると、再起動時にのみテスト通知ポップアップが表示されますsmartd
。ラップトップを再起動してログインすると、何も表示されません(おそらくsmartd
この時点ですでに実行されているため)。smartd
ディスクに問題が検出された場合、通知がポップアップとして表示されていることを確認できますか? - このポップアップをトリガーするイベントは何ですか?つまり、「間違っている」とはどういう意味ですか?
$ man smartd
指摘した:
smartdはATAデバイスでSMART監視を有効にし(smartctl -s onと同じ)、30分ごとにこれらのデバイスとSCSIデバイス(設定可能)をポーリングし、SYSLOGインターフェイスを介してSMARTエラーとSMART属性の変更を記録します。
実際に確認してから/var/log/syslog
30分後にログエントリを確認できます(最後の行)。
Jul 30 13:17:06 precision7520 smartd[20258]: smartd 6.6 2016-05-31 r4324 [x86_64-linux-4.19.0-0.bpo.5-amd64] (local build)
Jul 30 13:17:06 precision7520 smartd[20258]: Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
Jul 30 13:17:06 precision7520 smartd[20258]: Opened configuration file /etc/smartd.conf
Jul 30 13:17:06 precision7520 smartd[20258]: Configuration file /etc/smartd.conf parsed.
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda, type changed from 'scsi' to 'sat'
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], opened
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], Samsung SSD 850 EVO 2TB, S/N:S2RMNB0J801642K, WWN:5-002538-c407b1fd2, FW:EMT02B6Q, 2.00 TB
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], not found in smartd database.
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], can't monitor Current_Pending_Sector count - no Attribute 197
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], can't monitor Offline_Uncorrectable count - no Attribute 198
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], is SMART capable. Adding to "monitor" list.
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], state read from /var/lib/smartmontools/smartd.Samsung_SSD_850_EVO_2TB-S2RMNB0J801642K.ata.state
Jul 30 13:17:06 precision7520 smartd[20258]: Monitoring 1 ATA/SATA, 0 SCSI/SAS and 0 NVMe devices
Jul 30 13:17:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], state written to /var/lib/smartmontools/smartd.Samsung_SSD_850_EVO_2TB-S2RMNB0J801642K.ata.state
Jul 30 13:47:06 precision7520 smartd[20258]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 67 to 68
しかし、何も表示されません。ログエントリがただ2次情報(温度1度増加)であるからでしょうか?では、どのようなイベントが通知をトリガーする必要がありますか?
- 最後に、与えられた時間間隔で()短い()または拡張()自己テストを実行する
/etc/smartd.conf
多くの例があります。そのような自己洞察が必須ですか? SMARTは独自のモニタリングプログラムを統合する必要はありませんか(SMARTのSMはセルフモニタリングを意味します)。自己テストなしで結果はどのくらい便利ですか?$ man smartd.conf
-s
-s S
-s L
ちなみに私の# smartctl /dev/sda
結果は次のとおりです。
$ sudo smartctl -a /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.19.0-0.bpo.5-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: Samsung SSD 850 EVO 2TB
Serial Number: S2RMNB0J801642K
LU WWN Device Id: 5 002538 c407b1fd2
Firmware Version: EMT02B6Q
User Capacity: 2 000 398 934 016 bytes [2,00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri Jul 30 14:15:22 2021 WAT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
(...)
セルフテストは行われていないようです。
(...)
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x53) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 265) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
(...)
自己テストなしでこのデータはまだ役に立ちますか?
(...)
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
9 Power_On_Hours 0x0032 094 094 000 Old_age Always - 27805
12 Power_Cycle_Count 0x0032 098 098 000 Old_age Always - 1055
177 Wear_Leveling_Count 0x0013 099 099 000 Pre-fail Always - 21
179 Used_Rsvd_Blk_Cnt_Tot 0x0013 100 100 010 Pre-fail Always - 0
181 Program_Fail_Cnt_Total 0x0032 100 100 010 Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 100 100 010 Old_age Always - 0
183 Runtime_Bad_Block 0x0013 100 099 010 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0032 067 043 000 Old_age Always - 33
195 Hardware_ECC_Recovered 0x001a 200 200 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x003e 100 100 000 Old_age Always - 0
235 Unknown_Attribute 0x0012 099 099 000 Old_age Always - 71
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 26330052507
SMART Error Log Version: 1
No Errors Logged
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% 14903 -
# 2 Short offline Completed without error 00% 14709 -
# 3 Short offline Aborted by host 70% 2733 -
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
255 0 65535 Read_scanning was never started
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
多くの質問がありますが、基本的にすべての質問は1つにまとめられています。 LinuxワークステーションでSMARTディスク通知を有効にするベストプラクティスは何ですか?この質問をインターネットで検索しても有用な情報が提供されなかったことに少し驚きました。
答え1
テストを実行する必要はありません。 SMARTはランタイム統計を収集します。
デバイスがサポートされている場合(すべてではない)、プロパティ5「Reallocation_Sector_Count」を参照してください。時々 - 値がゼロでない場合は、突然の増加が表示されないことを確認するために、より頻繁にチェックすることをお勧めします。
再割り当てされたセクタがあるということは、デバイスが書き込みに安全でないセクタを発見し、バックアップセクタが使用されたことを示します。おそらく、交換を検討する必要がある時かもしれません。ただし、デバイスは一部の不良セクタのために数ヶ月間実行される可能性があります。
SMARTは単なる指標です。可能SSDの場合、寿命または記録されたデータの量が差し迫ったエラーを示すより良い指標である可能性があります。
そのモデルでは、SamsungはWear_Leveling_Count = 21と言います。これは、SSDドライブで使用可能なセルの21%を使用する必要があり、LBAの数(512バイト)がドライブに書き込まれたことを意味します。
"Unknown_Attribute" = 71 は、システムの予定外の停電回数です。