Ο έλεγχος της υγείας και, τυχών, μηχανικών προβλημάτων του δίσκου μπορεί να γίνει με το SMART Control που είναι ενσωματωμένο σε όλους τους σκληρούς δίσκους. Ποιες όμως τιμές και ενδείξεις του ελέγχου θα πρέπει να μας προϊδεάσουν για την ανάγκη, αντικατάστασής του;
Εισαγωγή
Παρότι ο έλεγχος της υγείας και της αξιοπιστίας του σκληρού δίσκου στον υπολογιστή μας δεν είναι από τις καθημερινές προτεραιότητες μας, τουλάχιστον όμως δεν θα πρέπει σε καμία περίπτωση να τα θεωρούμε «αθάνατα». Με λίγα λόγια δεν θα πρέπει να είμαστε πεπεισμένοι ότι «δεν θα συμβεί σε εμάς το κακό». Βασική αρχή είναι να μην εμπιστεύεστε τον δίσκο σας και να έχετε πάντα στο νου σας οτι ανα πάσα ώρα και στιγμή μπορεί να σας προδώσει.
Πέραν των αντιγράφων ασφαλείας των αρχείων σας, που θεωρώ αυτονόητο ότι το κάνετε (… ή μήπως όχι :) ) είναι σημαντικό να μπορούμε να κατανοούμε τα «μηνύματα» που μας στέλνει ο δίσκος μας. Τα μηνύματα αυτά εμφανίζονται ως στατιστικά δεδομένα τα οποία καταγράφονται μόνιμα στους registers του δίσκου με το S.M.A.R.T και λειτουργεί ανεξαρτήτως λειτουργικού συστήματος.
Η αστοχίες στην φυσιολογική λειτουργία του σκληρού δίσκου εμπίπτουν σε μία από τις δύο βασικές κατηγορίες αποτυχιών λειτουργίας:
- Προβλέψιμες αποτυχίες, που προκύπτουν συσσωρευτικά από αργές διαδικασίες, όπως η μηχανική φθορά και σταδιακή υποβάθμιση των επιφανειών αποθήκευσης. Η παρακολούθηση των δεδομένων του SMART μπορεί να προσδιοριστεί όταν αυτές οι αποτυχίες γίνονται όλο και πιο πιθανό.
- Απρόβλεπτες αποτυχίες, συμβαίνουν χωρίς προειδοποίηση και έχουν να κάνουν με μια ξαφνική μηχανική βλάβη (η οποία μπορεί να σχετίζεται με ακατάλληλο χειρισμό π.χ. απότομη διακοπή ρεύματος).
Παρότι η ενδεχόμενη αποτυχία, εν τέλη μπορεί να είναι καταστροφική, οι περισσότερες μηχανικές βλάβες θα προκύψουν από τη σταδιακή φθορά και συνήθως υπάρχουν ορισμένες ενδείξεις ότι η πλήρης αποτυχία είναι επικείμενη. Αυτά μπορεί να περιλαμβάνουν αυξημένη παραγωγή θερμότητας, αυξημένο επίπεδο θορύβου, προβλήματα με την ανάγνωση και τη γραφή των δεδομένων, ή αύξηση του αριθμού των χαλασμένο δίσκο τομέων.
Εγκατάσταση του Smart Control
Όλες οι διανομές Linux έχουν διαθέσιμο λογισμικό που «διαβάζει» τις τιμές του S.M.A.R.T και τις προβάλει είτε στο τερματικό είτε μέσω κάποιας γραφικής διεπαφής. Για παράδειγμα στο Ubuntu, υπάρχει το disks το οποίο προβάλει τα δεδομένα του SMART όπως φαίνεται στην παρακάτω εικόνα ενός από τους δίσκους στον υπολογιστή μου:

