Προς το περιεχόμενο

Ανασυγκρότηση στο linux


ellhnac

Προτεινόμενες αναρτήσεις

Το fragmentation είναι ανησυχητικό περισσότερο για filesystems που είναι σχεδόν γεμάτα για μεγάλο χρονικό διάστημα. Προσωπικό παράδειγμα: EXT3 filesystem, γεμάτο κατά 50%, στο οποίο γράφονται/τροποποιούνται κατά μέσο όρο ~30ΜΒ τη μέρα, μετά από 623 ημέρες σχεδόν συνεχούς λειτουργίας έχει fragmentation 2,7%. Αν όμως το filesystem ήταν 95% γεμάτο, ο αριθμός πιθανότατα θα ήταν διψήφιος.

 

Μπορείς να δεις το fragmentation ενός ΕΧΤ2/3/4 filesystem δίνοντας:

>fsck -nvf /dev/[color="SandyBrown"]XXX[/color]

, όπου XXX το block device που το φιλοξενεί.

 

Υπάρχουν εργαλεία για να κάνεις defrag, αλλά μιας που είναι κάτι που δε χρειάζεται καθόλου συχνά, συνήθως είναι πιο γρήγορο να πάρεις ένα backup τα περιεχόμενα του filesystem, να το επαναδιαμορφώσεις και στη συνέχεια να τα επαναφέρεις.

 

Στα άμεσα σχέδια του EXT4 (ίσως στο μεθεπόμενο kernel release) είναι ένας in-driver online defragmenter, ο οποίος θα κάνει defrag αυτόματα (όποιος θέλει να ρισκάρει μπορεί να δοκιμάσει τα patches από τώρα).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εκανα μια δοκιμη στο /home και μου λέει πως εχει λαθη!

ειναι σοβαρο πρέπει να κάνω κάτι ;

 

 

[root@localhost dimitris]# fsck -nvf /dev/sda6

fsck 1.41.4 (27-Jan-2009)

e2fsck 1.41.4 (27-Jan-2009)

Warning! /dev/sda6 is mounted.

Warning: skipping journal recovery because doing a read-only filesystem check.

Pass 1: Checking inodes, blocks, and sizes

Deleted inode 2326669 has zero dtime. Fix? no

 

Inodes that were part of a corrupted orphan linked list found. Fix? no

 

Inode 2326676 was part of the orphaned inode list. IGNORED.

Inode 2326772 was part of the orphaned inode list. IGNORED.

Inode 2326775 was part of the orphaned inode list. IGNORED.

Inode 2326778 was part of the orphaned inode list. IGNORED.

Inode 2326779 was part of the orphaned inode list. IGNORED.

Inode 2326782 was part of the orphaned inode list. IGNORED.

Inode 2326791 was part of the orphaned inode list. IGNORED.

Inode 2326795 was part of the orphaned inode list. IGNORED.

Pass 2: Checking directory structure

Entry '_1.83' in /dimitris/.kde4/share/apps/konqueror/autosave (688137) has deleted/unused inode 688758. Clear? no

 

Entry 'formcompletions' in /dimitris/.kde4/share/apps/khtml (704914) has deleted/unused inode 705164. Clear? no

 

Entry 'bookmarks.xml.tbcache' in /dimitris/.kde4/share/apps/konqueror (7520524) has deleted/unused inode 7521100. Clear? no

 

Entry 'khtmlcacheiN5678.tmp' in /dimitris/tmp/kde-dimitris (2329118) has deleted/unused inode 2326694. Clear? no

 

Entry 'khtmlcacheOO5678.tmp' in /dimitris/tmp/kde-dimitris (2329118) has deleted/unused inode 2326688. Clear? no

 

Entry 'khtmlcacheIM5678.tmp' in /dimitris/tmp/kde-dimitris (2329118) has deleted/unused inode 2326689. Clear? no

 

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Unattached inode 688756

Connect to /lost+found? no

 

Unattached zero-length inode 704961. Clear? no

 

Unattached inode 704961

