Ενημέρωση συστήματος αρχείων συμπλέγματος LizardFS 3.13.0-rc2

Μετά από ένα χρόνο ανάπαυσης στην ανάπτυξη συνέχισε εργάζονται σε ένα νέο κλάδο ενός κατανεμημένου συστήματος αρχείων με ανοχή σε σφάλματα LizardF 3.13 и δημοσιεύθηκε υποψήφιος δεύτερης απελευθέρωσης. Πρόσφατα έχει συμβεί αλλαγή ιδιοκτητών της εταιρείας ανάπτυξης LizardFS, υιοθετήθηκε νέα διοίκηση και αντικαταστάθηκαν οι προγραμματιστές. Τα τελευταία δύο χρόνια, το έργο έχει αποσυρθεί από την κοινότητα και δεν έχει δώσει αρκετή προσοχή σε αυτό, αλλά η νέα ομάδα σκοπεύει να αναβιώσει την προηγούμενη σχέση με την κοινότητα και να δημιουργήσει στενή αλληλεπίδραση μαζί της. Ο κώδικας του έργου είναι γραμμένος σε γλώσσες C και C++ και διανέμονται από με άδεια GPLv3.

Σαύρα είναι ένα κατανεμημένο σύστημα αρχείων συμπλέγματος, το οποίο σας επιτρέπει να διανέμετε δεδομένα σε διαφορετικούς διακομιστές, αλλά παρέχει πρόσβαση σε αυτά με τη μορφή ενός ενιαίου μεγάλου διαμερίσματος, το οποίο λειτουργεί με παρόμοιο τρόπο με τα παραδοσιακά διαμερίσματα δίσκων. Ένα προσαρτημένο διαμέρισμα με LizardFS υποστηρίζει χαρακτηριστικά αρχείων POSIX, ACL, κλειδαριές, υποδοχές, σωλήνες, αρχεία συσκευών, συμβολικούς και σκληρούς συνδέσμους. Το σύστημα δεν έχει ούτε ένα σημείο αστοχίας· όλα τα στοιχεία είναι περιττά. Υποστηρίζεται η παραλληλοποίηση των λειτουργιών δεδομένων (πολλοί πελάτες μπορούν ταυτόχρονα να έχουν πρόσβαση στα αρχεία).

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

Τα δεδομένα και τα μεταδεδομένα αποθηκεύονται χωριστά. Για τη λειτουργία, συνιστάται η εγκατάσταση δύο διακομιστών μεταδεδομένων που λειτουργούν σε λειτουργία master-slave, καθώς και τουλάχιστον δύο διακομιστές αποθήκευσης δεδομένων (chunkserver). Επιπλέον, για τη δημιουργία αντιγράφων ασφαλείας μεταδεδομένων, οι διακομιστές καταγραφής μπορούν να χρησιμοποιηθούν για την αποθήκευση πληροφοριών σχετικά με αλλαγές στα μεταδεδομένα και σας επιτρέπουν να επαναφέρετε τη λειτουργία σε περίπτωση ζημιάς σε όλους τους υπάρχοντες διακομιστές μεταδεδομένων. Κάθε αρχείο χωρίζεται σε μπλοκ (κομμάτια), μεγέθους έως 64 MB. Τα μπλοκ κατανέμονται μεταξύ των διακομιστών αποθήκευσης σύμφωνα με τον επιλεγμένο τρόπο αναπαραγωγής: τυπικό (ρητός προσδιορισμός του αριθμού των αντιγράφων που θα τοποθετηθούν σε διαφορετικούς κόμβους, μεταξύ άλλων σε σχέση με μεμονωμένους καταλόγους - για σημαντικά δεδομένα, ο αριθμός των αντιγράφων μπορεί να αυξηθεί και για μειωμένα ασήμαντα δεδομένα), XOR (RAID5 ) και EC (RAID6).

Ο χώρος αποθήκευσης μπορεί να επεκταθεί σε μεγέθη petabyte. Οι τομείς εφαρμογής περιλαμβάνουν αρχειοθέτηση, αποθήκευση εικόνων εικονικής μηχανής, δεδομένα πολυμέσων, αντίγραφα ασφαλείας, χρήση ως DRC (Κέντρο αποκατάστασης καταστροφών) και ως αποθήκευση σε συμπλέγματα υπολογιστών υψηλής απόδοσης. Το LizardFS παρέχει πολύ υψηλή ταχύτητα ανάγνωσης για αρχεία οποιουδήποτε μεγέθους και κατά τη σύνταξη, παρουσιάζει καλή απόδοση κατά τη σύνταξη ολόκληρων αρχείων μεγάλου και μεσαίου μεγέθους, όταν δεν υπάρχει συνεχής τροποποίηση, εντατική εργασία με ανοιχτά αρχεία και εφάπαξ λειτουργίες με ένα σωρό μικρά αρχεία.

Ενημέρωση συστήματος αρχείων συμπλέγματος LizardFS 3.13.0-rc2

Μεταξύ των χαρακτηριστικών του FS, μπορεί επίσης να σημειωθεί η παρουσία υποστήριξης για στιγμιότυπα, που αντικατοπτρίζουν την κατάσταση των αρχείων σε μια συγκεκριμένη χρονική στιγμή και μια ενσωματωμένη εφαρμογή του "κάδου ανακύκλωσης" (τα αρχεία δεν διαγράφονται αμέσως και είναι διαθέσιμα για ανάρρωση για κάποιο χρονικό διάστημα). Η πρόσβαση σε ένα διαμέρισμα μπορεί να περιοριστεί από τη διεύθυνση IP ή τον κωδικό πρόσβασης (παρόμοιο με το NFS). Υπάρχουν μηχανισμοί διαχείρισης ορίων και ποιότητας υπηρεσιών που σας επιτρέπουν να περιορίσετε το μέγεθος και το εύρος ζώνης για ορισμένες κατηγορίες χρηστών. Είναι δυνατή η δημιουργία γεωγραφικά κατανεμημένων εγκαταστάσεων αποθήκευσης, τα τμήματα των οποίων βρίσκονται σε διαφορετικά κέντρα δεδομένων.

Το έργο LizardFS ιδρύθηκε το 2013 ως πιρούνι MooseFS, και διαφέρει κυρίως με την παρουσία μιας λειτουργίας αναπαραγωγής που βασίζεται σε κωδικούς διόρθωσης σφαλμάτων Reed-Solomon (ανάλογα με το raidzN), εκτεταμένη υποστήριξη ACL, παρουσία πελάτη για την πλατφόρμα Windows, πρόσθετες βελτιστοποιήσεις (για παράδειγμα, όταν συνδυάζεται ένας πελάτης και ένας διακομιστής αποθήκευσης, τα μπλοκ, εάν είναι δυνατόν, αποστέλλονται με τον τρέχοντα κόμβο και τα μεταδεδομένα αποθηκεύονται προσωρινά στη μνήμη), ένα πιο ευέλικτο σύστημα διαμόρφωσης, υποστήριξη για εκ των προτέρων ανάγνωση δεδομένων, ποσοστώσεις καταλόγου και εσωτερική επανεπεξεργασία.

Το LizardFS 3.13.0 έχει προγραμματιστεί να κυκλοφορήσει στα τέλη Δεκεμβρίου. Η κύρια καινοτομία του LizardFS 3.13 είναι η χρήση ενός αλγορίθμου συναίνεσης για τη διασφάλιση της ανοχής σφαλμάτων (εναλλαγή βασικών διακομιστών σε περίπτωση αποτυχίας) Σχεδία (χρησιμοποιεί τη δική μας εφαρμογή του uRaft, η οποία χρησιμοποιήθηκε στο παρελθόν σε εμπορικά προϊόντα). Η χρήση του uRaft απλοποιεί τη διαμόρφωση και μειώνει τις καθυστερήσεις ανάκτησης αστοχίας, αλλά απαιτεί τουλάχιστον τρεις κόμβους εργασίας, ένας από τους οποίους χρησιμοποιείται για απαρτία.

Άλλες αλλαγές: νέος πελάτης που βασίζεται στο υποσύστημα FUSE3, επίλυση προβλημάτων με τη διόρθωση σφαλμάτων, το πρόσθετο nfs-ganesha έχει ξαναγραφεί σε γλώσσα C. Η ενημερωμένη έκδοση 3.13.0-rc2 διορθώνει αρκετά κρίσιμα σφάλματα που καθιστούσαν άχρηστες τις προηγούμενες δοκιμαστικές εκδόσεις του κλάδου 3.13 (οι διορθώσεις για τον κλάδο 3.12 δεν έχουν ακόμη δημοσιευθεί και η ενημέρωση από την 3.12 στην 3.13 εξακολουθεί να οδηγεί σε πλήρη απώλεια δεδομένων).

Το 2020, οι εργασίες θα επικεντρωθούν στην ανάπτυξη
Agama, ένας νέος πλήρως ξαναγραμμένος πυρήνας LizardFS, ο οποίος, σύμφωνα με τους προγραμματιστές, θα προσφέρει τριπλάσια αύξηση στην απόδοση σε σύγκριση με τον κλάδο 3.12. Το Agama θα μεταβεί σε μια αρχιτεκτονική βασισμένη σε συμβάντα, βασισμένη σε ασύγχρονες εισόδους/εξόδους ASIO, λειτουργούν κυρίως στο χώρο του χρήστη (για μείωση της εξάρτησης από τους μηχανισμούς προσωρινής αποθήκευσης πυρήνα). Επιπλέον, θα προσφερθεί ένα νέο υποσύστημα εντοπισμού σφαλμάτων και ένας αναλυτής δραστηριότητας δικτύου με υποστήριξη για αυτόματο συντονισμό απόδοσης.

Ο πελάτης LizardFS θα προσθέσει πλήρη υποστήριξη για λειτουργίες εγγραφής εκδόσεων, οι οποίες θα βελτιώσουν την αξιοπιστία της ανάκτησης από καταστροφή, θα επιλύσουν προβλήματα που προκύπτουν όταν διαφορετικοί πελάτες μοιράζονται την πρόσβαση στα ίδια δεδομένα και θα επιτρέψουν σημαντικές βελτιώσεις στην απόδοση. Ο πελάτης θα μεταφερθεί στο δικό του υποσύστημα δικτύου που λειτουργεί στο χώρο χρήστη. Το πρώτο λειτουργικό πρωτότυπο του LizardFS που βασίζεται στο Agama σχεδιάζεται να είναι έτοιμο το δεύτερο τρίμηνο του 2020. Ταυτόχρονα, υπόσχονται να εφαρμόσουν εργαλεία για την ενοποίηση του LizardFS με την πλατφόρμα Kubernetes.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο