Μια ισχυρή ανάπτυξη στο cloud σημαίνει ότι έχετε μια καλά μελετημένη στρατηγική διαχείρισης δεδομένων. Στην CloudSigma προσφέρουμε δωρεάν λειτουργικότητα, όπως η λήψη στιγμιοτύπων (snapshotting), καθώς και κλιμακωτή αποθήκευση. Επομένως, είναι δυνατή η εφαρμογή ενός εξαιρετικού πλαισίου διαχείρισης δεδομένων για τη διασφάλιση ισχυρής προστασίας της διαθεσιμότητας και της ακεραιότητας των δεδομένων που αποθηκεύετε στο cloud.
Σε αυτήν την ανάρτηση μοιραζόμαστε μαζί σας ένα σενάριο (script) που σας επιτρέπει να αυτοματοποιήσετε την προαγωγή ενός στιγμιοτύπου (snapshot) ενός δίσκου σε πλήρη δίσκο. Αυτό είναι εξαιρετικό για τη δημιουργία αντιγράφων ασφαλείας διαφόρων σημείων επαναφοράς που έχετε δημιουργήσει με τη λειτουργία δημιουργίας αντιγράφων ασφαλείας δίσκου. Αυτή η λειτουργικότητα επιτυγχάνεται χρησιμοποιώντας ένα σενάριο python, το οποίο με τη σειρά του αξιοποιεί τη δωρεάν βιβλιοθήκη CloudSigma Python Library (μπορείτε να την κατεβάσετε από εδώ).
Ας ξεκινήσουμε λοιπόν!
Αρχικά, πρέπει να εγκαταστήσετε την python στον τοπικό σας υπολογιστή ή διακομιστή, εάν δεν την έχετε ήδη. Η εγκατάσταση της Python είναι γενικά εύκολη και στις μέρες μας πολλές διανομές Linux και UNIX περιλαμβάνουν μια πρόσφατη έκδοση της Python από προεπιλογή. Ακόμη και ορισμένοι υπολογιστές με Windows διαθέτουν πλέον προεγκατεστημένη την Python. Ακολουθεί μια σύντομη επισκόπηση της εγκατάστασης της Python για διάφορα λειτουργικά συστήματα.
Εγκατάσταση ανά λειτουργικό σύστημα
Mac OS X
|
1 |
sudo pip install cloudsigma |
Ubuntu
|
1 2 |
sudo apt-get -y install python-pip pip install cloudsigma |
CentOS / RHEL
Για να εγκαταστήσετε τη μονάδα CloudSigma, πρέπει πρώτα να εγκαταστήσετε το αποθετήριο EPEL, προκειμένου να εγκαταστήσετε το PIP. Οι παρακάτω οδηγίες αφορούν το RHEL 6.x / CentOS 6.x. Για περισσότερες λεπτομέρειες σχετικά με την εγκατάσταση του αποθετηρίου, επισκεφθείτε τον ιστότοπο του EPEL στο εδώ.
|
1 2 3 4 5 |
yum install -y wget wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh epel-release-6-8.noarch.rpm yum install -y python-pip pip install cloudsigma |
Ρύθμιση παραμέτρων Python και σεναρίου
Τώρα ας επαληθεύσουμε ότι η python έχει εγκαταστήσει σωστά με αυτήν την απλή εντολή:
|
1 |
python --version |
Η έκδοση εξόδου της παραπάνω εντολής θα πρέπει να είναι παρόμοια με: Python 2.7.10
Μόλις εγκαταστήσετε την python στο μηχάνημά σας, μπορούμε να προχωρήσουμε με τη ρύθμιση παραμέτρων του py-cloudsigma.
Για να μπορέσει η βιβλιοθήκη CloudSigma να αλληλεπιδράσει με το API, πρέπει να παρέχετε τα διαπιστευτήριά σας.
Αυτά ορίζονται στο αρχείο ~/.cloudsigma.conf.
Εδώ’ είναι μια ενδεικτική έκδοση του αρχείου που «επικοινωνεί» με το κέντρο δεδομένων του San Jose. Εάν θέλετε αντ' αυτού να χρησιμοποιήσετε το κέντρο δεδομένων της Ζυρίχης, απλώς αντικαταστήστε το sjc με το zrh στο api_endpoint και στο ws_endpoint.
|
1 2 3 4 |
api_endpoint = https://sjc.cloudsigma.com/api/2.0/ ws_endpoint = wss://direct.sjc.cloudsigma.com/websocket username = password = |
Δεδομένου ότι αυτό το αρχείο περιλαμβάνει διαπιστευτήρια, είναι’ εξαιρετικά σκόπιμο να ορίσετε τα δικαιώματα του αρχείου σε chmod 600 έτσι ώστε αυτό το αρχείο να μπορεί να διαβαστεί μόνο από τον κάτοχο:
|
1 |
chmod 600 ~/.cloudsigma.conf |
Τώρα είμαστε έτοιμοι να δημιουργήσουμε και να εκτελέσουμε το σενάριο python. Περιλαμβάνουμε τον πλήρη πηγαίο κώδικα παρακάτω, οπότε απλώς ανοίξτε το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου και επικολλήστε τον εκεί ή χρησιμοποιήστε τον σύνδεσμο λήψης εδώ
Λάβετε υπόψη ότι η επέκταση του αρχείου πρέπει να είναι .py όταν πρόκειται να αποθηκεύσετε το αρχείο.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/usr/bin/python import cloudsigma from pprint import pprint import time uid = raw_input("UUID Στιγμιοτύπου: ") snapshots = cloudsigma.resource.Snapshot() ssd_drive = snapshots.clone(uid) pprint(ssd_drive) time.sleep(10) drive = cloudsigma.resource.Drive() zadara_drive = drive.clone((ssd_drive['uuid']), {'storage_type': 'zadara'}) pprint(zadara_drive) zadara_ready = False while not zadara_ready: if drive.get(zadara_drive['uuid'])['status'] == 'unmounted': zadara_ready = True print "Ολοκληρώθηκε" drive.delete(ssd_drive['uuid']) else: time.sleep(1) |
Εκτελέστε το script μέσω της ακόλουθης εντολής:
|
1 |
.py |
Ο κύριος στόχος αυτού του script είναι να κάνει τα πράγματα όσο το δυνατόν πιο εύκολα και βολικά στον τομέα της διαχείρισης αποθήκευσης, ειδικά για νέους χρήστες και για όσους προτιμούν την κονσόλα περισσότερο από το GUI 🙂
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.