...

Smartmontools что это за программа

Мониторинг диска с помощью smartmontools

Следить за дисками необходимо так же тщательно, как и за температурой, пылью в сервере. Даже если вы используете супер надежный Raid массив, контроль за сервером показывает уровень Системного Администратора.

Для мониторинга и диагностики состояния HDD существует технология smart — технология оценки состояния жесткого диска с помощью встроенной аппаратной диагностики.

Специально для систем мониторинга в Unix системах разработана утилита smartmontools. Данный софт присутствует во всех известных мне Unix системах.

Сейчас мы настроим smartd который находится в пакете smartmontools для непрерывного мониторинга HDD штатными средствами smartmontools, устанавливаем smartmontools: (или из Backports)

Устанавливаем пакет в Debian или Ubuntu:

# apt-get install -y smartmontools

Устанавливаем пакет в CentOS или RedHat:

# yum install -y smartmontools

Устанавливаем пакет в FreeBSD

# cd /usr/ports/sysutils/smartmontools # make install clean

smartctl — просмотр текущих значений S.M.A.R.T., запуск тестов диагностики диска вручную;
smartd — демон для записи в системный журнал изменений в значениях S.M.A.R.T, уведомления по электронной почте об ошибках, запуска тестов диагностики по расписанию;

Проверяем установлен ли S.M.A.R.T., с помощью команды:

# smartctl -i /dev/sda

Если S.M.A.R.T. отключен, то включаем:

# smartctl -s on /dev/sda

Настраиваем S.M.A.R.T. как демон в /etc/default/smartmontools, для примера добавляем два диска:

enable_smart=”/dev/sda /dev/sdb” start_smartd=yes smartd_opts=”–interval=1800″

Автоматизируем мониторинг для для дисков.

В файл /etc/smartd.conf (записываем email для получения уведомлений, о состоянии HDD)

/dev/sda -S on -o on -a -I 194 -W 4,38,45 -R 5 -H -l error -l selffortest -m [email protected] -s (S/../.././02|L/../../6/03) /dev/sdb -S on -o on -a -I 194 -W 4,38,45 -R 5 -H -l error -l selffortest -m [email protected] -s (S/../.././02|L/../../6/03) или /dev/sda -S on -o on -a -I 194 -m [email protected]

-a заставляет smartd наблюдать за всеми доступными SMART-параметрами дисков
-I 194 указывает smartd игнорировать изменения значения атрибута #194
-m указывает на необходимость отправки email-уведомлений.

Внимание! В файле smartd.conf вы сможете увидеть уже готовые примеры с описанием! Воспользуйтесь ими.

# /etc/init.d/smartmontools start

Можно проверить пишутся ли логи:

cat /var/log/syslog | grep smartd

Ключи программы взятые из MAn:

-d TYPE Тип устройства: ata, scsi, marvell, removable, 3ware,N, hpt,L/M/N
-T TYPE допустимое отклонение: normal, permissive
-o VAL Включает/выключает автоматические оффлайн тесты (on/off)
-S VAL Включает/выключает автосохранение атрибутов (on/off)
-n MODE Не проверять. Один из режимов: never, sleep, standby, idle
-H Мониторить SMART статус, уведомлять только при ошибках.
-l TYPE Мониторить SMART логи. Режимы: error, selftest
-f Монитор отказа для любых атрибутов ‘Usage’
-m ADD Письмо с варнингами на ADD для -H, -l error, -l selftest, and -f
-M TYPE Изменение поведения отсыла е-майлов (см. ман)
-s REGE Запустить тест когда дата совпадает с регулярным выражением (см. ман)
-p Сообщать о изменениях в ‘Prefailure’ атрибутах
-u ообщать о изменениях в ‘Usage’ атрибутах
-t Эквивалентно -p и -u директивам
-r ID Также сообщать ‘RAW’ значения атрибутов ID с -p, -u или -t
-R ID Следить за изменениями в атрибуте ID ‘Raw’ значения -p, -u or -t
-i ID Игнорировать атрибут ID для -f директивы
-I ID Игнорировать атрибут ID для -p, -u или -t директивы
-C ID Рапортовать если счётчик `ждущих` секторов не равен нулю
-U ID Рапортовать если счётчик `некорректируемых` секторов не равен нулю
-W D,I,C Monitor Temperature D)ifference, I)nformal limit, C)ritical limit
-v N,ST Mодифицировать метку для атрибута N (для нестандартных атрибутов)
-a Дефолт: эквивалентно -H -f -t -l error -l selftest -C 197 -U 198
-F TYPE Для ошибок в прошивке. Значения: none, samsung
-P TYPE Предустановки для диска: use, ignore, show, showall
# Комментарии: текст после него игнорируется
\ Продолжения строки

Запись опубликована 28.08.2014 автором Sscorpio в рубрике CentOS.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

smartmontools

The smartmontools package contains two utility programs ( smartctl and smartd ) to control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA/SATA, SCSI/SAS and NVMe disks. In many cases, these utilities will provide advanced warning of disk degradation and failure. Smartmontools was originally derived from the Linux ​ smartsuite package and actually supports ATA/SATA, SCSI/SAS and NVMe disks and also SCSI/SAS tape devices. It should run on any modern Linux, FreeBSD, NetBSD, OpenBSD, Darwin (macOS), Solaris, Windows, Cygwin, OS/2, eComStation or QNX system. Smartmontools can also be run from one of many different Live CDs/DVDs.

