Sledovanie pevného disku pre bezhlavé servery Linux

Obsah:

Sledovanie pevného disku pre bezhlavé servery Linux
Sledovanie pevného disku pre bezhlavé servery Linux

Video: Sledovanie pevného disku pre bezhlavé servery Linux

Video: Sledovanie pevného disku pre bezhlavé servery Linux
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 - YouTube 2024, Apríl
Anonim
Moderné pevné disky majú interný mechanizmus s názvom S.M.A.R.T. prostredníctvom ktorého je možné vedieť, kedy sa pevný disk chystá zlyhať. Nebolo by pekné na server, aby vám poslal e-mail pred takýmto neúspechom?
Moderné pevné disky majú interný mechanizmus s názvom S.M.A.R.T. prostredníctvom ktorého je možné vedieť, kedy sa pevný disk chystá zlyhať. Nebolo by pekné na server, aby vám poslal e-mail pred takýmto neúspechom?

Prehľad

Programy, ako je "mdadm" (pre správu softvérových RAID) a "Palimpsest Disk Utility" (používané na disku Ubuntu LiveCD), používajú informácie S.M.A.R.T aby vás informovali, keď sa disk chystá alebo sa zlyhal. Avšak na serveri bez hlavy (bez grafického rozhrania) neexistuje žiadna služba, ktorá by vás informovala o nevyriešenej záhube skôr, než bude príliš neskoro. Navyše, ako by ste o tom vedeli bez ručného prihlásenia na server?

Tento skript, keď sa spustí raz denne s cronom, upozorní, či niektorý z chybných sektorov pevných diskov v systéme dosiahne limit, ktorý je zámerne nižší ako prahová hodnota disku je zlá, a upozorní správcu zariadenia na e-mail.

Predpoklady a predpoklady

  • E-mailovú podporu pre server už nastavili pomocou príručky "Ako nainštalovať e-mailové upozornenia na Linux".
  • Používate systém založený na Debiane.
  • Nepoužívate * hardvérový RAID radič.
  • Uvidíte, že používam program VIM ako editor, práve preto, že som na to zvyknutý … môžete použiť iný editor, ktorý by ste chceli.

* Pretože je veľmi pravdepodobné, že hardvér RAID blokuje prístup systému k týmto informáciám.

Nastaviť

Nainštalujte balík "smartmontools", ktorý prečíta informácie zo servera pevného disku o údajoch S.M.A.R.T a ukáže nám to.

sudo aptitude install smartmontools

Vytvorte skript monitora:

sudo vim /root/smart-monitor.sh

Urobte to obsahom:

#!/bin/bash ########Email function######## email_admin_func() { echo 'To: [email protected]' > $temp_email_file echo 'From: [email protected]' >> $temp_email_file echo 'Subject: S.M.A.R.T monitor Threshold breached' >> $temp_email_file echo '' >> $temp_email_file echo -e $1 >> $temp_email_file /usr/sbin/ssmtp -t < $temp_email_file echo 'Sent an Email to the Admin' }

smartc_func() { /usr/sbin/smartctl -A /dev/$1 | grep Reallocated_Sector_Ct |tr -s ' '|cut -d' ' -f11 }

########End of Functions########

########Set working parameter######## temp_email_file=/tmp/smart_monitor.txt allowed_threshold=5 #set the amount of bad sectors your willing to live with, recommended 5.

########Engine######## for i in sda sdb; do # Add or subtract disk names from this list as appropriate for your setup. if [ '`smartc_func $i`' -ge $allowed_threshold ]; then echo Emailing the Administrator email_admin_func 'One of the HDs on '`hostname`', has reached the upper threshold limit!!! nThe threshold was set to:$allowed_threshold and the $i disk status was: '`smartc_func $i`'' fi done

Kľúčové body, ktoré treba poznamenať, sú:

  • Funkcia e-mailu - nastavte príslušné informácie, ako je názov počítača a e-mail administrátora.
  • Povolená prahová hodnota - nastavte tento parameter na to, čo považujete za vhodné. Použil som 5, pretože limit nastavený pre hardvér typu "server grade", ktorý som použil, bol 10. (našiel som prah pre disky "consumer grade" byť až 140).
  • Nastavte zariadenia, ktoré chcete monitorovať, úpravou výčtu názvov diskov v slučke "pre". V súčasnosti sú zahrnuté dva disky (sda & sdb), preto upravte nastavenie. Môžete zahrnúť všetky disky alebo len niektoré, ak potrebujete * z nejakého dôvodu vylúčiť disk.

* v mojom pôvodnom nastavení bol prvý disk flash disk, takže čítanie jeho informácií, ak vôbec nie je veľa využitia.

Vytvorte spustiteľný skript:

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

Nastavenie je hotové.

Naplánujte skript, ktorý sa má spúšťať automaticky

Chceme, aby sa skript spustil automaticky, aby sme vytvorili novú prácu Cron. Ako je uvedené v návode "Ako nastaviť e-mailové upozornenia v systéme Linux", je výsledkom toho, že ak skript sám narazí na chybu, cron nás automaticky oznámi e-mailom hneď, ako k tomu dôjde.

Otvorte plánovač úloh cron:

sudo crontab -e

Pridajte toto do svojho obsahu:

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

Týmto nastavíte, aby bol skript spustený každé ráno o 7:00.

Všetok váš sektor patrí nám:)

Odporúča: