Εισαγωγή στο GlusterFS (σύστημα αρχείων) και εγκατάσταση σε RHEL/CentOS και Fedora


Ζούμε σε έναν κόσμο όπου τα δεδομένα αυξάνονται με απρόβλεπτο τρόπο και είναι ανάγκη μας να αποθηκεύουμε αυτά τα δεδομένα, είτε είναι δομημένα είτε μη, με αποτελεσματικό τρόπο. Τα κατανεμημένα υπολογιστικά συστήματα προσφέρουν ένα ευρύ φάσμα πλεονεκτημάτων σε σχέση με τα κεντρικά υπολογιστικά συστήματα. Εδώ τα δεδομένα αποθηκεύονται με κατανεμημένο τρόπο με πολλούς κόμβους ως διακομιστές.

Η έννοια του διακομιστή μεταδεδομένων δεν είναι πλέον απαραίτητη σε ένα κατανεμημένο σύστημα αρχείων. Στα κατανεμημένα συστήματα αρχείων, προσφέρει μια κοινή άποψη όλων των αρχείων που διαχωρίζονται μεταξύ διαφορετικών διακομιστών. Η πρόσβαση σε αρχεία/καταλόγους σε αυτούς τους διακομιστές αποθήκευσης γίνεται με κανονικούς τρόπους.

Για παράδειγμα, τα δικαιώματα για αρχεία/καταλόγους μπορούν να οριστούν όπως στο συνηθισμένο μοντέλο αδειών συστήματος, δηλαδή στον κάτοχο, την ομάδα και άλλα. Η πρόσβαση στο σύστημα αρχείων εξαρτάται βασικά από το πώς το συγκεκριμένο πρωτόκολλο έχει σχεδιαστεί για να λειτουργεί στο ίδιο.

Τι είναι το GlusterFS;

Το GlusterFS είναι ένα κατανεμημένο σύστημα αρχείων που έχει οριστεί για χρήση στο χώρο χρήστη, π.χ. Σύστημα αρχείων στο χώρο χρήστη (FUSE). Είναι ένα σύστημα αρχείων που βασίζεται σε λογισμικό, το οποίο λαμβάνει υπόψη τη δική του δυνατότητα ευελιξίας.

Κοιτάξτε το παρακάτω σχήμα που αναπαριστά σχηματικά τη θέση του GlusterFS σε ένα ιεραρχικό μοντέλο. Από προεπιλογή το πρωτόκολλο TCP θα χρησιμοποιείται από το GlusterFS.

Πλεονεκτήματα του GlusterFS

  1. Καινοτομία – Εξαλείφει τα μεταδεδομένα και μπορεί να βελτιώσει δραματικά την απόδοση που θα μας βοηθήσει να ενοποιήσουμε δεδομένα και αντικείμενα.
  2. Ελαστικότητα – Προσαρμόζεται στην ανάπτυξη και τη μείωση του μεγέθους των δεδομένων.
  3. Γραμμική κλίμακα – Έχει διαθεσιμότητα σε petabyte και όχι μόνο.
  4. Απλότητα – Είναι εύκολο στη διαχείριση και ανεξάρτητο από τον πυρήνα ενώ εκτελείται στο χώρο χρήστη.

Τι κάνει το Gluster να ξεχωρίζει μεταξύ άλλων κατανεμημένων συστημάτων αρχείων;

  1. Εμπορίσιμο – Η απουσία διακομιστή μεταδεδομένων παρέχει ταχύτερο σύστημα αρχείων.
  2. Προσιτό – Αναπτύσσεται σε υλικό βασικών προϊόντων.
  3. Εύκαμπτο – Όπως είπα νωρίτερα, το GlusterFS είναι ένα σύστημα αρχείων μόνο λογισμικού. Εδώ τα δεδομένα αποθηκεύονται σε εγγενή συστήματα αρχείων όπως ext4, xfs κ.λπ.
  4. Ανοιχτού κώδικα – Επί του παρόντος, το GlusterFS διατηρείται από την Red Hat Inc, μια εταιρεία ανοιχτού κώδικα δισεκατομμυρίων δολαρίων, ως μέρος της Red Hat Storage.

