Ενός κακού μύρια έπονται… Κατά τις εργασίες μου για την επαναφορά ενός laptop γνωστού προσώπου, αντί να κάνω format έναν εξωτερικό SSD για να τον μετατρέψω σε bootable windows media, από miss click και βιασύνη έκανα initialize τον ext4 3TB “storage” δίσκο μου. Εκείνη τη στιγμή δεν έδωσα σημασία, καθώς θεωρούσα ότι το initialize ήταν κάτι τύπου “mount” και ότι δεν έγινε κάτι στον δίσκο. Προχώρησα με τις υπόλοιπες εργασίες μου και καθ’ όλη τη διάρκεια της ημέρας δεν μπήκα καθόλου Linux λόγω τηλεκπαίδευσης και άλλων υποχρεώσεων.
Σήμερα το πρωί πήρα την πρώτη ψυχρολουσία: Μπαίνοντας Linux, βλέπω κάτω δεξιά στο εικονίδιο του timeshift ότι δεν έχει γίνει mount o δίσκος storage… WTF??? Το μυαλό μου δεν πήγε καν στο συμβάν που περιγράφω στην πρώτη παράγραφο… Ανοίγω disks και έντρομος συνειδητοποιώ τι έχει γίνει… Ο 3TB δίσκος έχει γραμμένο “Windows Reserved” partition, μάλλον MBR, μεγέθους 17MB και όλη η υπόλοιπη χωρητικότητα 3TB φαίνεται unformatted… Τότε κατάλαβα ότι το “initialize” που είχα κάνει από το disk management των Windows δεν ήταν απλό “mount”…
Υπήρχαν καλά και κακά νέα…
Τα κακά ήταν ότι αυτός ο δίσκος περιέχει α) υλικό ανεκτίμητης αξίας με πρωτογενές video από τη γέννηση και τη βρεφική ηλικία του γιου μου, μέχρι και πρόσφατα, β) την ταινιοθήκη μου που περιλαμβάνει και σπάνιες ταινίες που δεν βρίσκεις εύκολα γ) τον φάκελο backup του timeshift (εξ ου και το αρχικό warning) δ) αρχειοθέτηση της δουλειάς μου των τελευταίων 15 ετών.
Τα καλά νέα ήταν ότι ΕΥΤΥΧΩΣ υπήρχε backup (με rsync) του δίσκου, σε εξωτερικό δίσκο 6TB, ο οποίος μάλιστα για λόγους ασφαλείας είναι offline, δηλαδή αποσυνδεδεμένος και συνδέεται μόνο όταν παίρνω backup.
Είχα πλέον μπει σε αχαρτογράφητα ύδατα, γιατί ποτέ μέχρι σήμερα δεν έχω κάνει επαναφορά backup με rsync. Απλά αντιστρέφω τα paths και λειτουργεί; Κάνω απλό copy paste; Και αν κάνω κάτι λάθος κατά την επαναφορά από τον 6TB (εξωτερικό backup) —> 3ΤΒ (εσωτερικό storage), αργότερα, όταν θα έπαιρνα το πρώτο backup από τον δίσκο 3ΤΒ —> 6ΤΒ backup θα είχε την πιθανότητα να χάσω αρχεία για πάντα! Έπρεπε να είμαι πολύ πολύ προσεκτικός! Άσε που επειδή το rsync αρχειοθετεί αρχεία, η επαναφορά θα χρειαζόταν ΩΡΕΣ. Τα αρχεία συνολικά στον δίσκο είναι 1.183.881 !!! Και εννοείται υπήρχε και το δίλημμα: Να επιχειρήσω recovery (αν γίνεται) ή να πάω κατευθείαν σε επαναφορά από backup;
Αρχίζω το ψάξιμο και το googling, πρώτα για το πώς επαναφέρω rsync backup. Κάπου ανάμεσα σε ιστοσελίδες και εντολές τερματικού, έχω τη φαεινή ιδέα να αναζητήσω λύση σε λάθη όπως το δικό μου “accidentally initialized ext4 disk” και σκάω πάνω στην εντολή fsck. 10-15 χρόνια χρήστης linux, γνώριζα την εντολή, αλλά ποτέ δεν είχε χρειαστεί να την χρησιμοποιήσω για διόρθωση σφαλμάτων σε δίσκο, καθώς ΠΟΤΕ δεν είχε γίνει corrupted ext4 filesystem. Τόσο αξιόπιστο είναι… (δεν μπορώ να πω το ίδιο και για το NTFS που πολλές φορές έχω χρησιμοποιήσει chkdsk στα Windows). Τελικά το fsck.ext4 ήταν και η σωτηρία μου!
Με την εντολή
sudo fsck.ext4 -vy /dev/sdd
(-v → verbose // -y —> “ναι σε όλα” γιατί τα prompts που σκάνε είναι πολλά λόγω της φύσης της ζημιάς)
και μετά από 5-10 λεπτά διαδικασία, το fsck κατάφερε να επαναφέρει τον δίσκο, προφανώς αξιοποιώντας κάποιο αντίγραφο του superblock που για λόγους redundancy κρατάει το ext4, με όλα τα αρχεία και τους καταλόγους στη θέση τους! Φυσικά δεν μπορώ να ελέγξω τα πάντα αλλά με τυχαία ανοίγματα που έκανα σε αρχεία, όλα φαίνονται να λειτουργούν ΟΚ!
storage: ***** FILE SYSTEM WAS MODIFIED ***** 2087519 inodes used (1.14%, out of 183148544) 7915 non-contiguous files (0.4%) 5256 non-contiguous directories (0.3%) # of inodes with ind/dind/tind blocks: 0/0/0 Extent depth histogram: 1971857/2504/7 285710858 blocks used (39.00%, out of 732566646) 0 bad blocks 57 large files 1183881 regular files 785491 directories 0 character device files 0 block device files 8 fifos 4398472 links 118111 symbolic links (113116 fast symbolic links) 19 sockets ------------ 6485914 files
Έλεγξα και τα attributes των αρχείων καθώς και τις χρονοσφραγίδες τους και φαίνονται όλα OK, επομένως και το επόμενο backup με rsync θα λειτουργήσει κανονικά, μάλλον…
Συμπεράσματα:
-
Μην βιάζεστε όταν κάνετε εργασίες με δίσκους
-
Να έχετε πάντα backup και μάλιστα backup του backup. Ένα εξ αυτών πρέπει να είναι πάντα offline. Όχι μόνο για να αποφευχθεί η όποια φυσική καταστροφή αλλά και για περιπτώσεις , όπως στη δικιά μου, λάθους του χρήστη.
-
Το fsck.ext4 είναι πανίσχυρο εργαλείο και μπορεί να σώσει τη μέρα, αλλά, βεβαίως, εφόσον υπάρχει η σιγουριά του 2
-
Πρέπει να γνωρίζετε πώς να επαναφέρετε το backup που κρατάτε.
-
Η μεγάλη εμπειρία χρήσης Η/Y δημιουργεί πολλές φορές και υπερβολική σιγουριά και λάθη. Το λάθος που έκανα, αν το έγραφε κάποιος στο forum, θα σκεφτόμουν “τι νουμπάς”. Και όμως μου συνέβη…