Connect to /lost+found? no

 

Unattached zero-length inode 2326776. Clear? no

 

Unattached inode 2326776

Connect to /lost+found? no

 

Unattached zero-length inode 2326777. Clear? no

 

Unattached inode 2326777

Connect to /lost+found? no

 

Unattached zero-length inode 2326787. Clear? no

 

Unattached inode 2326787

Connect to /lost+found? no

 

Unattached zero-length inode 7520961. Clear? no

 

Unattached inode 7520961

Connect to /lost+found? no

 

Pass 5: Checking group summary information

Block bitmap differences: +(1405360--1405362) +(1405364--1405377) -(1405382--1405394) -(1405396--1405402) +1419291 -1419292 +1427466 +(1427469--1427470) +(1427475--1427476) +1427479 -(1437782--1437784) -(1437870--1437872) -(4681753--4681754) +4681757 -(4681789--4681799) +15071244 +15071313 +15071358 +15071362 +15071534 +15071564 +15071597 +15071617 +(15071619--15071620) +(15071622--15071625) +(15071630--15071633) +(15071635--15071637) +15071659 +(15071661--15071663) +15071665 +15071700 +15071704 +15071706 +15071724 +15071742 +15071744 +15071748 -(15071772--15071775) -15071777 -(15071779--15071781) -(15071787--15071790) -15071974 -(15071981--15071983) -15071998 -15081358 -15081597 -15089031 -15089279 -15089314 -15089329 -15089336 -15089357 -(15169105--15169107) -(15169333--15169340)

Fix? no

 

Free blocks count wrong for group #42 (19813, counted=19810).

Fix? no

 

Free blocks count wrong for group #142 (23786, counted=23774).

Fix? no

 

Free blocks count wrong for group #459 (107, counted=59).

Fix? no

 

Free blocks count wrong for group #460 (8, counted=0).

Fix? no

 

Free blocks count wrong for group #462 (1569, counted=1618).

Fix? no

 

Free blocks count wrong (9819671, counted=9819649).

Fix? no

 

Inode bitmap differences: -704795 +704883 +704961 -705164 -2326669 -2326676 -2326683 -(2326688--2326689) -(2326692--2326694) -2326772 -2326775 +(2326776--2326777) -(2326778--2326779) -2326782 +2326787 -2326791 -2326795 +7520961 -7521100

Fix? no

 

Free inodes count wrong for group #142 (15417, counted=15414).

Fix? no

 

Free inodes count wrong (7865495, counted=7865493).

Fix? no

 

 

/dev/sda6: ********** WARNING: Filesystem still has errors **********

 

 

47977 inodes used (0.61%)

3250 non-contiguous files (6.8%)

11 non-contiguous directories (0.0%)

# of inodes with ind/dind/tind blocks: 4586/466/1

5990289 blocks used (37.89%)

0 bad blocks

3 large files

 

37020 regular files

10476 directories

0 character device files

0 block device files

0 fifos

0 links

56 symbolic links (40 fast symbolic links)

406 sockets

--------

47958 files

[root@localhost dimitris]# df

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 12G 6,2G 4,9G 56% /

/dev/sda6 60G 22G 38G 37% /home

/dev/sdb1 74G 64G 5,9G 92% /media/hd

[root@localhost dimitris]#

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλό είναι να τα διορθώσεις τρέχοντας fsck -p /dev/sda6, αλλά θα πρέπει το /home να μην είναι mounted (λογικά αν κάνεις login απευθείας ως root θα σε αφήσει να το κάνεις umount).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν υπάρχει κάποιο συγκεκριμένο όριο, όσο περισσότερα blocks αρχείων βρίσκονται σε απομακρυσμένες περιοχές, η προσπέλαση αυτών των αρχείων και, ειδικά αν το filesystem είναι σχεδόν γεμάτο, η δημιουργία νέων, γίνεται πιο αργή. Όταν η προσπέλαση αρκετά πολλών αρχείων γίνει αρκετά πιο αργή για να μας ενοχλεί τότε θα μας απασχολήσει το πρόβλημα. Πολλοί μπορεί να μην καταλάβουν διαφορά ή να μην τους νοιάζει ακόμη και 30% fragmentation, άλλοι να καταλάβουν διαφορά και με 10%.

 