Για να έχουμε όμως μια εικόνα και για να δουλέψουμε ανεξάρτητα από ποια διανομή έχουμε, στο παρόν άρθρο θα δούμε την χρήση του στο τερματικό. Οπότε, για την εγκατάσταση του λογισμικού θα πρέπει να δείτε στον διαχειριστή πακέτων της διανομής σας κάποιο πακέτο που ονομάζεται «smartmontools». Εγκαταστήστε το και προχωράμε !
Χρήση του SMART Control
Η γενική μορφή χρήσης του λογισμικού στο τερματικό είναι:
sudo smartctl --all /dev/sdX
όπου sdX είναι ο δίσκος τον οποίο θέλετε να ελέγξετε. π.χ αν είναι ο πρώτος δίσκος θα είναι ο /dev/sda αν είναι ο δεύτερος δίσκος, θα είναι ο /dev/sdb κλπ. Για να δείτε τους συνδεδεμένους δίσκους χρησιμοποιείστε το λογισμικό lsblk στο τερματικό (όπου θα δείτε κάτι σαν αυτό):
lsblk
NAME
sda
├─sda1
├─sda2
└─sda5
sdb
├─sdb1
├─sdb2
└─sdb5
Όπως βλέπετε η «ρίζα» στον υπολογιστή μου αντιπροσωπεύει το 1 δίσκο με όνομα sda ενώ ο 2ος είναι το sdb. Επίσης μπορείτε να πείτε στο smartctl να αναζητήσει για τους συνδεδεμένους δίσκους με την παράμετρο –scan
sudo smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
όπου βλέπετε οτι έχω τον δίσκο sda που είδαμε και πριν.
Αν ο δίσκος είναι εξωτερικός και συνδέεται με USB θα χρειαστεί να ενημερώσουμε το smartcontrol για την μέθοδο με την οποία θα έχει πρόσβαση και τον τύπο του δίσκου. Στην πλειοψηφία τους οι νέοι εξωτερικού δίσκοι είναι SATA οπότε των νέων cases είναι η «-d sat»
sudo smartctl -d sat --all /dev/sdX
Πως συλλέγουμε πληροφορίες για τον δίσκο
Όταν εκτελέσετε την εντολή
sudo smartctl --all /dev/sdX
Θα δείτε ένα κατεβατό από πληροφορίες. Μην ανησυχείτε, στην πραγματικότητα η έξοδος της εντολής χωρίζεται σε 5 μέρη:
1. Πληροφορίες του δίσκου
=== START OF INFORMATION SECTION ===
όπου βλέπουμε πέραν του μοντέλου και το αν υποστηρίζει SMART και αν είναι ενεργό:
SMART support is: Available - device has SMART capability. SMART support is: Enabled
Σε περίπτωση που το υποστηρίζει και δεν είναι ενεργό, μπορούμε να το ενεργοποιήσουμε με την παράμετρο ‘-s on‘:
sudo smartctl -s on /dev/sdX
2. Πληροφορίες κατάστασης
όπου βλέπουμε την γενική εκτίμηση της υγείας του δίσκου π.χ.:
SMART overall-health self-assessment test result: PASSED
Μεμονωμένα μπορούμε να λάβουμε την πληροφορία με την παράμετρο -Η
sudo smartctl -H /dev/sda
3. Τιμές των μετρητών.
Vendor Specific SMART Attributes with Thresholds
Μεμονωμένα μπορούμε να λάβουμε την πληροφορία με την παράμετρο -A
sudo smartctl -A /dev/sda
4. Καταγραφές σφαλμάτων
Εδώ βλέπουμε τα error logs του δίσκου. Σε περίπτωση που δούμε π.χ. DMA errors, αυτά μπορεί να μην έχουν επηρεάσει άλλους μετρητές, δείχνουν όμως κάποιες αστοχίες και του μηχανικού τμήματος
SMART Error Log Version
5. Αποτελέσματα προηγούμενων tests.
Εδώ βλέπουμε τα αποτελέσματα των προηγούμενων test που έχουν γίνει στο παρελθόν.
Πως χρησιμοποιούμε τη smartctl
Ας δούμε όμως ποιες τιμές θα πρέπει να προσέξουμε. Για να δούμε πόση ώρα θα χρειαστεί περίπου να ολοκληρωθεί το test χρησιμοποιούμε την παράμετρο -c
sudo smartctl -c /dev/sdX
και βλέπουμε το τμήμα που λέει :
Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 50) minutes.
Ας κάνουμε ένα φρέσκο short test στον δίσκο που μας ενδιαφέρει με την παράμετρο -t short
sudo smartctl -t short /dev/sdX
Μην ανησυχείτε που δεν βλέπετε τίποτα. Το μόνο που θα δείτε τώρα είναι μια πληροφόρηση για το τι ώρα θα ολοκληρωθεί το test :
Please wait 2 minutes for test to complete. Test will complete after Fri Apr 15 12:14:18 2016
Αν για κάποιον λόγο θέλουμε να διακόψουμε το test που τρέχει στο παρασκήνιο τότε χρησιμοποιούμε την παράμετρο -X
sudo smartctl -X /dev/sdX
To test γίνεται εσωτερικά στον δίσκο μέσω του firmware και μετά από την καθορισμένη ώρα ολοκλήρωσης μπορούμε να πληροφορηθούμε για το αποτέλεσμά της με την παράμετρο ‘-l selftest’
sudo smartctl -l selftest /dev/sdΧ
το αποτέλεσμα είναι με χρονολογική σειρά από το πιο πρόσφατο μέχρι το πιο παλιό:
# 1 Short offline Completed without error 00% 8134 - # 2 Short offline Completed without error 00% 8134 - # 3 Short offline Completed without error 00% 5738 - # 4 Extended offline Interrupted (host reset) 60% 1 -
όπου βλέπουμε το αν είναι short test, αν εμφάνισε κάποιο error, το ποσοστό ολοκλήρωσης και την ηλικία του δίσκου σε ώρες.
Ας δούμε τώρα τις τιμές στον πίνακα αποτελεσμάτων που παρουσιάζει όλες τις εγγραφές που έχουν καταχωρηθεί από την στιγμή που βγήκε από το εργοστάσιο ο σκληρός δίσκος μέχρι και σήμερα. Αυτό μπορούμε να το κάνουμε, όπως είδαμε πριν με την παράμετρο -Α :
sudo smartctl -A /dev/sda
Η έξοδος θα μοιάζει με την παρακάτω εικόνα:
Τι από όλα αυτά πρέπει να προσέξω;
Εδώ θα πρέπει να να πούμε πως δεν υπάρχει αντικειμενική και τελεσίδικη απόφαση για το αν θα πρέπει να αντικαταστήσετε άμεσα η όχι τον δίσκο. Οι τιμές με λίγα λόγια είναι απλά καταγραφές και προσπαθούν να δώσουν μια εικόνα του δίσκου για την μέχρι τώρα πορεία της υγείας του. Η προσωπική σας εμπειρία σε συνδυασμό με αυτά τα δεδομένα, είναι αυτή και μόνο αυτή που θα καθορίσει την απόφασή σας.
Με λίγα λόγια και να δείτε κάτι τρομακτικό στα αποτελέσματα του δίσκου, αυτό δεν αποτελεί καθοριστικό παράγοντα για το υπόλοιπο της ζωής του δίσκου, αλλά μια εικόνα και υπενθύμιση ώστε να έχετε το νου σας.
Παρόλα αυτά αν δείτε στο health report κάτι σαν «fail» τότε θα πρέπει να ενεργήσετε κατάλληλα και να λάβετε άμεσα ένα αντίγραφο των αρχείων σας.
Όσον αφορά το αποτέλεσμα στον πίνακα, αυτά που μας ενδιαφέρουν κυρίως με βάση την σοβαρότητα των τιμών που αναγράφονται στην στήλη RAW_VALUE είναι :
- 198 Offline Uncorrectable Sectors: Τμήματα του δίσκου που δεν μπορούν να διορθωθούν (στον πίνακα έχω 0, οπότε καλά πάμε )
- 197 Current Pending Sectors: Αριθμός τομέων που αναμένεται να ανακατανεμηθούν (στον πίνακα έχω 0, οπότε καλά πάμε)
- 196 Reallocated sectors: Ανακατανεμημένοι τομείς (στον πίνακα έχω 4, πρέπει απλά να έχω τον νου μου αν αυτά αυξάνονται) Σημείωση: Αν είναι SSD ο δίσκος η τιμές αυτές δεν επηρεάζουν την υγεία του δίσκου μιας και αποτελούν φυσιολογική ανακατανομή.
- 12 Power cycle count: Συνολικός αριθμός ενεργοποίησης / απενεργοποίησης του σκληρού δίσκου
- 9 Power on Hours: Συνολικός αριθμός ωρών λειτουργίας του δίσκου ( γέρος ο δίσκος μου )
- 194 Temperature: Θερμοκρασία του δίσκου (37 βαθμοί, οπότε καλά πάμε)
- 1 Raw Read Error Rate: Σφάλματα ανάγνωσης (στον πίνακα έχω 0, οπότε καλά πάμε )
- 7 Seek Error Rate: Σφάλματα αναζήτησης (στον πίνακα έχω 0, οπότε καλά πάμε )
- 10 Spin Retry Count : Επαναλήψεις περιστροφής (στον πίνακα έχω 0, οπότε καλά πάμε )
Να σημειώσω ότι υπάρχουν και άλλοι μετρητές (π.χ. πτώσης, μεταφοράς, κραδασμών κλπ) οι οποίοι μπορεί να μην εμφανίζονται διότι δεν υποστηρίζονται από τον σκληρό σας δίσκο.
Σε γενικές γραμμές λοιπόν ο παραπάνω δίσκος μου είναι σε πολύ καλή κατάσταση, αλλά όχι σε τέτοια που μπορώ να τον εμπιστεύομαι (Ανακατανεμημένοι τομείς). Επομένως, αν δεν συμβεί κάποια απρόβλεπτη αποτυχία όπως είπαμε στην εισαγωγή, ο δίσκος αυτός θα λειτουργεί καλά για αρκετό ακόμα διάστημα.
Γραφικό περιβάλλον για το smartctl
Όλες οι εργασίες μας έγιναν στο τερματικό με σκοπό να αποκτήσετε μια γενική εικόνα λειτουργίας του SMART αλλά και να μην εξαρτάστε από την διανομή και το γραφικό περιβάλλον που θα έχει το σύστημα. ‘Ετσι ακόμα και γραφικό περιβάλλον να μην έχει π.χ. ο server σας, μπορείτε να δουλέψετε χωρίς πρόβλημα.
Όλες οι γραφικές διεπαφές διαβάζουν απλά τα δεδομένα που προέρχονται απο το SMART Control του δίσκου. Παρότι μπορεί η διανομή σας να έχει το λογισμικό disks που είδαμε στην αρχή, προτείνω να δοκιμάσετε και το GSmartControl.
Μόλις το κάνετε εγκατάσταση, το ανοίγετε, επιλέγετε τον δίσκο και κάνετε δεξί κλικ για προβολή των δεδομένων του.
Επίλογος
Είδαμε την χρήση του smartctl και τις πληροφορίες που μας δίνει το SMART. Μπορεί την πρώτη φορά να σας φανούν εντελώς τρομακτικά τα δεδομένα του. Αν όμως ανά διαστήματα το τρέχετε θα δείτε ότι η κατανόηση των αριθμών θα γίνει πιο ουσιαστική.
Ωραιο θεμα , και χρησιμο……..και ειχα παντα ενα μικρο φοβο για τους δισκους μου.
Δεν χρειάζεται να τα φοβάσαι, όταν καταλαβαίνεις τα μηνύματα που σου στέλνουν. Αυτός ήταν και ο στόχος του άρθρου
Σε ευχαριστώ για την open-source νοοτροπία σου
Eγω που στο 1.Raw Read Error Rate εχω Raw value 140134131 και
7.Seek Error Rate εχω τιμη 129059018648
LoL σε σχεση με το ‘0’ να ανυσηχω ? :P
Ίσως. Όμως αυτά «παόζουν» με βάση τον κατασκευαστή του δίσκου. Θα πρέπει να δεις τις τιμές «ανοχής» που δίνει ο κατασκευαστής.
Εψαξα δεν μπορεσα να βρω τις τιμες….ειναι και λιγο παλιος ο δισκος απο ενα pc του 2005…οποτε τον περιμενω ποτε θα τα φτυσει….
A.. ε τότε ναι, μάλλον δεν πρέπει να τον εμπιστεύεσαι.