LinuxワークステーションでSMARTディスク通知を有効にするベストプラクティスは何ですか?

LinuxワークステーションでSMARTディスク通知を有効にするベストプラクティスは何ですか?

Debianを実行しているノートブックでSMART通知が有効になっています。デフォルトでは、ディスクに問題が発生した場合は、通知がポップアップとして表示されます。私は電子メールを受信したくないので、私が作業しているワークステーションに通知を表示する方が良いと思います(もちろん、サーバーには電子メールが適しています)。

私はうまくいきましたが、テストをしましたが(正確に何をテストしましたか?)、私が正しい方法で実行していること、私がやっていることが実際に機能しているかどうかはまだ疑問です。

基本的に私がしたことは次のとおりです。

  1. 私がインストールsmartmontoolsしたsmart-notifier
# apt-get install smartmontools smart-notifier
  1. その後、メッセージをsmartd監視/dev/sdaして通知に送信するようにデーモンを構成しました。これは/etc/smartd.conf行が1つだけで実行されます。
/dev/sda -a -m myUsername -M exec /usr/share/smartmontools/smartd-runner -M test
  1. -M testデーモンを再起動すると、前のコマンドのオプションにテスト通知ポップアップが表示されます(smartdこれを行うには、ログアウトしてから再度ログインする必要があります)。動作してsmartdデーモンを再起動すると、テスト通知ポップアップが表示されます。
  2. 最後に、オプションを削除して-M testsmartd起動しました。

それでは、今心が楽になりますか?この設定を使用すると、問題が発生するとすぐにポップアップが表示されますか/dev/sda?未回答の質問がたくさんあります。

  1. この-M testオプションを使用すると、再起動時にのみテスト通知ポップアップが表示されますsmartd。ラップトップを再起動してログインすると、何も表示されません(おそらくsmartdこの時点ですでに実行されているため)。smartdディスクに問題が検出された場合、通知がポップアップとして表示されていることを確認できますか?
  2. このポップアップをトリガーするイベントは何ですか?つまり、「間違っている」とはどういう意味ですか?$ man smartd指摘した:

smartdはATAデバイスでSMART監視を有効にし(smartctl -s onと同じ)、30分ごとにこれらのデバイスとSCSIデバイス(設定可能)をポーリングし、SYSLOGインターフェイスを介してSMARTエラーとSMART属性の変更を記録します。

実際に確認してから/var/log/syslog30分後にログエントリを確認できます(最後の行)。

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度増加)であるからでしょうか?では、どのようなイベントが通知をトリガーする必要がありますか?

  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 は、システムの予定外の停電回数です。

関連情報