Wednesday, May 25, 2011

Ιδανικό backup (ή πως έστησα δικό μου FTP Server)

Όσο περνάνε τα χρόνια, τόσο πιο πολύ αγχώνομαι για τα backups του υπολογιστή.

Το παλιότερα αρχεία στον υπολογιστή μου είναι από το 1998 - κάτι email και εργασίες από το ΕΜΠ. Έκτοτε, και ειδικά από το 2003 οπότε αγόρασα και ψηφιακή φωτογραφική μηχανή, συλλέγω πολλά δεδομένα. Το θέμα είναι πως πολλά από αυτά είναι αναντικατάστατα. Διότι μπορεί να έχω μαζέψει 100GB από MP3, και θα λυπηθώ πολύ αν πάθουν κάτι, αλλά τουλάχιστον αυτά ξαναβρίσκονται.

Έχω όμως και κάπου 300GB αρχείων που δεν μπορούν να ξαναβρεθούν. Εργασίες, paper, φωτογραφίες (κυρίως!), βίντεο που έχω τραβήξει και έχω φτιάξει ο ίδιος, κτλ. Μπορεί να ζούνε τώρα μια χαρά στο σκληρό μου δίσκο, αλλά πάντα ζω με τον τρόμο ότι θα ξυπνήσω μια μέρα και θα έχουν χαθεί όλα.

Στις αρχές της δεκαετίας του 200, έκανα backups σε DVD. Με 3-4 δισκάκια είχα κάνει τη δουλειά μου. Τώρα όμως, με τόσο όγκο δεδομένων δεν αρκεί. Συν ότι τα δισκάκια χαλάνε εύκολα. Έχετε δοκιμάσει να διαβάσετε δισκάκι γραμμένο 4-5 χρόνια πριν? Σπάνιο να παίζει σωστά.

Για να είμαι ασφαλής θεωρώ ότι χρειάζομαι 2 backups, εκ των οποίων το ένα offsite, έτσι ώστε όλα τα δεδομένα που θέλω να βρίσκονται ανά πάσα στιγμή σε 3 σημεία.

Το πρώτο backup είναι αρκετά εύκολο, αρκεί ένας εξωτερικός σκληρός δίσκος. Προσωπικά χρησιμοποιώ NAS ώστε να αποθηκεύονται τα δεδομένα δικτυακά και όχι μέσω USB, διότι μου επιτρέπει να μην χρειάζεται να έχω το δίσκο στο ίδιο σημείο με το PC. Επίσης, κάνω backup σε έναν Windows Home Server, και έτσι είναι σε 3 σημεία μέσα στο σπίτι μου τα δεδομένα.

Όμως αυτό δεν αρκεί. Πρέπει οπωσδήποτε το ένα backup να είναι offsite. Πέρα από το φόβο μην πιάσει καμιά φωτιά, πλημμυρίσουμε, πέσει κεραυνός και κάψει τα πάντα κτλ, αυτό που φοβάμαι πιο πολύ είναι η κλοπή. Έχω φίλο που μπήκαν στο γραφείο του και άρπαξαν ότι βρήκαν μπροστά τους, οπότε πάει και το PC και ο εξωτερικός σκληρός με το backup. Εν ριπή οφθαλμού χάθηκε δουλειά ετών.

Οπότε είχα επιλέξει το online backup στην Mozy. Για $55 το χρόνο μου επέτρεπε να ανεβάσω όσα δεδομένα ήθελα. Μου φάνηκε πολύ καλή περίπτωση. Βέβαια για να ανεβούν στους servers του τα 300GB μου, με την ταχύτητα upload μιας απλής DSL μου πήρε 6 μήνες, έχοντας ανοιχτό τον υπολογιστή 24/7. Δεν πειράζει έλεγα, τουλάχιστον τώρα έχω το κεφάλι μου ήσυχο.

Και όντως ήμουν ήσυχος μέχρι τον Μάρτιο που μας πέρασε. Τότε η Mozy αποφάσισε να αρχίσει να χρεώνει με το GB για τα δεδομένα που ανεβάζαμε. Για να έχω 300GB στους servers της, ήθελαν περίπου $200 το χρόνο. Δεν ανανέωσα τη συνδρομή, και μέσα σε μια μέρα όλα τα δεδομένα μου εξαφανίστηκαν. Back to square one.

Σκέφτηκα τι θα έπρεπε να κάνω. Θα μπορούσα να πάω σε άλλη online εταιρία με μικρό κόστος και unlimited δεδομένα, όμως θα έπρεπε πάλι να περιμένω 6+ μήνες για να ανεβούνε. Επιπλέον, κανείς δε μου εγγυάται ότι δεν θα αρχίσουν και αυτοί να χρεώνουν παραπάνω κάποια στιγμή στο μέλλον. Τέλος, για να ανακτήσω αυτά τα δεδομένα, πάλι θα έπρεπε να περιμένω 2-3 εβδομάδες για να κατέβουν τα 300GB. Και τι θα κάνω όταν τα δεδομένα μου γίνουν 1TB?

Έτσι αποφάσισα ότι η καλύτερη λύση ήταν να κάνω το offsite backup σε δικό μου χώρο. Στην πιο απλή περίπτωση, θα μπορούσα να αποθηκεύω το backup σε έναν USB σκληρό και να τον δίνω στους γονείς μου να τον έχουν σπίτι τους. Έτσι, κάθε 1-2 μήνες θα έπρεπε να παίρνω το σκληρό, να ανανεώνω (χειροκίνητα) το backup και να τον βάζω πίσω. Αυτή η λύση δε μου άρεσε και πολύ όμως γιατί δεν είναι αυτόματη.

Οπότε έκανα το εξής. Πήρα ένα σχεδόν ξεχασμένο laptop - το πρώτο μου - ένα HP με P3 επεξεργαστή και 256MB μνήμη. Έστησα πάνω του έναν SFTP Server (WinSSHD).

Πήρα τον εξωτερικό σκληρό και το σύνδεσα στο κυρίως μου PC. Έκανα το πρώτο backup μέσω USB, όπου μέσα σε 1 ώρα είχε ολοκληρωθεί.

Στη συνέχεια συνέδεσα τον ίδιο σκληρό στο laptop, και έβαλα τον SFTP server να χρησιμοποιεί αυτόν για χώρο, και μάλιστα στον ίδιο φάκελο που βρισκόταν το αρχικό backup. Από το κυρίως μου PC, διατήρησα το ίδιο backup αλλά απλώς του είπα να πηγαίνει να αποθηκεύει στον SFTP server, με βάση την (στατική) IP του laptop. Μιας και τα αρχεία είχαν ήδη γραφτεί μέσω USB, το backup είναι incremental και τελειώνει σε μερικά λεπτά μέσω του δικτύου.

Κατόπιν πήρα το πακέτο laptop+σκληρός και τον πήγα στο σπίτι των γονιών μου. Το κούμπωσα πάνω στο router, και έκανα port-forward την TCP θύρα 22 (του SFTP) στην IP του laptop. Από το αρχικό σπίτι τώρα, και γνωρίζοντας την external IP του router, το backup γίνεται δικτυακά.

Για να γλυτώσω το βήμα με την IP, έφτιαξα ένα λογαριασμό από το dyndns.org και εγκατέστησα τον ανάλογο updater στο laptop. Αυτό ενημερώνει αυτόματα τους servers του dyndns για την IP του router που μπορεί να αλλάζει, και την αντιστοιχεί σε μια διεύθυνση του τύπου myftpserver.dyndns.org. Το αποτέλεσμα είναι πως στο backup πρόγραμμα στο κυρίως PC τώρα αρκεί να βάζω σαν FTP server τη διεύθυνση myftpserver.dyndns.org (και όχι μια IP) και βρίσκει αυτόματα το laptop μου (οπουδήποτε και να είναι στον κόσμο!) και τρέχει το backup.

