web-dev-qa-db-ja.com

smartdがディスクを見つけられないと報告しないようにするにはどうすればよいですか?

ハードドライブを監視しています。通常は問題なく動作しますが、次のエラーウィンドウが24時間ごとに常にポップアップしています。

This email was generated by the smartd daemon running on:
  Host name: sparhawk-XPS-17
  DNS domain: [Unknown]
  NIS domain: (none)
The following warning/error was logged by the smartd daemon:
Device: /dev/sdc [SAT], unable to open device
For details see Host's SYSLOG.
You can also use the smartctl utility for further investigation.
Another email message will be sent in 24 hours if the problem persists.

接続されているsdcはありませんが、それでもSudo smartctl -a /dev/sdcを試します。結果は

smartctl 5.43 2012-06-30 r3573 [x86_64-linux-3.5.0-26-generic] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
Smartctl open device: /dev/sdc failed: No such device

/etc/smartd.confのコメントアウトされていない唯一の行は

DEVICESCAN -m root -M exec /usr/share/smartmontools/smartd-runner

Smartdがこのディスクの削除を正しく識別し、それについて文句を言わないようにする方法はありますか?これが不可能な場合、smartdにsdaとsdbのみを監視させる方法はありますか?

7
Sparhawk

同じ問題が発生しているため、調査を行いました。私はこれを見つけました:

/etc/smartd.conf

# smartd will re-read the configuration file if it receives a HUP
# signal

# The file gives a list of devices to monitor using smartd, with one
# device per line. Text after a hash (#) is ignored, and you may use
# spaces and tabs for white space. You may use '\' to continue lines.

# You can usually identify which hard disks are on your system by
# looking in /proc/ide and in /proc/scsi.

# The Word DEVICESCAN will cause any remaining lines in this
# configuration file to be ignored: it tells smartd to scan for all
# ATA and SCSI devices.  DEVICESCAN may be followed by any of the
# Directives listed below, which will be applied to all devices that
# are found.  Most users should comment out DEVICESCAN and explicitly
# list the devices that they wish to monitor.

私はカーネルからドライブを登録解除すると仮定します

root@localhost# echo 1 > /sys/block/sdX/device/delete

次に、/ etc/smartd.confからデバイスエントリを削除します。

次に、「sudo service smartmontools restart」を実行すると問題が修正され、smartdは欠落しているドライブの報告を停止します。

5
Ace

DEVICESCANキーワードを使用する代わりに、/ etc/smartd.confでsmartdに特定のデバイスのセットを明示的に監視することによってのみ監視するを実行できます。

したがって、/ dev/sdaと/ dev/sdbのみを監視するには、smartd.confから次のように削除します。

DEVICESCAN -m root -M exec /usr/share/smartmontools/smartd-runner

そして、その代わりに、以下を追加します。

/dev/sda -m root -M exec /usr/share/smartmontools/smartd-runner
/dev/sdb -m root -M exec /usr/share/smartmontools/smartd-runner

次に、smartdデーモンを再起動します。

このアプローチの主な欠点は、構成内の各ディスクを個別にリストする必要があることです。少なくとも2つのディスクだけがあれば、それほど面倒ではありません。

3
a CVn

私の場合、故障したHDDを交換した後、csvを削除してサービスを再起動するだけです:

Sudo systemctl stop smartmontools
Sudo killall smartd
cd /var/lib/smartmontools
Sudo rm attrlog.WDC_WD5000LPLX_00ZNTT0-WD_SERIAL_NUMBER.ata.csv
Sudo rm smartd.WDC_WD5000LPLX_00ZNTT0-WD_SERIAL_NUMBER.ata.state
Sudo rm smartd.WDC_WD5000LPLX_00ZNTT0-WD_SERIAL_NUMBER.ata.state~
Sudo systemctl start smartmontools

私のsmartd.conf

DEVICESCAN -H -l error -l selftest -f -s (O/../.././14|L/../.././15|C/../.././17) -m [email protected] -M exec /usr/share/smartmontools/smartd-runner

私の/etc/smartmontools/run.d/10s-nail

#!/bin/bash -e

# Send mail if /usr/bin/s-nail exists
if ! [ -x /usr/bin/s-nail ]; then
  echo "Your system does not have /usr/bin/s-nail. Install the s-nail package" 
  exit 1
fi

# $1 - body file
# $2 - "-s"
# $3 - subject
# $4 - admin email

/usr/bin/s-nail -q $1 -s "$3" -S smtp=smtp://192.168.1.11 -S from="SERVER_NAME S.M.A.R.Td <[email protected]>" $4
1
McPcholkin

たぶん、次のように-d removableをDEVICESCANに追加することで解決します:

DEVICESCAN -d removable -m root -M exec /usr/share/smartmontools/smartd-runner
0
Madacol