cool-γελοιογραφία-2569506

Οι σύγχρονοι σκληροί δίσκοι διαθέτουν έναν εσωτερικό μηχανισμό που ονομάζεται SMART μέσω του οποίου είναι δυνατόν να γνωρίζουμε πότε πρόκειται να αποτύχει ένας σκληρός δίσκος. Δεν θα ήταν καλό από τον διακομιστή να σας στείλει email πριν από μια τέτοια αποτυχία;

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Προγράμματα όπως το "mdadm" (για διαχείριση λογισμικού RAID) και το "Palimpsest Disk Utility" (που χρησιμοποιούνται στο Ubuntu LiveCD), χρησιμοποιούν τις πληροφορίες SMART για να σας ενημερώνουν όταν ο δίσκος πρόκειται να βγει ή έχει αποτύχει. Ωστόσο, σε έναν διακομιστή χωρίς κεφαλή (χωρίς GUI) δεν υπάρχει υπηρεσία που θα σας ενημερώνει για την εκκρεμότητα της καταστροφής πριν είναι πολύ αργά. Επιπλέον, πώς θα το γνωρίζατε χωρίς να συνδεθείτε χειροκίνητα στο διακομιστή;

Αυτό το σενάριο, όταν εκτελείται μία φορά την ημέρα με cron, θα ειδοποιεί εάν κάποιος από τους αριθμούς των κακών τομέων των σκληρών δίσκων του συστήματος έχει φτάσει σε ένα όριο που είναι σκόπιμα χαμηλότερο από το όριο «ο δίσκος είναι κακός» και στείλτε την προειδοποίηση μέσω ηλεκτρονικού ταχυδρομείου στον διαχειριστή του μηχανήματος.

Προαπαιτούμενα και υποθέσεις

  • Έχετε ήδη ρυθμίσει την υποστήριξη email για τον διακομιστή χρησιμοποιώντας τον οδηγό "Πώς να ρυθμίσετε τις ειδοποιήσεις email στο Linux". Χρησιμοποιείτε ένα σύστημα που βασίζεται στο Debian. Δεν χρησιμοποιείτε ελεγκτή RAID υλικού *. Θα με δείτε να χρησιμοποιώ το VIM ως πρόγραμμα επεξεργασίας, αυτό συμβαίνει μόνο επειδή το έχω συνηθίσει ... μπορείτε να χρησιμοποιήσετε οποιοδήποτε άλλο πρόγραμμα επεξεργασίας που θα θέλατε.

* Επειδή είναι πολύ πιθανό ο ελεγκτής RAID υλικού να αποκλείει την πρόσβαση του συστήματος σε αυτές τις πληροφορίες.

Ρύθμιση

Εγκαταστήστε το πακέτο "smartmontools" που διαβάζει τις πληροφορίες SMART από τον ελεγκτή σκληρού δίσκου και τις παρουσιάζει σε εμάς.

sudo aptitude εγκαταστήστε smartmontools

Δημιουργήστε το σενάριο οθόνης:

sudo vim /root/smart-monitor.sh

Κάντε αυτό το περιεχόμενο:

#! / bin / bash ######## Λειτουργία email ######## email_admin_func () {echo "To: [email protected]"> $ temp_email_file echo "From: machine [email protected] ">> $ temp_email_file echo" Θέμα: Παραβίαση του ορίου παρακολούθησης SMART ">> $ temp_email_file echo" ">> $ temp_email_file echo -e $ 1 >> $ temp_email_file / usr / sbin / ssmtp -t < $ temp_email_file echo "Έστειλε ένα email στον Διαχειριστή"} 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. ######## Μηχανή ######## για εγώ στο sda sdb; Κάντε # Προσθέστε ή αφαιρέστε ονόματα δίσκων από αυτήν τη λίστα, ανάλογα με την εγκατάσταση. αν [["` smartc_func $ i` "-ge $ allow_threshold]]; στη συνέχεια, ηχώ E-mail στον διαχειριστή email_admin_func "Ένα από τα HD στο" hostname "", έφτασε το ανώτατο όριο !!! n Το όριο ορίστηκε σε: $ allow_threshold και η κατάσταση δίσκου $ i ήταν: "" smartc_func $ i` " "τελείωσε

Τα βασικά σημεία που πρέπει να σημειώσετε είναι:

  • Λειτουργία email - Ορίστε τις κατάλληλες πληροφορίες όπως το όνομα του μηχανήματος και το email του διαχειριστή. Επιτρεπόμενο όριο - Ορίστε αυτήν την παράμετρο σε αυτό που πιστεύετε ότι είναι κατάλληλο, έχω χρησιμοποιήσει 5, επειδή το όριο που ορίστηκε για τους σκληρούς δίσκους "βαθμού διακομιστή" που χρησιμοποίησα ήταν 10. (Βρήκα το όριο για τις μονάδες "βαθμού καταναλωτή" σε να είναι τόσο υψηλό όσο 140). Ρυθμίστε τις συσκευές που θέλετε να παρακολουθείτε προσαρμόζοντας την απαρίθμηση των ονομάτων δίσκων στο βρόχο «για». Προς το παρόν περιλαμβάνονται δύο δίσκοι (sda & sdb), οπότε προσαρμόστε την εγκατάστασή σας. Μπορείτε να συμπεριλάβετε όλους τους δίσκους σας ή μόνο μερικούς, εάν πρέπει να εξαιρέσετε έναν δίσκο για κάποιο λόγο.

* στην αρχική μου εγκατάσταση, ο πρώτος δίσκος ήταν μια μονάδα flash, οπότε η ανάγνωση των πληροφοριών της, εάν είναι δυνατόν, δεν έχει μεγάλη χρησιμότητα.

Κάντε το σενάριο εκτελέσιμο:

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

Η εγκατάσταση ολοκληρώθηκε.

Προγραμματίστε την εκτέλεση του σεναρίου αυτόματα

Θέλουμε να κάνουμε το σενάριο να τρέχει αυτόματα, έτσι θα δημιουργήσουμε μια νέα δουλειά Cron για αυτό. Όπως αναφέρεται στον οδηγό «Πώς να ρυθμίσετε τις ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου στο Linux», το αποτέλεσμα είναι ότι εάν το ίδιο το σενάριο αντιμετωπίζει σφάλμα, το cron θα μας ενημερώσει αυτόματα μέσω email μόλις συμβεί.

Ανοίξτε τον προγραμματιστή εργασίας cron:

sudo crontab -e

Προσθέστε το στο περιεχόμενό του:

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

Αυτό θα ρυθμίσει την εκτέλεση του σεναρίου κάθε πρωί στις 7 π.μ.

Όλος ο τομέας σας ανήκει σε εμάς :)