Άρθρα

Τι είναι και τι προσφέρουν τα snapshots

Τα snapshots είναι πλέον μέρος κάθε επιχειρηματικής λύσης αποθήκευσης δεδομένων και συνήθως κάθε μοντέρνας πολιτικής backup. Πρόκειται για online backups, αντίγραφα δηλαδή των δεδομένων που δημιουργούνται μια χρονική στιγμή και παραμένουν στο σύστημα αποθήκευσης δεδομένων (data storage) μαζί με τα ενεργά δεδομένα.

Σήμερα όλοι οι κατασκευαστές storage παρέχουν τη δυνατότητα snapshots, με τον ένα ή τον άλλο τρόπο και χρησιμοποιώντας διαφορετικά ονόματα όπως (flashcopy, business copy κλπ.). Δεν είναι όμως όλοι οι μηχανισμοί snapshot ίδιοι. Στην πραγματικότητα, η υλοποίησή τους από καθε κατασκευαστή ή ακόμα και σειρά προϊόντων είναι πολύ διαφορετική και η διαφορά αυτή μπορεί να είναι πολύ σημαντική για το αν και πώς θα τα χρησιμοποιήσει μια επιχείρηση που έχει επενδύσει σε σύστημα storage.

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

Συστήματα Netapp και IBM N-Series

Τα snapshots στα συστήματα NetApp και τη σειρά IBM N-Series, αλλά και τα συστήματα ZFS της Sun, είναι πολύ διαφορετικά λόγω του διαφορετικού filesystem (WAFL). Το filesystem καθορίζει τον τρόπο με τον οποίο καταγράφονται οι αλλαγές στα δεδομένα. Στα συστήματα αυτά ποτέ δεν γίνεται υπερεγγραφή (overwrite) ενός block όταν αυτό αλλαξει. Αντίθετα το νέο block γράφεται στην πρώτη ελεύθερη νέα θέση και αλλάζει ο pointer σε αυτό. Με τον τρόπο αυτό μπορούμε να κρατήσουμε το παλιό block (και άρα την έκδοση του αρχείου πριν την αλλαγή) χωρίς να αντιγράψουμε δεδομένα. Τα παλιά blocks ανήκουν πλέον σε ένα snapshot. Παράλληλα παρατηρούμε ότι απλά διατηρώντας τα blocks που αλλάζουν έχουμε όλη την εικόνα ενός αρχείου πριν τις αλλαγές. Είναι φανερή η οικονομία χώρου. Κάθε snapshot αν και μας δίνει την εικόνα όλων των αρχείων μας σε μια χρονική στιγμή (ως online backup), στην πραγματικότητα καταλαμβάνει μόνο τις αλλαγές σε επίπεδο block.

Το παρακάτω σχήμα επεξηγεί αυτόν το μηχανισμό των snapshots. Τα A, B, C, D είναι blocks δεδομένων που αποτελούν ένα αρχείο. Το αρχείο είναι προσβάσιμο στο filesystem μέσω ενός μοναδικού δείκτη (Root I-node ή pointer), όπως φαίνεται στην Εικόνα 1. Κατά τη δημιουργία ενός snapshot (Εικόνα 2) αντιγράφεται μόνο ο δείκτης αυτός, που έχει μέγεθος μερικών bytes και δεν αντιγράφεται κανένα block. Έτσι το snapshot δεν καταλαμβάνει πρακτικά καθόλου χώρο, μέχρι βέβαια να αρχίσουν να συμβαίνουν αλλαγές στα δεδομένα. Στην Εικόνα 3 φαίνεται τι συμβαίνει όταν τροποποιηθεί το block D. Το filesystem διατηρεί το παλιό block D και δημιουργεί ένα νέο D' για τα νέα δεδομένα. Αλλάζει τον δείκτη ώστε τα δεδομένα να δείχνουν στο νέο block D'. Στο snapshot όμως δεν αλλάζει τίποτα. Συνεχίζει να δείχνει στο αρχικό block D και έτσι έχουμε την εικόνα του αρχείου πριν την αλλαγή. Το σημαντικό είναι ότι δεν έχει γίνει καμία αντιγραφή ή μετακίνηση block, αλλά όλες οι ενέργειες γίνονται σε επίπεδο δεικτών.

  • VMWare enterprise partner
    Εικόνα 1.
    Πριν δημιουργηθεί το snapshot
  • VMWare enterprise partner
    Εικόνα 2.
    Δημιουργία του snapshot
  • Εικόνα 3.
    Τροποποίηση δεδομένων αφού δημιουργηθεί το snapshot

Τα snapshots δημιουργούνται είτε manually από το διαχειριστή είτε με βάση ένα προκαθορισμένο χρονοδιάγραμμα. Η ευκολία τους είναι ότι δημιουργούνται άμεσα, ενώ το σύστημα storage λειτουργεί και χωρίς να έχουν καμία επίπτωση στην απόδοση του συστήματος. Εάν κάποια στιγμή στο μέλλον υπάρξει η ανάγκη για την επιστροφή των δεδομενων σε ένα snapshot (restore from snapshot), η ενέργεια αυτή είναι και πάλι άμεση. Απλά αλλάζουν οι δείκτες των νέων blocks, αναιρώντας με αντίστροφη σειρά τις αλλαγές που έχουν συμβεί και τελικά οι δείκτες δείχνουν στα παλιά blocks. Είναι πάλι αντιληπτό ότι ακόμα και αν πρόκειται για πολύ μεγάλα αρχεία, η επαναφορά είναι άμεση, ακριβώς γιατί αλλάζουν μόνο οι δείκτες και δεν γίνεται καμία φυσική αντιγραφή δεδομένων στους δίσκους.

Τα snapshots στην καθημερινή χρήση

Στα συστήματα Netapp και IBM N-Series τα snapshots παρέχουν έναν ευέλικτο τρόπο άμεσου και ασφαλούς online backup και restore των δεδομένων, είτε πρόκειται για ένα αρχείο, για ένα LUN ή για ολόκληρο volume. σε προηγούμενη χρονική στιγμή και απλοποιούν σημαντικά την πολιτική backup και restore μιας εταιρίας.

Οι διαδικασίες backup αποτελούν κρίσιμο μέρος στις καθημερινές εργασίες ενός περιβάλλοντος πληροφορικής. Είναι όμως μια ευαίσθητη και χρονοβόρα διαδικασία, που θέτει τις εφαρμογές εκτός λειτουργίας ή σε μειωμένη απόδοση για όσο χρόνο διαρκεί. Επιπλέον, στην περίπτωση που χρειαστεί restore, θα χρειαστούν στην καλύτερη περίπτωση πολλές ώρες. Πέρα όμως από το πλήρες restore των δεδομένων, καθημερινά υπάρχουν "μικρές καταστροφές", όπως απώλειες αρχείων, emails κλπ. που απασχολούν συνεχώς το προσωπικό πληροφορικής και μπορούν να θέσουν εκτός λειτουργίας τις εφαρμογές για αρκετό χρόνο. Τα σημαντικά αρχεία που "έχασε" ένας χρήστης, ή ακόμα χειρότερα καταστροφές από ιούς και κατεστραμμένα αρχεία βάσεων δεδομένων, είναι περιπτώσεις που απαιτούν χρονοβόρο restore από ταινίες. Σε όλες αυτές τις περιπτώσεις αυτές, τα snapshots είναι ένα ισχυρό εργαλείο που επιταχύνει το backup, επιτρέπει άμεσο restore και απλοποιεί σημαντικά την όλη διαδικασία παρέχοντας υψηλή αξιοπιστία. Αντί να τίθενται εκτός λειτουργίας οι εφαρμογές (π.χ. Exchange, Oracle, SQL, SAP κλπ.) ή να χρησιμοποιούνται ειδικοί agents που τις επιβραδύνουν για όλη τη διάρκεια του backup, απλά δημιουργούμε ένα snapshot των δεδομένων και στη συνέχεια λαμβάνεται backup από το snapshot για όσο χρόνο απαιτηθεί, χωρίς να υπάρχει επίπτωση στη λειτουργία της εφαρμογής. Για τη δημιουργία του snapshot χρησιμοποιείται ειδικό λογισμικό που ενσωματώνεται στις εφαρμογές ώστε το snapshots να είναι application-consistent ή η εφαρμογή τίθεται εκτός λειτουργίας για λίγα δευτερόλεπτα.

Τα snapshots σίγουρα δεν υποκαθιστούν το backup σε μη-μαγνητικά μέσα (ταινίες, DVD κλπ.) που μάλιστα στέλνονται εκτός της επιχείρησης (off-site). Απλοποιούν όμως πολύ τις διαδικασίες backup και restore και μειώνουν στο ελάχιστο το χρόνο επίπτωσης στα συστήματα και την απασχόληση του προσωπικού. Πρακτικά, οι ταινίες διατηρούνται μόνο για την περίπτωση ολικής καταστροφής των δεδομένων ή των συστημάτων, ή για την περίπτωση που θα χρειαστούμε πολύ παλιά δεδομένα.

Άρθρα