Έννοιες αποθήκευσης στο GlusterFS

  1. Brick – Το Brick είναι βασικά οποιοσδήποτε κατάλογος που προορίζεται να κοινοποιηθεί μεταξύ του αξιόπιστου χώρου αποθήκευσης.
  2. Το Trusted Storage Pool – είναι μια συλλογή από αυτά τα κοινόχρηστα αρχεία/καταλόγους, τα οποία βασίζονται στο σχεδιασμένο πρωτόκολλο.
  3. Αποθήκευση μπλοκ – Είναι συσκευές μέσω των οποίων τα δεδομένα μετακινούνται στα συστήματα με τη μορφή μπλοκ.
  4. Σύμπλεγμα – Στο Red Hat Storage, τόσο το σύμπλεγμα όσο και το αξιόπιστο αποθηκευτικό χώρο αποδίδουν την ίδια έννοια της συνεργασίας διακομιστών αποθήκευσης με βάση ένα καθορισμένο πρωτόκολλο.
  5. Distributed File System – Ένα σύστημα αρχείων στο οποίο τα δεδομένα κατανέμονται σε διαφορετικούς κόμβους όπου οι χρήστες μπορούν να έχουν πρόσβαση στο αρχείο χωρίς να γνωρίζουν την πραγματική θέση του αρχείου. Ο χρήστης δεν αισθάνεται την αίσθηση της απομακρυσμένης πρόσβασης.
  6. FUSE – Είναι μια λειτουργική μονάδα πυρήνα με δυνατότητα φόρτωσης που επιτρέπει στους χρήστες να δημιουργούν συστήματα αρχείων πάνω από τον πυρήνα χωρίς να εμπλέκουν κανέναν κώδικα του πυρήνα.
  7. glusterd – Το glusterd είναι ο δαίμονας διαχείρισης GlusterFS, ο οποίος είναι η ραχοκοκαλιά του συστήματος αρχείων που θα λειτουργεί καθ' όλη τη διάρκεια του χρόνου, όποτε οι διακομιστές είναι σε ενεργή κατάσταση.
  8. POSIX – Το Portable Operating System Interface (POSIX) είναι η οικογένεια προτύπων που ορίζονται από το IEEE ως λύση για τη συμβατότητα μεταξύ παραλλαγών Unix με τη μορφή προγραμματιζόμενης διεπαφής εφαρμογής (API).
  9. RAID – Η πλεονάζουσα συστοιχία ανεξάρτητων δίσκων (RAID) είναι μια τεχνολογία που παρέχει αυξημένη αξιοπιστία αποθήκευσης μέσω πλεονασμού.
  10. Υποτόμος – Ένα τούβλο μετά την επεξεργασία από τουλάχιστον έναν μεταφραστή.
  11. Μεταφραστής – Μεταφραστής είναι αυτό το κομμάτι κώδικα που εκτελεί τις βασικές ενέργειες που εκκινούνται από τον χρήστη από το σημείο προσάρτησης. Συνδέει έναν ή περισσότερους υποτόμους.
  12. Τόμος – Οι τόμοι είναι μια λογική συλλογή από τούβλα. Όλες οι λειτουργίες βασίζονται στους διαφορετικούς τύπους τόμων που δημιουργούνται από τον χρήστη.
Διαφορετικοί τύποι τόμων

Επιτρέπονται επίσης αναπαραστάσεις διαφορετικών τύπων όγκων και συνδυασμών μεταξύ αυτών των βασικών τύπων τόμων όπως φαίνεται παρακάτω.

Κατανεμημένος αναπαραγόμενος όγκος

Αναπαράσταση ενός κατανεμημένου-αναπαραγόμενου τόμου.

Εγκατάσταση του GlusterFS σε RHEL/CentOS και Fedora

Σε αυτό το άρθρο, θα εγκαταστήσουμε και θα διαμορφώσουμε το GlusterFS για πρώτη φορά για υψηλή διαθεσιμότητα αποθήκευσης. Για αυτό, παίρνουμε δύο διακομιστές για να δημιουργήσουμε τόμους και να αναπαράγουμε δεδομένα μεταξύ τους.

Βήμα :1 Έχετε τουλάχιστον δύο κόμβους

  1. Εγκαταστήστε το CentOS 6.5 (ή οποιοδήποτε άλλο λειτουργικό σύστημα) σε δύο κόμβους.
  2. Ορίστε ονόματα κεντρικών υπολογιστών με τα ονόματα "server1" και "server2".
  3. Μια σύνδεση δικτύου που λειτουργεί.
  4. Δίσκος αποθήκευσης και στους δύο κόμβους με το όνομα "/data/brick".

Βήμα 2: Ενεργοποιήστε το αποθετήριο EPEL και GlusterFS

Προτού εγκαταστήσουμε το GlusterFS και στους δύο διακομιστές, πρέπει να ενεργοποιήσουμε τα αποθετήρια EPEL και GlusterFS προκειμένου να ικανοποιηθούν οι εξωτερικές εξαρτήσεις. Χρησιμοποιήστε τον παρακάτω σύνδεσμο για να εγκαταστήσετε και να ενεργοποιήσετε το epel repository και στα δύο συστήματα.

  1. Πώς να ενεργοποιήσετε το αποθετήριο EPEL στο RHEL/CentOS

Στη συνέχεια, πρέπει να ενεργοποιήσουμε το αποθετήριο GlusterFs και στους δύο διακομιστές.

wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

Βήμα 3: Εγκατάσταση του GlusterFS

Εγκαταστήστε το λογισμικό και στους δύο διακομιστές.

yum install glusterfs-server

Ξεκινήστε τον δαίμονα διαχείρισης GlusterFS.

service glusterd start

Τώρα ελέγξτε την κατάσταση του δαίμονα.

