Skeniranje monitora tvrdog diska za glavne Linux poslužitelje

Sadržaj:

Skeniranje monitora tvrdog diska za glavne Linux poslužitelje
Skeniranje monitora tvrdog diska za glavne Linux poslužitelje

Video: Skeniranje monitora tvrdog diska za glavne Linux poslužitelje

Video: Skeniranje monitora tvrdog diska za glavne Linux poslužitelje
Video: Turn any image into ASCII art! (Easy Python PIL Tutorial) - YouTube 2024, Travanj
Anonim
Moderni tvrdi diskovi imaju unutarnji mehanizam nazvan S.M.A.R.T. kroz koje je moguće znati kada tvrdi disk će propasti. Ne bi li bilo lijepo od poslužitelja poslati e-poštu prije takvog neuspjeha?
Moderni tvrdi diskovi imaju unutarnji mehanizam nazvan S.M.A.R.T. kroz koje je moguće znati kada tvrdi disk će propasti. Ne bi li bilo lijepo od poslužitelja poslati e-poštu prije takvog neuspjeha?

Pregled

Programi poput "mdadm" (za upravljanje softverom RAID) i "Palimpsest Disk Utility" (korišteni na Ubuntu LiveCD-u), koriste informacije S.M.A.R.T kako bi vas obavijestili kada je disk sprema ili nije uspio. Međutim, na poslužitelju bez glave (bez grafičkog sučelja) ne postoji servis koji će vas obavijestiti o čekanju dok je prekasno. Štoviše, kako biste to znali bez ručnog prijavljivanja na poslužitelj?

Ova skripta, kada se pokreće jednom dnevno s cronom, upozorit će se ako je neki od loših sektora hard diskova sustava dosegnuo granicu koja je namjerno niža od praga "disk je loš" i pošalje upozorenje administratoru stroja.

Preduvjeti i pretpostavke

  • Već ste podesili podršku e-pošte poslužitelju pomoću vodiča "Kako postaviti e-poštu upozorenja na Linuxu".
  • Upotrebljavate sustav Debian.
  • Ne upotrebljavate * hardverski RAID kontroler.
  • Vidjet ćete da koristim VIM kao editor program, to je samo zato što sam naviknut na to … možete koristiti bilo koji drugi urednik koji želite.

* Budući da je vrlo moguće da hardverski RAID kontroler blokira pristup sustavu ovim informacijama.

Postaviti

Instalirajte paket "smartmontools" koji čita podatke S.M.A.R.T s kontrolera tvrdog diska i prikazuje nam ga.

sudo aptitude install smartmontools

Stvorite skriptu monitora:

sudo vim /root/smart-monitor.sh

Učinite to sadržajem:

#!/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

Ključne točke koje treba imati na umu jesu:

  • Funkcija e-pošte - Postavite odgovarajuće informacije poput naziva računala i administratorske e-pošte.
  • Dopušteni prag - postavite ovaj parametar na ono što smatrate odgovarajućim, koristio sam 5 jer je ograničenje postavljeno za tvrde diskove "poslužiteljske kvalitete" bilo 10 (pronađeno je prag za pogone "potrošačke ocjene" biti jednako kao 140).
  • Postavite uređaje koje želite pratiti podešavanjem popisivanja naziva diska u petlji "za". Trenutno su uključena dva diska (sda & sdb), pa se prilagodite postavkama. Možete uključiti sve svoje diskove ili samo neke, ako trebate * izuzeti disk iz nekog razloga.

* u mojem izvornom postavu prvi disk bio je bljesak voziti tako da čitajući svoje podatke ako je to sve moguće nije puno koristi.

Napravite izvršnu skriptu:

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

Postava je gotova.

Zakazati skriptu da se pokrene automatski

Želimo napraviti skriptu pokrenuti automatski tako da ćemo stvoriti novi Cron posao za to. Kao što je navedeno u "Kako postaviti upozorenja e-pošte na Linuxu", upućivanje na to je da ako skripta sama dođe do pogreške, cron će nas automatski obavijestiti putem e-pošte čim se to dogodi.

Otvorite vremenski planer za posao:

sudo crontab -e

Dodajte to svom sadržaju:

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

Ovo će postaviti skriptu da bude pokrenuto svakog jutra u 7:00.

Svi vaši sektori pripadaju nama:)

Preporučeni: