If-Koubou

Дисплей за монитор на твърдия диск за безжични сървъри на

Дисплей за монитор на твърдия диск за безжични сървъри на (Как да)

Съвременните твърди дискове имат вътрешен механизъм, наречен S.M.A.R.T. чрез който е възможно да се знае кога твърд диск ще се провали. Не би ли било хубаво на сървъра да ви изпрати имейл преди такъв провал?

Преглед

Програми като "mdadm" (за управление на софтуер RAID) и "Palimpsest Disk Utility" (използван в Ubuntu LiveCD), използвайте информацията S.M.A.R.T, за да ви информирам, когато дискът е на път да или не е успял. Въпреки това на сървър без глава (без GUI) няма услуга, която да ви информира за предстоящата смърт, преди да е станало твърде късно. Освен това, как бихте знаели за това, без ръчно да влезете в сървъра?

Този скрипт, когато се изпълнява веднъж дневно с cron, ще предупреди, ако някой от системните твърди дискове следи лошите сектори, е достигнал ограничение, което е съзнателно по-ниско от прага "диск е лош" и изпратите предупреждение до администратора на устройството.

Предпоставки и предположения

  • Вече сте настроили имейл поддръжка за сървъра, като използвате ръководството за "Как да инсталирате Email Alerts on Linux".
  • Използвате базирана на Debian система.
  • Не използвате хардуерния RAID контролер.
  • Ще видите, че използвам VIM като програма за редактиране, само защото съм свикнала с нея ... може да използвате друг редактор, който искате.

* Тъй като е много възможно хардуерният RAID контролер да блокира достъпа на системата до тази информация.

Настройвам

Инсталирайте пакета "smartmontools", който чете информацията за S.M.A.R.T от контролера на твърдия диск и го представя на нас.

sudo aptitude инсталирате smartmontools

Създайте скрипта на монитора:

sudo vim /root/smart-monitor.sh

Направете това със съдържание:

#! / Хамбар / Баш
######## Функция за имейл ########
email_admin_func ()

echo "до: [email protected]"> $ temp_email_file
echo "От: [email protected]" >> $ temp_email_file
echo "Тема: Проверка на параметъра S.M.A.R.T Threshold нарушен" >> $ temp_email_file
echo "" >> $ temp_email_file
ехо-е $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
ехо "Изпратено имейл до администратора"

smartc_func ()

/ usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s "| cut -d" -f11

######## Край на функциите ########

######## Задайте работен параметър ########
temp_email_file = / TMP / smart_monitor.txt
allow_threshold = 5 # определете размера на лошите сектори, с които желаете да живеете, препоръчвате 5.

######## ######## Engine
за аз в sda sdb; направете # Добавете или извадете имената на дисковете от този списък, както е подходящо за настройката.
ако [["'smartc_func $ i" "-ge $ allowed_threshold]]; тогава
ехо Изпращане на имейл до администратора
mail_admin_func "Един от HD дисковете на" hostname "" достигна горната граница! n Прагът беше зададен на: $ allowed_threshold и състоянието на $ i диска беше: "smartc_func $ i"
Fi
Свършен

Основните точки, които трябва да обърнете внимание са:

  • Функция за електронна поща - Задайте подходяща информация, като име на машината и имейл адресант.
  • Допустим праг - Задайте този параметър на това, което смятате за подходящо, използвах 5, защото зададената за "твърдия диск" твърд диск, която използвах, е 10. (установих прага за устройства за "потребителски клас" да бъде толкова висока, колкото 140).
  • Задайте устройствата, които искате да следите, като коригирате изброяването на имената на дисковете в цикъла "за". Понастоящем са включени два диска (sda & sdb), така че настройте настройките си. Можете да включите всичките си дискове или само някои, ако трябва да изключите диска по някаква причина.

* в оригиналната си настройка първият диск беше флаш устройство, така че четенето на информацията, ако изобщо не е възможно, не е от голяма полза.

Направете скрипта изпълним:

sudo chmod + x /root/smart-monitor.sh

Настройката е завършена.

Планирайте скрипта да се стартира автоматично

Искаме да направим скрипта автоматично, за да създадем нова работа за него.
Както е посочено в "Как да инсталирате Email Alerts on Linux" ръководството на резултата от това, е, че ако самият скрипт срещне грешка, cron автоматично ще ни информира по имейл, веднага щом се случи.

Отворете график за задания за cron:

sudo crontab -e

Добавете това към съдържанието му:

0 7 * * * /root/smart-monitor.sh> /tmp/last_smart_monitor_run.log

Това ще накара скрипта да се изпълнява всяка сутрин в 7 часа сутринта.

Целият ви сектор принадлежи на нас :)