A modern merevlemezek belső mechanizmusa az S.M.A.R.T. amelyen keresztül meg lehet tudni, hogy mikor merül fel a merevlemez. Nem lenne jó, ha a szerver e-mailt küldene neked egy ilyen hiba előtt?
Áttekintés
Az olyan programok, mint az „mdadm” (szoftveres RAID-kezeléshez) és a „Palimpsest Disk Utility” (az Ubuntu LiveCD-n használják), az S.M.A.R.T információkat használják arra, hogy tájékoztassák Önt, amikor a lemez készül vagy meghibásodott. A fej nélküli kiszolgálón (nincs GUI) azonban nincs olyan szolgáltatás, amely tájékoztatná Önt a függőben lévő végzetről, mielőtt túl késő lenne. Sőt, honnan tudna róla anélkül, hogy manuálisan bejelentkezne a szerverre?
Ez a szkript naponta egyszer futtatva a cron-nal figyelmeztet, ha a rendszer merevlemez-meghajtóinak bármelyik rossz szektora eléri a „rossz a lemez” küszöbértéknél szándékosan alacsonyabb határt, és e-mailben elküldi a figyelmeztetést a gép rendszergazdájának.
Előfeltételek és feltételezések
- Már beállította az e-mail támogatást a kiszolgálóhoz a “ E-mail értesítések beállítása Linux rendszeren ”Útmutató.
- Debian alapú rendszert használ.
- Nem használ * hardveres RAID vezérlőt.
- Látni fogja, hogy a VIM-et használom szerkesztő programként, ez csak azért van, mert megszoktam ... használhat bármilyen más szerkesztőt, amelyet szeretne.
* Mivel nagyon lehetséges, hogy a hardveres RAID vezérlő blokkolja a rendszer hozzáférését ezekhez az információkhoz.
Beállít
Telepítse a „smartmontools” csomagot, amely beolvassa az S.M.A.R.T információkat a merevlemez-vezérlőből és bemutatja nekünk.
sudo aptitude install smartmontools
Hozzon létre egy monitor szkriptet:
sudo vim /root/smart-monitor.sh
Legyen ez tartalom:
#! / Bin / Bash
######## Email funkció ########
email_admin_func ()
{
echo "Címzett: gé[email protected]"> $ temp_email_file
echo "Feladó: gépné[email protected]" >> $ temp_email_file
echo "Tárgy: Az S.M.A.R.T monitor küszöbét megsértették" >> $ temp_email_file
echo "" >> $ temp_email_file
echo -e $ 1 >> $ temp_email_file
/ usr / sbin / ssmtp -t <$ temp_email_file
echo "E-mailt küldött az adminisztrátornak"
}
smartc_func ()
{
/ usr / sbin / smartctl -A / dev / $ 1 | grep Reallocated_Sector_Ct | tr -s '' | cut -d '' -f11
}
######## Funkciók vége ########
######## Állítsa be a ######## működő paramétert
temp_email_file = / tmp / smart_monitor.txt
megengedett_küszöb = 5 # állítsa be a rossz szektorok számát, amelyekkel hajlandó élni, 5. ajánlott.
########Motor########
mert i in sda sdb; do # Adja hozzá vagy vonja le a lemezneveket a listából, a telepítésnek megfelelően.
ha [[ "`smartc_func $i`" -ge $allowed_threshold ]]; azután
visszhang az adminisztrátor e-mailezése
email_admin_func "A" hostname "egyik HD-ja elérte a felső küszöbértéket.
lenni
Kész
A legfontosabb szempontok a következők:
- E-mail funkció - Állítsa be a megfelelő információkat, például a gép nevét és a rendszergazdai e-mailt.
- Engedélyezett küszöb - Állítsa be ezt a paramétert arra, amit megfelelőnek érez, én az 5-öt használtam, mert az általam használt „kiszolgáló minőségű” merevlemezekre meghatározott határérték 10 volt. legyen olyan magas, mint 140).
- Állítsa be a figyelni kívánt eszközöket a „for” ciklusban található lemeznevek számának beállításával. Jelenleg két lemez (sda és sdb) van benne, ezért állítsa be a beállítást. Tartalmazhatja az összes lemezt, vagy csak néhányat, ha valamilyen okból * ki kell zárnia egy lemezt.
* az eredeti beállításomban az első lemez egy flash meghajtó volt, így az információinak elolvasása, ha egyáltalán lehetséges, nem sok hasznát veszi.
Tegye futtathatóvá a szkriptet:
sudo chmod + x /root/smart-monitor.sh
A beállítás kész.
Ütemezze a szkript automatikus futtatását
Szeretnénk a szkriptet automatikusan futtatni, így létrehozunk egy új Cron feladatot.
Amint azt a „
E-mail értesítések beállítása Linux rendszeren
”, Hogy ha a szkript maga hibát észlel, a cron automatikusan értesíti e-mailben, amint megtörténik.
Nyissa meg a cron jobütemezőjét:
sudo crontab -e
Adja hozzá ezt a tartalmához:
0 7 * * * /root/smart-monitor.sh > /tmp/last_smart_monitor_run.log
Ez azt állítja, hogy a szkript minden reggel 7-kor fusson.
Minden szektor hozzánk tartozik :)