Το αποτέλεσμα είναι να έχω offsite backup δικό μου με πολλά πλεονεκτήματα. Καταρχάς, δεν έχω περιορισμό στο χώρο, αφού μπορώ να συνδέσω ότι σκληρό δίσκο επιθυμώ. Δεύτερον, δεν περιμένω αιώνες να ανέβουν τα δεδομένα, αφού το πρώτο backup γίνεται ταχύτατα τοπικά. Τρίτον, αν ποτέ χρειαστώ τα δεδομένα μου πίσω, θα μπω στο αυτοκίνητο και θα πάω να πάρω το δίσκο μου από τον server. Τέταρτον, δε χρειάζεται να πληρώνω κάθε χρόνο συνδρομή. Πέμπτον, μπορώ να κάνω backup έτσι όλον μου το δίσκο (και όχι μόνο τα απαραίτητα δεδομένα, αφού δεν υπάρχει το bottleneck του upload).

Αν δεν είχα κάποιο παλιό μηχάνημα να κάθεται για να στηθεί ο server, θα αγόραζα ένα παλιό netbook (από αυτά τα Eee PC, τα πρώτα), και θα του έβαζα έναν εσωτερικό δίσκο 500-750GB για να χωράει το backup. Μετά θα το άφηνα μόνο στο ρεύμα, μέσα σε μια ντουλάπα, συνδεδεμένο μέσω wifi με τον υπόλοιπο κόσμο, να κρατάει τα backups. Άψογο.

Είναι μια διαδικασία που δεν είναι τόσο απλή για το μέσο χρήστη, αλλά για κάποιον που ξέρει 5 πράγματα νομίζω είναι η καλύτερη λύση backup.





(Επειδή στο backup μου είχα πάνω από 500,000 αρχεία, το FTP έπαιρνε πάνω από 10 ώρες για να τα ελέγξει όλα στον FTP server. Οπότε χρησιμοποίησα τη δυνατότητα του fast backup, δηλαδή το backup software υποθέτει πως δεν πειράζει άλλος τα backup αρχεία στον server, και έτσι δεν χρειάζεται να τα ελέγχει κάθε φορά, απλώς κρατάει τη δομή αποθηκευμένη τοπικά. Έτσι απλώς κάνει upload τα νέα αρχεία απευθείας κάθε φορά Το Syncback Pro που χρησιμοποιώ έχει αυτή τη δυνατότητα.)

buzz it!

9 comments :

mahler76 said...

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

Anonymous said...

Οδηγός φάρος διάχυσης της γνωστικής εμπειρίας η συγκεκριμένη ανάρτηση σου για όλους εμάς τους δικτυωμένους, πραγματική ενημέρωση.

Από όσο διαβάζω και ακούω στα podcast σου πρέπει να έχεις HOL.
Λοιπόν θα ήθελα ΑΝ βέβαια έχεις ασχοληθεί καθόλου γιατί είμαι μπερδεμένος με το συγκεκριμένο χαρακτηριστικό του NetFaster IAD τι παίζει στην ενότητα...

FIREWALL
Intrusion Detection
When hackers attempt to enter your network, we can alert you by e-mail

...με τις ρυθμίσεις του email όσο αναφορά την ειδοποίηση, το έχεις τσεκάρει ποτέ, εμένα το user name & password είναι προκαταβολικά συμπληρωμένα μόνο οι ρυθμίσεις του πχ Gmail μένουν!
Προσπάθησα έβαλα το SMTP server του google ή του gmail δεν θυμάμαι πάνε κάτι μήνες πίσω αλλά ποτέ δεν το κατόρθωσα.

SORRY για τη παράπλευρη απώλεια του κυρίως θέματος του post αλλά ολόκληρη SONY χάκεψαν και πρέπει να προσέχουμε...

netfreak said...

Ενδιαφέρον και οικονομικό setup. Προσωπικά για την ώρα είμαι μόνο στο backup σε onsite δίσκο αλλά είχα στο μυαλό μου και το off-site με FTP περίπου όπως το περιγράφεις ( έχω και το γραφείο κοντά, βολεύει ).

Εναλλακτικά είχα στα bookmarks μου εδώ και μήνες το Crashplan που λειτουργεί αρχικά ως εφαρμογή backup και δευτερεύων ως online χώρος backup. ( ίδια λεφτά με Mozy ) και το θετικό είναι τα multiple locations, όπως άλλο PC στο δίκτυο, external drive, οι servers τους αλλά ακόμα και η δυνατότητα να κάνεις ( encrypted ) backup ακόμα και σε PC φίλου - και το αντίστροφο.

