[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: fsck στο ξεκινημα. Χρειάζεται τελικά; Κάθε πότε;



2009/6/28 Thanos Kyritsis <djart@linux.gr>:
> On Sunday 28 June 2009, Pantelis Koukousoulas wrote:
>> Τέλος, δεν μπορώ να φανταστώ πώς το reiserfsck θα μπορούσε να είναι
>> τόσο δραματικά γρηγορότερο. Το μόνο που μπορώ να υποθέσω είναι ότι δε
>> γίνεται καθόλου.
>
> Αυτό είναι ένας κλασσικός μύθος :)
>
> Από τις αρχές της ζωής του reiserfs όλοι νομίζανε πως καταργήθηκε το
> fsck.
>
> Κι όμως, υπάρχει, είναι εκεί, απλά είναι τόσο πιο γρήγορο :-P
>
> Η αλήθεια είναι πως τα 2 fsck ακολουθούν διαφορετική λογική. Το
> reiserfsck πάντα κάνει replay το journal (και μάλιστα τρομερά γρήγορα).
> Απλά συνήθως το filesystem είναι flagged ως clean unmounted, οπότε το
> fsck δεν έχει και πολύ δουλειά να κάνει. Αν κάνεις cold reboot ένα
> μηχάνημα με reiserfs3, τότε και μόνο τότε θα δείς το reiserfsck να κάνει
> πραγματική (και πιο χρονοβόρα) δουλειά.

Αυτό να πώ την αλήθεια δεν το κατάλαβα. Replay το journal το κάνει
ο kernel όταν κάνεις mount σε όλα τα journaled filesystems.
Η πραγματική (και πιο χρονοβόρα) δουλειά είναι το filesystem check.
To οποίο από ότι λες δεν τρέχει :) Ακόμα και αν τρέχει ένα πρόγραμμα,
ελέγχει 5-6 bytes και αποφασίζει ότι όλα είναι καλά, αυτό δεν παρέχει
σχεδόν καμμία επιπλέον ασφάλεια.

Είναι σαν να απενεργοποιήσεις το fsck στο ext3.

>
> Το θέμα με το fsck του ext3 είναι πως το έχουν βάλει κάθε x boots (30 ?
> 60 ? κάτι τέτοιο)  να κάνει ένα full filesystem scan (σα να μην έγινε
> clean unmount) ώστε να διορθώνει τα "μικρολαθάκια". Αυτό βέβαια
> συμβαίνει επειδή οι kernel developers ποτέ δεν εμπιστεύθηκαν το κομμάτι
> του κώδικά τους που κάνει sync :-P
>
> Τώρα τελευταία βέβαια (aka 2.6.30) υποτίθεται έχουν διορθώσει πολύ πράμα
> (http://lwn.net/Articles/326471/), αλλά δε νομίζω να απενεργοποιήσουν
> αυτό το "1 στις 30" full έλεγχο.

Κυρίως δεν εμπιστεύονται το PC-consumer-class hardware, αλλά αν δεν
εμπιστεύονται
τον κώδικα του ext3 που είναι αρκετά πιο απλό και πολύ πιο δοκιμασμένο, σκέψου
τί θα έπρεπε να κάνουν οι developers του reiserfs :p

>
>> Σε αυτή την περίπτωση (που υπάρχει δηλαδή απόλυτη εμπιστοσύνη στους
>> δίσκους / RAID controllers / μνήμη κλπ)  μπορείς πολύ απλά να
>> απενεργοποιήσεις το fsck ρουτίνας και από το ext3.
>
> Δε νομίζω να είναι καλή ιδέα κάτι τέτοιο, ειδικά σε "production"
> μηχάνημα ή γενικά σε οποιοδήποτε μηχάνημα αποθηκεύει data (δηλαδή τελικά
> όλα :-P). To tune2fs ισχυρίζεται ότι υπάρχουν διάφοροι ακόμα παράμετροι
> που μπορεί να περάσουν απαρατήρητα λάθη στο filesystem (man tune2fs, -c
> και -i options).
>
> Η λύση είναι η πιο απλή. Απλά ενημερώνεις/εκπαιδεύεις πως υπάρχει αυτό
> το fsck που μια στο τόσο καλό είναι να το αφήνουμε να κάνει τη δουλειά
> του ...

Στη συγκεκριμμένη περίπτωση το πρόβλημα μάλλον είναι ο κανόνας "ανά 30
reboot" σε συνδυασμό με τη συνήθεια του τύπου να κλείνει τον Η/Υ αυτόν
συνέχεια.

Το άλλο πρόβλημα είναι ότι το μηχάνημα δεν ολοκληρώνει το boot (δεν
ανταποκρίνεται στα pings) αν δεν κάνει full fsck σε 4.5TB δεδομένων
(αν κατάλαβα καλά).

Πιστεύω ότι οι λύσεις που προτάθηκαν αντιμετωπίζουν και τα 2 προβλήματα,
όπως επίσης τα αντιμετωπίζει και το να παραμένει το μηχάνημα ανοιχτό
συνέχεια.

>
> Εξάλλου, δε νομίζω πως υπάρχει κάποιος στον πλανήτη που θα πήγαινε να
> κλείσει το scandisk σε ένα Windows περιβάλλον, οπότε γιατί να το κάνει
> εδώ ?

Είναι άλλη περίπτωση. Το fsck που απενεργοποιείται είναι αυτό της ρουτίνας
που γίνεται "just in case". Προσωπικά θα προτιμούσα να το κάνω πολύ γρήγορο
(μοιράζοντας το χρόνο μέσω partitions) αλλά καθένας είναι ελεύθερος να
έχει τη στρατηγική του :)

Reply to: