Filesystem check μετά από αριθμό mounts ή χρονικό διάστημα

dimitris | Τετ, 07/24/2013 - 19:25 | 6'

Εξορισμού στο Linux -και ιδιαίτερα στις server εκδόσεις των διανομών- γίνεται αυτόματα έλεγχος του συστήματος αρχείων (filesystem check) όταν περάσει ένας αριθμός από mounts ή κάποιο χρονικό διάστημα. Δηλαδή ακόμα κι αν ένα partition δεν έχει πρόβλημα, αλλά έχει γίνει mount Χ φορές, το Linux το ελέγχει στην επανεκκίνηση.

Ο έλεγχος του κάθε πότε συμβαίνει αυτό το filesystem check γίνεται από την tune2fs. Για να δείτε κάθε πότε είναι ρυθμισμένο το σύστημα σας να κάνει αυτόματα έλεγχο ενός partition π.χ. /dev/sda1 δίνετε την εντολή:

$ tune2fs -l /dev/sda1

Θα δείτε κάτι σαν το παρακάτω που προέρχεται από έναν server (έχω περικόψει ότι δεν μας χρειάζεται σε αυτό το post):

tune2fs 1.41.3 (12-Oct-2008) 
Filesystem volume name: 
Last mounted on: .... 
Filesystem state: clean ... 
Last mount time: Fri May 31 23:34:43 2013 
Last write time: Fri May 31 23:34:43 2013 
Mount count: 1 
Maximum mount count: 32 
Last checked: Fri May 31 22:37:12 2013 
Check interval: 15552000 (6 months) 
Next check after: Wed Nov 27 21:37:12 2013 ...

Εδώ τα σημαντικά είναι το Last mount time, το Mount count και το Maximum mount count.

Όπως βλέπετε σε αυτό τον server τελευταίο mount έγινε στις 31 Μαίου (λειτουργεί συνέχεια από εκείνη την ημέρα), έχει γίνει μόνο 1 φορά mount και το Maximum είναι 32 φορές.

Κάθε φορά που το σύστημα κάνει mount / remount το συγκεκριμένο partition αυξάνει κατά 1 το mount count. Μόλις το mount count ξεπεράσει το Maximum mount count, δηλαδή το 32, τότε την επόμενη φορά που θα κάνει reboot (ή θα γίνει ξανά mount) θα τσεκάρει το συγκεκριμένο partition.

Αυτά στον server. Στο Ubuntu laptop μου βλέπω ότι με default εγκατάσταση έχω τα εξής για το partition /dev/sdb1:

dkalamaras@workstation:~$ tune2fs -l /dev/sdb1 
tune2fs 1.42.5 (29-Jul-2012) 
Filesystem volume name: 
Last mounted on: / .... 
Filesystem created: Mon Feb 18 11:50:34 2013 
Last mount time: Wed Jul 24 10:17:33 2013 
Last write time: Wed Jul 24 10:17:32 2013 
Mount count: 63 
Maximum mount count: -1 
Check interval: 0 ()

Αυτό σημαίνει ότι το partition αυτό έχει γίνει mount 63 φορές ήδη από τότε που δημιουργήθηκε αλλά δεν θα γίνει ποτέ αυτόματα ελεγχός του γιατί το Maximum mount count είναι ρυθμισμένο -1 (απενεργοποίηση) ώστε να μην περιμένω στο boot να τσεκάρει ακόμα κι όταν δεν χρειάζεται.

Αν θέλετε να απενεργοποιήσετε στο /dev/sdb1 τον έλεγχο του Maximum mount count στο laptop σας (δεν συστήνεται για servers), αφού τσεκάρετε με την tune2fs -l τι ρυθμίσεις έχετε, μπορείτε να δώσετε:

tune2fs -c 0 dev/sdb1

ή

tune2fs -c -1 dev/sdb1 

Αν δεν θέλετε να το ρισκάρετε μια μέση λύση είναι να βάλετε απλώς μια μεγάλη τιμή στο Maximum mount count:

tune2fs -c 180 dev/sdb1

ώστε να το κάνει κάθε 180 mounts...

Ελεγχος με βάση το χρόνο

Εκτός του Maximum mount count, το Linux ελέγχει και την Check interval, δηλαδή το χρονικό διάστημα μεταξύ των ελέγχων ενός partition. Στο πρώτο παράδειγμα του server, αυτή η μεταβλητή είναι 15552000 λεπτά (6 μήνες) ενώ στο δεύτερο του laptop είναι 0 (απενεργοποιημένο). Αυτήν την μεταβλητή την αλλάζετε με την παράμετρο -i.

Για παράδειγμα η παρακάτω εντολή θα βάλει το χρονικό διάστημα στις 365 μέρες.

tune2fs -i 365 dev/sdb1

ενώ η παρακάτω εντολή θα το απενεργοποιήσει πλήρως:

tune2fs -i 0 dev/sdb1

 

Φόρουμ
Δώσε αστέρια!

MO: 5 (ψήφοι: 1)