ΥΣ. Ένας τρόπος να συγκρίνεις τις επιδόσεις ανάμεσα σε διαφορετικά ποσοστά fragmentation ενός filesystems, είναι να χρησιμοποιήσεις κάτι σαν:

># tar --one-file-system -cf - /usr | pv > /dev/null 

και να συγκρίνεις τους μέσους όρους B/S.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

καλησπέρα gtroza, ενδιαφέροντα τα άρθρα :)

 

Πράγματι, το ότι κάποια αρχεία είναι fragmented δε σημαίνει ότι αυτό προκαλεί καθυστέρηση σε όλες τις περιπτώσεις που κάποιος θέλει να τα προσπελάσει, μόνο όταν θέλει να τα προσπελάσει ολόκληρα, ή σε τμήματα μεγάλου μεγέθους, με τη μέγιστη δυνατή ταχύτητα. Σε πολλές περιπτώσεις (π.χ. αναπαραγωγή video/ήχου) προφανώς δε συμβαίνει αυτό, αλλά, είναι πολλές και οι περιπτώσεις που συμβαίνει, π.χ. σε δουλειές όπως του package manager ή μιας εφαρμογής που διαβάζει δεδομένα από μια μεγαλούτσικη βάση sqlite. Στην περίπτωση του package manager λίγοι θα ενδιαφερθούν αν το update της εβδομάδας θα καθυστερήσει μισό λεπτό, στην περίπτωση του firefox πολλοί θα ενοχληθούν αν καθυστερήσει να εκκινήσει μισό δευτερόλεπτο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εάν βρεθούν προβλήματα τρέχοντας την εντολή

>fsck -nvf /dev/XXX

, όπως ανέφερε και ο DIMITRISG, υπάρχει περίπτωση να προκύψει πρόβλημα στο σύστημα όταν τα διορθώσεις;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν πρόκειται για ext2/3 filesystem είναι πολύ απίθανο, έχει δοκιμαστεί για πάνω από 10 χρόνια σε αμέτρητα συστήματα και έχει τα λιγότερα horror stories.

Αν πρόκειται για reiserfs είναι πιο πιθανό.

 

ΥΣ. Αρκεί να μην είναι mounted το filesystem, όπως προειδοποιεί και η fsck!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ΥΣ. Αρκεί να μην είναι mounted το filesystem, όπως προειδοποιεί και η fsck!

 

Και αν το error στο δίνει στο /dev/sda δηλ. σε όλον τον σκληρό;

Το τσεκάρεις από live cd?

Και ρισκάρεις και επισκευή;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Η fsck ελέγχει για σφάλματα στη δομή κάποιου filesystem.

Κάθε filesystem είναι διαμορφωμένο πάνω σε κάποιο block device.

 

To /dev/sda είναι block device, όμως, αν έχεις διαμορφώσει partitions πάνω του, δε μπορείς ταυτόχρονα να έχεις διαμορφώσει και κάποιο filesystem πάνω του, τα filesystems αναγκαστικά θα βρίσκονται πάνω στα επιμέρους partitions.

 

Άρα fsck θα κάνεις στο block device του partition που περιέχει το filesystem που θέλεις να εξετάσεις, όχι σε ολόκληρο το δίσκο (εκτός βέβαια και αν ο δίσκος δεν έχει partitions και έχεις διαμορφώσει απευθείας πάνω του το filesystem).

 

Αν επιχειρήσεις να κάνεις fsck ολόκληρο το δίσκο, ενώ τα filesystems βρίσκονται σε partitions του, είναι πολύ πιθανό η fsck να τα διαλύσει, νομίζοντας ότι πρόκειται για ένα κατεστραμμένο filesystem που θέλει επισκευή.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

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

  • Δημιουργία νέου...