agou said...

Στην ουσία έφτιαξες (όπως λες) τον δικό σου FTP server. Με την ίδια λογική, θα μπορούσες να στήσεις και web server, και να έχεις το δικό σου site.

Όμως, δεν είναι τόσο απλά τα πράγματα. Καταρχήν, τα laptop γενικά (και το συγκεκριμένο ειδικά) δεν κάνουν για server. Δεν έχουν τις επιδόσεις, την αξιοπιστία, την αντοχή που χρειάζεται.

Το ίδιο ισχύει και για τον εξωτερικό δίσκο που έχεις συνδέσει στο laptop.

Επίσης, φαντάζομαι οι συνθήκες στο σπίτι δεν θα είναι ιδανικές. Η θερμοκρασία δεν θα είναι ελεγχόμενη, κάποιο καλώδιο μπορεί να κουνηθεί, μπορεί να πέσει το ρεύμα, μπορεί να κοπεί το internet κτλ κτλ. Επίσης, εννοείται ότι το WiFi δεν ενδείκνυται για τέτοιες απαιτήσεις.

Με όλα αυτά δεν εννοώ ότι δεν θα κάνεις τη δουλειά σου, αλλά θέλω να επισημάνω τις διαφορές που θα έχει ένας πραγματικός server.

Έτσι κι αλλιώς, πλησιάζει η επέλαση του cloud computing, οπότε κάποια στιγμή όλοι θα ανεβάσουμε τα δεδομένα μας στο σύννεφο... :)

Themos said...

@mahler76: Ελπίζω να βγεις σωστός και να μη χρειαστεί να μετανιώσεις τυχόν χαμένα αρχεία :-)

@anonymous: Από όσο έχω δουλέψει το ρουτεράκι αυτό, είναι ιδιαίτερα ασταθές. Το ότι δεν δουλεύει δε σημαίνει πως έχεις κάνει κάτι λάθος!

@netfreak: Καλό φαίνεται το crashplan, φαίνεται είναι και καλό onsite backup software. Το τεράστιο μπόνους με το ftp backup είναι επίσης ότι όλα σου τα αρχεία είναι προσβάσιμα από οπουδήποτε με ένα απλό ftp!

@agou: Διαφωνώ για τα περί laptop-server. Οι απαιτήσεις είναι ελάχιστες, γιατί δεν χρειάζεται να εξυπηρετεί πολλούς χρήστες, μονάχα εμένα. Επίσης, το bottleneck στην επικοινωνία είναι το upload της DSL μου, άρα το laptop πρέπει να μπορεί απλώς να διαβάσει 100KB/s δεδομένα το πολύ - και άρα το wifi είναι υπερ-αρκετό. Πιστεύω ένα παλιό PC θα κάνει άψογα τη δουλειά του.

Βέβαια τα άλλα προβλήματα που αναφέρεις παραμένουν, και εκεί θα χρειαστεί παρέμβαση. Αλλά δεν είναι τόσο τρομερό αυτό δεδομένου ότι έχεις (έστω και σπάνια) φυσική πρόσβαση στον server σου.

skouset said...

Νοιώθω λίγο πρωτόγονος

woci said...

Εμένα η απορία μου εδράζεται στην κατανάλωση του ηλεκτρικού ρεύματος. Έχεις καμία εικόνα (στο περίπου) πόση μπορεί να είναι η συνεισφορά του στον λογαριασμό της ΔΕΗ? Όσο πιο παλιά πάμε με τα μηχανήματα, τόσο περισσότερη ενέργεια ήθελαν, κι ας ήταν idle συνεχώς.

Themos said...

@woki: Το έχω κοιτάξει για το κόστος. Ο πολύ παλιός server Pentium 4 που έχω καταναλώνει 60W. Ένας πιο μοντέρνος server ή ένα laptop/netbook/nettop είναι κοντά στα 20-30W. Δεδομένου ότι μια κιλοβατώρα (δηλαδή 1000W επί μία ώρα) κοστίζει περίπου €0.10, το κόστος του 60W server είναι €4.30 ανά μήνα.

Kostas P. said...

εύγε και πάλι εύγε!