Sourcecode tarballs and precompiled packages for Darwin (macOS) and Windows are available at the ​ project page at Sourceforge.

Precompiled packages are available from the repositories of various distributions, see the Packages page or ​ Repology.org. Some examples:

Due to OS-specific issues and also depending on the different state of smartmontools development on the platforms, device support is not the same for all OS platforms. See info about RAID-controller, USB and NVMe support here on the homepage and of course in the manpages.

Thanks to Alexander Shaduri, there is also a graphical user interface for smartctl available. Go to the Homepage of ​ GSmartControl to get all info and the software itself. Have a look at the ​ screenshots and the ​ feature list to get an impression of this nice tool.

Contribute to Smartmontools

Device Information

If your drive is not in the current version of smartmontools drive database​, you can help to improve smartmontools information by sending a report about your drive to our mailinglist ​ smartmontools-database.

We collect info about USB devices that have been successfully or unsuccessfully tested with smartmontools. If you have a device not listed there, please tell us the test result, by editing the wiki page, and/or by sending an email to the ​ smartmontools-database mailinglist.

Bug Reports

To submit a bug report or propose an enhancement for smartmontools create a new ticket here in trac. Login is needed for that. If you don’t want to register an account, you can also send the info to our ​ smartmontools-support mailing list.

Patches

Patches are welcome! The most convenient way for us is, when you attach them to a new ticket here in trac. But it’s also possible to submit patches for code review to ​ developers mailinglist. You don’t need to be member of the mailinglist for it. Our list moderator will approve posting requests in these cases. Your patches should refer to our recent code base in SVN. You should also have a look at the documents in the developers area here in the wiki. You will find info about smartmontools software architecture and tutorials and guidelines from our developers there.

GitHub mirror and Circle CI integration

For those who prefer to use git and GitHub we maintain an ​ official mirror of the smartmontools project. Feel free to fork, submit PR-s and issues. The mirror is updated every 15 minutes from our sourceforge SVN. Also a Circle CI Continuous Integration and Delivery system has been setup, see ​ builds page for the details. Every commit to the GitHub triggers a new build and provides ​ a source tarball and various binaries as artifacts.

  • GitHub:
  • Trunk build status:
  • CodeQL scanning:

Incident Reports

If you see a failure or have a problem with our project facilities you may report it to [email protected] . You don’t need to be subscribed for that. Your mail will then go to the list moderator and she will take action to solve the issue.

License

Smartmontools (and content in this wiki) are published under ​ GNU GPL.

Smartmontools Download and Installation

Smartmontools 7.4 was released 2023-08-01, see NEWS​, ChangeLog​ and tickets for details.

Release files are signed with OpenPGP/GPG key ID FF3AEFF5 , fingerprint: 0C95 77FD 2C4C FCB4 B9A5 9964 0A30 812E FF3A EFF5 .
The public key block is available here: Trac Browser​, ​ SVN Repository, ​ Key Servers (see the FAQ for older keys).

After installation or booting from a Live-CD, you can read smartmontools man pages and try out the commands:

man smartd.conf man smartctl man smartd sudo /usr/sbin/smartctl -s on -o on -S on /dev/sda sudo /usr/sbin/smartctl -x /dev/sda

Note that the default location for the manual pages are /usr/share/man/man5 and /usr/share/man/man8 . If ‘ man ‘ doesn’t find them, then you may need to add /usr/share/man to your MANPATH environment variable.

The Windows package provides preformatted man pages in *.html and *.txt format.

Install precompiled package

Precompiled packages are available for many distributions, see the Packages page.

Install the Windows package

Download and run the latest smartmontools ​ NSIS-installer ( *.win32-setup.exe ) from ​ here. More recent Windows test releases build from SVN snapshots are available ​ here.

The default install type «Full» creates start menu shortcuts including an uninstaller, and adds the install directory to the PATH variable. The install type «Extract files only» is useful to unpack a «portable» version without affecting the Windows registry. The files can also be unpacked by ​ 7-Zip which is also available for ​ Linux.

The 32-bit version of smartmontools usually works also on 64-bit versions of Windows. Starting with smartmontools 5.43, the installer also provides 64-bit executables. These may be useful if the 32-bit subsystem is not available (e.g. 64-bit Windows Recovery CD).

Virus scanners occasionally produce false positive virus reports for NSIS-installers, see the ​ NSIS False Positives page. If this is the case for the smartmontools installer, please send a report to the smartmontools-support mailing list.

To use the smartd warning mail feature, download and install the ​ Blat mail utility.

See the ​ WPKG-Wiki for info about automated deployment of smartmontools and Blat.

Alternatively you could use the ​ Smartmontools for Windows Package by Ozy de Jong. This independent package provides user friendly support for smartd configuration and unattended setup.

Install the OSX/Darwin package

Download and run the latest smartmontools dmg image from ​ here. More recent OS X test releases build from the SVN snapshots are available ​ here.

Package provides Mach-O universal binary with 2 architectures (i386 and x86_64) and should work on any Intel based Mac.

Install from the source tarball

Download the latest source tarball from ​ here. More recent test tarballs build from SVN snapshots are available ​ here.

Uncompress the tarball:

tar zxvf smartmontools-6.5.tar.gz

The previous step created a directory called smartmontools-6.3 containing the code. Go to that directory, build, and install:

cd smartmontools-6.5 ./configure make sudo make install

These optional arguments of ./configure are fully explained in the INSTALL​ file. The most important one is —prefix to change the default installation directories. If you don’t pass any arguments to ./configure all files will reside under /usr/local to not interfere with files from your distribution.

To compile from another directory (avoids overwriting virgin files from the smartmontools package) replace ./configure [options] by:

mkdir objdir cd objdir ../configure [options]

To install to another destination (useful for testing and to avoid overwriting an existing smartmontools installation) replace make install by:

make DESTDIR=/home/myself/smartmontools-test install

Use a full path: ~/smartmontools-test would work but ./smartmontools-test won’t.

The smartmontools binaries for Windows can also be build from the source tarball (or from SVN) using the ​ MinGW or the ​ MinGW-w64 compiler. Build environments may be ​ Cygwin or ​ MSYS, cross-compilation under Linux is also supported. Extra ./configure arguments —host=. and —build=. may be required. The make install command does not work for Windows. See INSTALL​ file for details.

Install latest unreleased code from SVN repository

Sourceforge moved our repository to a new location: ​ https://svn.code.sf.net/p/smartmontools/code/. Use the trac or ​ sourceforge viewer to browse it.

You can also download the source tree via the code browser link ​ Download Snapshot.

For those, who don’t already have a Subversion client installed, here is a ​ list of SVN Packages and a ​ comparison of SVN clients for different operating systems and in all colors and flavours. (Stand-alone clients, Desktop-integrated clients, IDE plug-in clients, ..)

All you need to do to get the latest development code is (but note that the development code may be unstable, and that the documentation and code may be inconsistent):

svn co https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools smartmontools

This will create a subdirectory called smartmontools/ containing the code. Go to that directory, build, and install:

cd smartmontools ./autogen.sh ./configure make sudo make install

See notes under Install from source tarball for different options to ./configure and other useful remarks.

To update your sources from trunk (development version):

cd smartmontools svn update

One of the really cool things about version control systems is that you can get any version of the code you want, from the first release up the the most current development version. And it’s trivial, because each release is tagged with a name. Look at the ​ tags in our SVN repository to see what the different names are.

E.g. run the following command to fetch the RELEASE_5_38 release:

svn co https://svn.code.sf.net/p/smartmontools/code/tags/RELEASE_5_38/sm5 smartmontools

Note that the directory with the smartmontools sourcefiles is named sm5 in releases

The rest of the build procedure is the same like described above.

Update the drive database

The drive database file drivedb.h can be updated separately with the following command:

sudo /usr/sbin/update-smart-drivedb

This command uses ​ curl, ​ wget or ​ lynx for download. A proxy server can be specified by the environment variable https_proxy (lower case only), see the man pages of the tools for details.

The downloaded file is verified with OpenPGP/GPG key ID 721042C5 (release 6.6: DFD22559 ).

The public key block is included in the script​. It is also available at ​ Key Servers ( ​ release 6.6) but there is no need to import it into a local keyring.

The above update method does no longer work for smartmontools older than 6.5. The update-smart-drivedb tools from 5.40 to 6.1 use a download URL which is no longer valid since sourceforge platform upgrades. Releases 6.2 to 6.4 of the script use a HTTP URL which does no longer work since sourceforge site changed to HTTPS-only. The script from release 7.3 could also be used for older releases if the line BRANCH=RELEASE_X_Y is adjusted accordingly.

The Windows package provides update-smart-drivedb.ps1 since 7.3. It reads the proxy configuration from system settings. Older releases provide update-smart-drivedb.exe .

/chrome/common/download.png

The drivedb.h file can be viewed or downloaded () using the Trac browser: 6.0​, 6.1​, 6.2​, 6.3​, 6.4​, 6.5​, 6.6​, 7.0-7.1​, 7.2​, 7.3​, trunk​.
The following branches are no longer maintained: 5.39​, 5.40​, 5.41​, 5.42​, 5.43​.

Run smartmontools from Live-system

If you have a system that is showing signs of disk trouble (for example, it’s unbootable and the console is full of disk error messages) it can be handy to have a version of smartmontools that can be run off of a bootable medium to examine the disk’s SMART data and run self-tests. This is also useful if you want to run Captive Self-Tests (the -C option of smartctl ) on disks that can not easily be unmounted, such as those hosting the Operating System files. Or you can use this to run smartctl on computers that don’t use Linux as the day-to-day operating system.

License
All content in this wiki is published under ​ GNU GPL.

При подготовке материала использовались источники:

Мониторинг диска с помощью smartmontools


https://www.smartmontools.org/
https://www.smartmontools.org/wiki/Download

Оцените статью