service glusterd status
Δείγμα εξόδου
service glusterd start
  service glusterd status
  glusterd.service - LSB: glusterfs server
   	  Loaded: loaded (/etc/rc.d/init.d/glusterd)
  	  Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
  	 Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
  	  CGroup: name=systemd:/system/glusterd.service
  		  ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
  		  ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
  		  └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...

Βήμα 4: Διαμορφώστε το SELinux και τα iptables

Ανοίξτε το ‘/etc/sysconfig/selinux’ και αλλάξτε το SELinux είτε σε λειτουργία "επιτρεπτή " είτε σε "απενεργοποιημένη " και στους δύο διακομιστές. Αποθηκεύστε και κλείστε το αρχείο.

This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
    enforcing - SELinux security policy is enforced.
    permissive - SELinux prints warnings instead of enforcing.
    disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
    targeted - Targeted processes are protected,
    mls - Multi Level Security protection.
SELINUXTYPE=targeted

Στη συνέχεια, ξεπλύνετε τα iptables και στους δύο κόμβους ή πρέπει να επιτρέψετε την πρόσβαση στον άλλο κόμβο μέσω του iptables.

iptables -F

Βήμα 5: Διαμορφώστε το Trusted Pool

Εκτελέστε την ακόλουθη εντολή στον «Διακομιστή 1».

gluster peer probe server2

Εκτελέστε την ακόλουθη εντολή στον «Διακομιστή 2».

gluster peer probe server1

Σημείωση: Αφού συνδεθεί αυτό το pool, μόνο έμπιστοι χρήστες μπορούν να κάνουν ανίχνευση νέων διακομιστών σε αυτό το pool.

Βήμα 6: Ρυθμίστε έναν τόμο GlusterFS

Και στον server1 και στον server2.

mkdir /data/brick/gv0

Δημιουργήστε έναν τόμο Σε οποιονδήποτε διακομιστή και ξεκινήστε τον τόμο. Εδώ, πήρα το "Διακομιστή 1".

gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
gluster volume start gv0

Στη συνέχεια, επιβεβαιώστε την κατάσταση του τόμου.

gluster volume info

Σημείωση: Εάν δεν έχει ξεκινήσει η ένταση του ήχου σε περίπτωση, τα μηνύματα σφάλματος καταγράφονται στην περιοχή '/var/log/glusterfs' σε ένα ή και οι δύο διακομιστές.

Βήμα 7: Επαληθεύστε τον τόμο GlusterFS

Προσαρτήστε τον τόμο σε έναν κατάλογο κάτω από το "/mnt".

mount -t glusterfs server1:/gv0 /mnt

Τώρα μπορείτε να δημιουργήσετε, να επεξεργαστείτε αρχεία στο σημείο προσάρτησης ως ενιαία προβολή του συστήματος αρχείων.

Χαρακτηριστικά του GlusterFS

  1. Αυτοίαση – Εάν κάποιο από τα τούβλα σε έναν αναπαραγόμενο τόμο είναι μειωμένο και οι χρήστες τροποποιήσουν τα αρχεία μέσα στο άλλο τούβλο, ο δαίμονας αυτόματης αυτοθεραπείας θα τεθεί σε λειτουργία μόλις το τούβλο είναι επόμενο ώρα και οι συναλλαγές που πραγματοποιήθηκαν κατά τη διάρκεια του χρόνου διακοπής συγχρονίζονται ανάλογα.
  2. Επανεξισορρόπηση – Εάν προσθέσουμε ένα νέο τούβλο σε έναν υπάρχοντα τόμο, όπου προηγουμένως βρισκόταν μεγάλος όγκος δεδομένων, μπορούμε να εκτελέσουμε μια λειτουργία επανεξισορρόπησης για τη διανομή των δεδομένων μεταξύ όλων των τούβλων, συμπεριλαμβανομένου του τούβλου που προστέθηκε πρόσφατα.
  3. Γεωγραφική αναπαραγωγή – Παρέχει αντίγραφα ασφαλείας δεδομένων για ανάκτηση από καταστροφές. Εδώ έρχεται η έννοια του κύριου και του δούλου τόμου. Έτσι, εάν το master είναι εκτός λειτουργίας, όλα τα δεδομένα είναι προσβάσιμα μέσω του slave. Αυτή η δυνατότητα χρησιμοποιείται για συγχρονισμό δεδομένων μεταξύ γεωγραφικά διαχωρισμένων διακομιστών. Η εκκίνηση μιας συνεδρίας γεω-αντιγραφής απαιτεί μια σειρά από εντολές gluster.

Εδώ, είναι η ακόλουθη εικόνα οθόνης που δείχνει τη μονάδα Geo-replication.

Σύνδεσμοι αναφοράς

Αρχική σελίδα GlusterFS

Αυτά προς το παρόν!. Μείνετε ενημερωμένοι για τη λεπτομερή περιγραφή σχετικά με λειτουργίες όπως Self-heal and Re-balance, Geo-replication κ.λπ. στα επόμενα άρθρα μου.