Απώλεια δεδομένων σε backup από bitrot. Να ανησυχώ;

Λοιπόν τα δεδομένα μου στον υπολογιστή είναι περίπου ~4ΤΒ σε διάφορους δίσκους.

Κρατούνται σε εσωτερικούς δίσκους σε 2 διαφορετικά σημεία. Όλα μαζί (3ο σημείο) κρατούνται σε έναν εξωτερικό offline δίσκο συνολικής χωρητικότητας 6TB σε EXT4 file system.

Ο συγχρονισμός γίνεται με rsync, σε τακτά διαστήματα.

H ανησυχία μου είναι ότι κάποια δεδομένα στον storage1 και storage2 είναι παλιά αρχεία (π.χ. photos, videos) που προσπελαύνονται εξαιρετικά σπάνια ή και καθόλου. Εφόσον το backup γίνεται με rsync, δεν ανανεώνονται ούτε στον εξωτερικό δίσκο (6ΤΒ).

Μήπως λοιπόν πρέπει να ανησυχώ για ενδεχόμενη απώλεια λόγω bitrot? Και αν ναι, τι θα μπορούσα να κάνω για να αποφύγω τέτοιο ενδεχόμενο? Να το γυρίσω σε κάποια λύση π.χ. με ZFS και scheduled scrubs?

Γενικά είναι ρεαλιστικός ο φόβος του bitrot? Δηλαδή κινδυνεύω κάποια στιγμή να πάω να ανοίξω παλιές photo και να μην ανοίγουν λόγω bitrot? Έχετε χάσει ποτέ δεδομένα από τέτοια περίπτωση; Και υπό ποιες συνθήκες;

1 «Μου αρέσει»

Είναι πιο πιθανό να σου χτυπήσει κάποιος δίσκος παρά να “προσβληθείς” από bitrot.

Άρα ο σχεδιασμός των αντιγράφων ασφαλείας σου θα πρέπει να βασίζεται σε δυο παραδοχές:

  1. Δεν εμπιστεύομαι το μέσο αποθήκευσης
  2. Δεν εμπιστεύομαι την ακεραιότητα του backup μου

Όλοι μας, μέχρι να την πάθουμε τι λέγαμε ? “Έλα ρε, το έχω σε εξωτερικό δίσκο οπότε είμαι ΟΚ” (@billniakas σε νιώθω…)
Δηλαδή ξεκινάμε με την παραδοχή ότι “Σε εξωτερικό καλό δίσκο (1), έχω μπακαπ (2), είμαι ΟΚ”
Θα πρέπει λοιπόν να αλλάξουμε την παραδοχή μας και να το πιάσουμε ανάποδα.

Άρα, για να λύσουμε το (1) πάντα έχουμε κατά νου να αντικαθιστούμε ή να αγοράζουμε ένα μέσο αντικατάστασης των δίσκων μας με βάση τις προδιαγραφές που θέτει ο κατασκευαστής (disk life span).

Για να λύσουμε το (2) θα πρέπει να βρούμε έναν τρόπο να επιβεβαιώνουμε την κατάσταση των backup μας:

“Η κατάσταση οποιουδήποτε αντιγράφου ασφαλείας είναι άγνωστη μέχρι να γίνει προσπάθεια επαναφοράς.”
— Erwin Schrodinger (δεν το έχει πει φυσικά αλλά καταλαβαίνεις :slight_smile:

Για να το κάνουμε αυτό θα πρέπει να μην σκεπτόμαστε με βάση τους δίσκους ή τους χώρους στους οποίους έχουμε τα backup αλλά με βάση τα πόσα backup χρειαζόμαστε τα οποία θα ελέγχονται ανά τακτά διαστήματα.

Για να ελέγξουμε λοιπόν την ακεραιότητα μπορούμε να το κάνουμε με manual τρόπο, προσπαθώντας να κάνουμε επαναφορά το αντίγραφό ή με αυτόματο τρόπο.
Προσωπικά προτιμώ τον αυτόματο τρόπο χρησιμοποιώντας λογισμικό που είναι κατασκευασμένο για backup. Για αυτό τον λόγο αποφεύγω το rsync το οποίο δεν έχει φτιαχτεί για αυτό τον λόγο άσχετα αν είναι πολυ-εργαλείο.

Η προσωπική μου προτίμηση είναι ένα πρωτόκολλο 3-2-1 (με ενδιαφέρουν ο αριθμός των backup και πόσο διασκορπισμένα τα έχω ) και αντικατάσταση ή προσθήκη νέων μέσων κάθε 6-7 χρόνια
Χρησιμοποιώ το Vorta:

2 «Μου αρέσει»

Ρεαλιστικός ο φόβος ίσως όχι γιατί είναι σπάνιο να συμβεί (πιο πιθανό είναι να σου χαλάσει ο δίσκος π.χ.). Για τις φώτο το θέμα δεν είναι να μην ανοίγουν αλλά περισσότερο ότι ένα μόλις bit flipped μπορεί να αλλάξει ριζικά την εικόνα (π.χ. original, 1 bit flipped). Λογικά ωστόσο κάτι τέτοιο είναι αναστρέψιμο. Παρόλα αυτά αν σε ανησυχεί το πιο απλό θα ήταν να κρατάς checksums από τα αρχεία και να τα ελέγχεις περιοδικά. Οπότε αν σε ένα από τα backups βρεθεί θέμα να αντιγράψεις ένα φρέσκο. Η πιο καλή λύση βέβαια θα ήταν να χρησιμοποιήσεις ένα filesystem που λαμβάνει υπόψιν τέτοια προβλήματα όπως ZFS που ανάφερες (το btrfs αυτές τις μέρες θεωρείται επίσης εντάξει επιλογή παρόλα κάτι θέματα που είχε παλαιότερα).

1 «Μου αρέσει»

Ευχαριστώ για τις απαντήσεις.

Όλα μου τα δεδομένα υπάρχουν σε 3 τουλάχιστον διαφορετικά μέσα. (2 εσωτερικά + 1 εξωτερικό). Δηλαδή για να χάσω δεδομένα πρέπει να χάσω ταυτόχρονα 3 μέσα. Σημειωτέον, ο εξωτερικός δίσκος είναι offline και συνδέεται μόνο για το περιοδικό backup.

Επίσης έχει γίνει ανάκτηση από το backup (άρα ξέρω ότι λειτουργεί και ξέρω και πώς να κάνω την ανάκτηση) όταν από δικιά μου βλακεία έχασα τα δεδομένα του storage2 της άνω εικόνας.

Τέλος, εκτός από το rsync υπάρχουν και backup σε επίπεδο block level (με clonezilla).

ΥΓ κάποια, critical μέχρι θανάτου, αρχεία γίνονται backup και στο cloud σε encrypted μορφή.

Χιλιάδες (αν όχι εκατομμύρια) αρχεία…

Στην περίπτωση χρήσης ZFS σκέφτομαι σαν καλή λύση να αντικαταστήσω τον 3TB storage2 με έναν μεγαλύτερο enterprise δίσκο π.χ. 10TB και να στήσω σε αυτόν ένα single disk ZFS pool με copies=2 (εξού και η ανάγκη μεγαλύτερης χωρητικότητας). Με εκτέλεση ενός scrub π.χ. 2 φορές τον χρόνο (θεωρώ υπερβολή το μηνιαίο που προτείνεται στο διαδίκτυο) νομίζω ότι θα είμαι safe. Βέβαια σε αυτή την περίπτωση θα μπορεί να έχω bitrot στο εξωτερικό backup μου…

Με απασχολεί ιδιαίτερα ο storage2 γιατί εκεί βρίσκονται photo και video ανεκτίμητης αξίας.