Η επιλογή των συντακτών:

Διαφήμιση

Σπίτι - Ανάκτηση
Σύστημα αρχείων zfs πώς να συνδεθείτε με τα windows. Σύστημα αρχείων ZFS

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

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

  • Σύστημα αρχείων 128-bit, που καθιστά δυνατή την αποθήκευση σχεδόν απεριόριστων ποσοτήτων πληροφοριών. Στην πράξη, αυτό σημαίνει ότι το ZFS μπορεί θεωρητικά να αποθηκεύσει όγκους πληροφοριών που υπερβαίνουν τις σημερινές τεχνολογικές δυνατότητες, υπό την προϋπόθεση ότι χρησιμοποιείται η τρέχουσα προσέγγιση για την οργάνωση της αποθήκευσης δεδομένων.
  • Δίνεται μεγάλη προσοχή στην ακεραιότητα και την αξιοπιστία της αποθήκευσης τόσο των δεδομένων χρήστη όσο και των μεταδεδομένων FS· για αυτό χρησιμοποιούνται προηγμένοι αλγόριθμοι κατακερματισμού.
  • Υποστήριξη για στιγμιότυπα και πισίνες αποθήκευσης, χάρη στις οποίες το ZFS συνδυάζει τις δυνατότητες ενός συστήματος αρχείων και ενός συστήματος διαχείρισης όγκου (μια νέα έννοια των δεξαμενών αποθήκευσης).
  • Δεν χρειάζεται fsck χάρη σε αυτό το FS.
  • Παραδοσιακά, το ZFS θεωρείται ένα αρκετά ισχυρό σύστημα αρχείων. Ωστόσο, αυτή η δήλωση μερικές φορές τίθεται υπό αμφισβήτηση. Τουλάχιστον, οι συγκεκριμένοι αριθμοί εξαρτώνται σε μεγάλο βαθμό από τον τύπο της εργασίας στην οποία εκτελείται αυτή η συγκριτική αξιολόγηση απόδοσης.
  • Δυνατότητες για επιλεκτική συμπίεση και/ή κρυπτογράφηση μεμονωμένων αρχείων ή συστημάτων αρχείων.
  • Υποστήριξη για αυτόματη αναγνώριση και συγχώνευση (αποκλεισμός) διπλών αρχείων.
  • Το ZFS δεν υποστηρίζει ποσοστώσεις. Ή μάλλον, η υποστήριξή του για ποσοστώσεις είναι κάπως περίεργη: η έννοια της "κατανομής ποσοστώσεων" σημαίνει στην ορολογία του ZFS ότι περιορίζετε το μέγεθος του δημιουργημένου συστήματος αρχείων. Ο σχεδιασμός του συστήματος είναι τέτοιος ώστε σε κάθε χρήστη του ZFS θα πρέπει να εκχωρηθεί το δικό του σύστημα αρχείων με όλους τους σχετικούς περιορισμούς.
  • Ορισμένα προβλήματα δεν δημιουργούνται από ένα τεχνικό χαρακτηριστικό του FS - μια άδεια χρήσης κώδικα (CDDL) που δεν είναι συμβατή με την GPL.
  • Για να δείξω την καινοτομία του ZFS όχι μόνο στον τομέα των τεχνικών λύσεων, θα δώσω, ως παράδειγμα, τη δυνατότητα διαχείρισης των κύριων δυνατοτήτων του FS μέσω της διεπαφής ιστού.
  • Και, αφού, επαναλαμβάνω, το ZFS είναι εξαιρετικά μεγάλο στις δυνατότητες και τα χαρακτηριστικά του και απλά δεν είναι δυνατόν να τα αναφέρουμε όλα εδώ.

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

Αν προσθέσουμε εδώ τη σχετικά ώριμη ηλικία του και την πολύ καλή του κατάσταση από άποψη σταθερότητας κώδικα, τις καταιγίδες συναισθημάτων που προκάλεσαν την είδηση ​​για τη δημοσίευση του κωδικού του με ανοιχτή άδεια, καθώς και τη μεταφορά αυτού του καινοτόμου FS σε τόσο δημοφιλή λειτουργία συστήματα όπως FreeBSD, Linux, MacOS, γίνονται ξεκάθαρα. X.

Όσο για τις έντονα αρνητικές απαντήσεις σε αυτό το, χωρίς αμφιβολία, ήδη διάσημο σύστημα αρχείων, συνοψίζονται κυρίως στις ακόλουθες διατριβές. Ένας από τους κορυφαίους προγραμματιστές Linux, παρεμπιπτόντως, υπεύθυνος για την υποστήριξη του υποσυστήματος δίσκου του (Andrew Morton), ξέσπασε σε οργισμένες κατηγορίες της ZFS σε «τερατώδη παραβίαση των επιπέδων υλοποίησης».

Άντριου Μόρθαν, κύριος προγραμματιστής του υποσυστήματος δίσκου πυρήνα Linux

Μερικοί άλλοι προγραμματιστές έχουν συμμετάσχει μαζί του κατηγορώντας τη ZFS για τον "φρικτό σχεδιασμό" της και προς το παρόν μπορεί να ειπωθεί ότι Αντρέα Μόρτανπρος ZFS - " τρομερή παραβίαση των επιπέδων σχεδιασμού" Και " αδικαιολόγητο συνονθύλευμα κώδικα«— έχουν ήδη γίνει ένα είδος Internet meme, στο οποίο οι προγραμματιστές από την Oracle, το Linux, το RedHat, το FreeBSD και άλλα γνωστά έργα έχουν ήδη προσπαθήσει να απαντήσουν ερήμην.

Σε απάντηση σε αυτές τις επιθέσεις, ο κύριος προγραμματιστής του ZFS (Jeff Bonwick):

«Όλες αυτές οι κατηγορίες για παραβίαση του σχεδιασμού των επιπέδων υλοποίησης του συστήματος αρχείων, επειδή το ZFS συνδυάζει τη λειτουργικότητα ενός συστήματος αρχείων, ενός διαχειριστή τόμου και ενός ελεγκτή λογισμικού RAID. Υποθέτω ότι η απάντηση σε αυτό το παράπονο θα εξαρτηθεί από το τι εννοείτε με τη λέξη "παραβιάζει το επίπεδο σχεδιασμού".

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

Όποια θέση κι αν παίρνετε προσωπικά στο ZFS, υπάρχει τουλάχιστον ένα πράγμα που πρέπει να αναγνωρίσετε: Το ZFS είναι μια θεμελιωδώς νέα τεχνολογία στον κλάδο των συστημάτων αρχείων.

Το ZFS θα έπρεπε να είναι ωραίο, αλλά με ενοχλεί λίγο που φαίνεται να έχει κολλήσει στο παρελθόν - ακόμα και πριν αναγνωριστεί ως cool και το καλύτερο σύστημα αρχείων. Είναι άκαμπτο, στερείται σύγχρονης ενσωμάτωσης flash και δεν υποστηρίζεται άμεσα από τα περισσότερα λειτουργικά συστήματα. Αλλά αποθηκεύω όλα τα πολύτιμα δεδομένα μου στο ZFS επειδή παρέχει το καλύτερο επίπεδο ασφάλειας για ένα περιβάλλον SOHO (μικρό γραφείο/οικιακό γραφείο). Και για αυτο.

Η πρώτη οδηγία των συστημάτων αποθήκευσης: μην επιστρέφετε λανθασμένα δεδομένα!

Η επανάσταση του ZFS. 2006 περίπου

Από το 2007 έως το 2010: η ZFS κατηφόρισε

Αλλά κάτι τρομερό συνέβη στην ZFS στο δρόμο προς τον θρίαμβο της: μηνύσεις, προβλήματα αδειοδότησης και FUD - μια τακτική ψυχολογικής χειραγώγησης από κακούς.

Τα πρώτα σύννεφα καταιγίδας εμφανίστηκαν το 2007, όταν η NetApp μήνυσε τη Sun με την αιτιολογία ότι η ZFS παραβίασε τις πατέντες της WAFL. Η Sun άσκησε αγωγή την ίδια χρονιά - και η δικαστική διαμάχη κράτησε. Ενώ η ZFS σίγουρα δεν είχε κώδικα NetApp, ο μηχανισμός αντιγραφής σε εγγραφή για στιγμιότυπα ήταν παρόμοιος με το WAFL και ορισμένοι από εμάς στον κλάδο ανησυχούσαμε ότι η αγωγή του NetApp θα επηρέαζε τη διαθεσιμότητα ανοιχτού κώδικα του ZFS. Αυτοί οι κίνδυνοι ήταν αρκετοί για να σταματήσει η Apple να υποστηρίζει το ZFS στο Mac OS X 10.6 "Snow Leopard" ακριβώς πριν από την κυκλοφορία του λειτουργικού συστήματος.

Εδώ είναι ένα υπέροχο blog για το ZFS και την Apple από τον Adam Leventhal, ο οποίος εργάστηκε στο έργο στην εταιρεία: ZFS: Το νέο σύστημα αρχείων της Apple που δεν ήταν

Εκείνη την εποχή, η Sun περνούσε δύσκολες στιγμές και η Oracle εκμεταλλεύτηκε την ευκαιρία για να αγοράσει την εταιρεία. Αυτό έχει εγείρει νέες αμφιβολίες για το μέλλον της ZFS, καθώς η Oracle δεν είναι γνωστό ότι είναι μεγάλος θαυμαστής της ευρείας δημόσιας υποστήριξης για δωρεάν έργα. Και η άδεια CDDL που εφάρμοσε η Oracle στον κώδικα ZFS βρέθηκε ότι δεν είναι συμβατή με το GPLv2, το οποίο χρησιμοποιείται από το Linux, καθιστώντας αδύνατη τη χρήση του ZFS στο πιο δημοφιλές λειτουργικό σύστημα διακομιστή στον κόσμο.

Αν και το έργο OpenSolaris συνεχίστηκε μετά την εξαγορά της Oracle και το ZFS συμπεριλήφθηκε στο FreeBSD, αυτό ήταν σε μεγάλο βαθμό εκτός του επιχειρηματικού τομέα. Φυσικά, το NexentaStor και το GreenBytes συνέβαλαν στην ώθηση της ZFS στον επιχειρηματικό τομέα, αλλά η έλλειψη υποστήριξης της Oracle για διακομιστές Sun είχε επίσης αρχίσει να έχει αντίκτυπο.

Τι προβλήματα έχει αυτή τη στιγμή η ZFS;

Το OpenZFS δεν διαφέρει ουσιαστικά από το σύστημα αρχείων που ήταν πριν από δέκα χρόνια.

Πολλοί παραμένουν δύσπιστοι σχετικά με την αφαίρεση των αντιγράφων, η οποία απαιτεί πολλή ακριβή μνήμη. Και εννοώ ακριβό: Σχεδόν κάθε ZFS FAQ απαιτεί ρητά μνήμη μόνο ECC και τουλάχιστον 8 GB. Από τη δική μου εμπειρία με το FreeNAS, τα 32 GB είναι καλά για έναν ενεργό μικρό διακομιστή που εκτελεί ZFS και κοστίζει 200-300 $ ακόμη και στις σημερινές τιμές.

Και το ZFS ποτέ δεν προσαρμόστηκε πραγματικά στη μνήμη flash που είναι πλέον πανταχού παρούσα. Ενώ το flash μπορεί να χρησιμοποιηθεί για κρυφές μνήμες ZIL και L2ARC, είναι ένα αμφίβολο πλεονέκτημα για συστήματα με αρκετή μνήμη RAM και το ZFS δεν διαθέτει πραγματική δυνατότητα υβριδικής αποθήκευσης. Είναι αστείο το γεγονός ότι η τεκμηρίωση του ZFS είναι παντού και μιλάει για φλας SLC πολλών gigabyte όταν υπάρχουν ήδη μονάδες 3D NAND πολλών terabyte στην αγορά. Και κανείς δεν μιλάει για το NVMe, παρόλο που είναι το πρότυπο για υπολογιστές υψηλής τεχνολογίας.

Και υπάρχει επίσης το ζήτημα της ευελιξίας, ή μάλλον η έλλειψή της. Μόλις δημιουργήσετε έναν τόμο ZFS, είναι ουσιαστικά κλειδωμένος για μια ζωή. Υπάρχουν μόνο τρεις τρόποι για να επεκτείνετε το χώρο αποθήκευσης:

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

Εκτός από την τρίτη μέθοδο, δεν έχετε καμία επιλογή να συρρικνώσετε το ZFS pool. Ακόμη χειρότερα, δεν μπορείτε να αλλάξετε τον τύπο προστασίας δεδομένων χωρίς να δημιουργήσετε ξανά ολόκληρο το pool, συμπεριλαμβανομένης της προσθήκης ενός δίσκου δεύτερης και τρίτης ισοτιμίας. Το FreeNAS αφιερώνει ευσυνείδητα πολύ χρόνο προσπαθώντας να αποτρέψει τους αρχάριους από τη χρήση του RAID-Z1 και παραπονιέται αν το επιλέξουν ούτως ή άλλως.

Όλα αυτά μπορεί να φαίνονται σαν μικρές, ασήμαντες κουβέντες, αλλά μαζί στέλνουν υποκειμενικά το ZFS πίσω στον Μεσαίωνα μετά τη χρήση του Drobo, του Synology ή των σύγχρονων συστημάτων αποθήκευσης cloud. Με το ZFS πρέπει να "αγοράσετε δίσκους, να αγοράσετε πολλή μνήμη, να δημιουργήσετε μια συστοιχία RAID και να μην την αγγίξετε ποτέ ξανά", κάτι που δεν ταιριάζει με τη σύγχρονη χρήση αποθήκευσης.

Ποιες επιλογές;

Υποθέτω ότι δεν παρουσίασα το ZFS με πολύ ευνοϊκό τρόπο. Κάποτε ήταν επαναστατικό, αλλά τώρα αρχίζει να παρουσιάζει περιορισμούς και να ξεφεύγει από το πλαίσιο στον σύγχρονο κόσμο με την αποθήκευση δεδομένων flash. Υπάρχουν λοιπόν εναλλακτικές λύσεις;

Το Linux έχει μερικούς αξιοπρεπείς διαχειριστές τόμου και συστήματος αρχείων και οι περισσότεροι χρησιμοποιούν LVM ή MD και ext4. Οι άνθρωποι του συστήματος αρχείων είναι πολύ ενθουσιασμένοι με το Btrfs, το οποίο συνδυάζει τη λειτουργικότητα ενός διαχειριστή τόμου και ενός συστήματος αρχείων τύπου ZFS, αλλά με πρόσθετη ευελιξία πέρα ​​από αυτό που προσγειώθηκε το ReiserFS. Και το Btrfs θα μπορούσε πραγματικά να έχει γίνει "ZFS για Linux", αλλά η ανάπτυξη παραπάτησε πρόσφατα, μετά το τρομερό σφάλμα του περασμένου έτους με την απώλεια δεδομένων από τις επιδρομές RAID 5 και 6, και σχεδόν τίποτα άλλο δεν ακούγεται για αυτά. Αλλά εξακολουθώ να πιστεύω ότι σε πέντε χρόνια θα προτείνω στους χρήστες Linux να χρησιμοποιούν το Btrfs, ειδικά με τις ισχυρές δυνατότητές του για χρήση σε κοντέινερ.

Για τα Windows, η Microsoft πρόκειται επίσης να αναπτύξει το δικό της σύστημα αρχείων επόμενης γενιάς, το ReFS, χρησιμοποιώντας δέντρα B+ (παρόμοια με τα Btrfs), με τρελή κλιμάκωση και ανθεκτικότητα και δυνατότητες προστασίας δεδομένων. Σε συνδυασμό με το Storage Spaces, η Microsoft θα έχει ένα βιώσιμο σύστημα αποθήκευσης επόμενης γενιάς για Windows Server που θα μπορούσε ακόμη και να χρησιμοποιεί SSD και 3D-XPoint ως επίπεδο ή προσωρινή μνήμη.

Και μετά υπάρχει η Apple, η οποία φημολογείται ότι άλλαξε το σύστημα αποθήκευσης αρκετές φορές πριν καταλήξει στο APFS, το οποίο κυκλοφόρησε φέτος στο macOS High Sierra. Το APFS είναι από πολλές απόψεις παρόμοιο με το Btrfs και το ReFS, αν και υλοποιείται εντελώς διαφορετικά, με περισσότερη εστίαση στον χρήστη. Αν και είναι κατώτερο σε ορισμένους τομείς (τα δεδομένα χρήστη δεν αθροίζονται και η συμπίεση δεν υποστηρίζεται), το APFS είναι ακριβώς το σύστημα που χρειάζεστε για iOS και macOS. Και το APFS είναι το τελευταίο καρφί στο φέρετρο της ιδέας "ZFS σε Mac OS X".

Καθένα από τα τρία μεγάλα λειτουργικά συστήματα διαθέτει πλέον σύστημα αρχείων επόμενης γενιάς (και διαχείριση τόμου). Το Linux έχει Btrfs, τα Windows έχουν ReFS και Storage Spaces και το macOS έχει APFS. Το FreeBSD φαίνεται ότι παρέμεινε αφοσιωμένο στο ZFS, αλλά αυτό είναι ένα μικρό μέρος της αγοράς. Και κάθε σύστημα εταιρικής ποιότητας έχει ήδη προχωρήσει πολύ πέρα ​​από αυτό που μπορούν να κάνουν τα συστήματα εταιρικής ποιότητας που βασίζονται σε ZFS και ZFS από τη Sun, τη Nexenta και την iXsystems.

Αλλά το ZFS εξακολουθεί να είναι πολύ ανώτερο από τα παλαιότερα συστήματα αρχείων για τον οικιακό χρήστη. Λόγω της έλλειψης ελέγχου ακεραιότητας, πλεονασμού και ανάκτησης σφαλμάτων, τα NTFS (Windows), HFS+ (macOS) και ext3/4 (Linux) είναι εντελώς ακατάλληλα για μακροπρόθεσμη αποθήκευση δεδομένων. Ακόμη και τα ReFS και APFS, λόγω της έλλειψης ελέγχων ακεραιότητας, δεν είναι κατάλληλα όπου η απώλεια δεδομένων είναι απαράδεκτη.

Θέση συγγραφέα: Χρησιμοποιήστε το ZFS (προς το παρόν)

Είναι λυπηρό να πούμε, αλλά από το 2017, το ZFS είναι το καλύτερο σύστημα αρχείων για μακροπρόθεσμη αποθήκευση δεδομένων μεγάλης κλίμακας. Αν και μερικές φορές είναι δύσκολο να εργαστείς (εκτός από το FreeBSD, το Solaris και τις αποκλειστικές συσκευές), η αξιοπιστία και η αποδεδειγμένη φύση του ZFS το καθιστούν το μόνο αξιόπιστο εργαλείο για την αποθήκευση δεδομένων εκτός των συστημάτων αποθήκευσης επιχειρήσεων. Εξάλλου, η αξιόπιστη αποθήκευση δεδομένων είναι το μόνο πράγμα που υποτίθεται ότι πρέπει να κάνει ένα σύστημα αρχείων.

Στον κόσμο των συστημάτων *nix, τα συστήματα αρχείων ZFS και Btrfs γίνονται όλο και πιο δημοφιλή. Αυτή η δημοτικότητα αξίζει - σε αντίθεση με τους προκατόχους τους, στερούνται κάποια προβλήματα και έχουν πολλά αναμφισβήτητα πλεονεκτήματα. Και όχι πολύ καιρό πριν τους δόθηκε σταθερή κατάσταση. Όλα αυτά με ώθησαν να γράψω αυτό το άρθρο.

ΠΡΟΕΙΔΟΠΟΙΗΣΗ!

Ορισμένες από τις εντολές που περιγράφονται εδώ μπορούν να καταστρέψουν αμετάκλητα τα δεδομένα σας. Τριπλός έλεγχος της καταχώρισής σας πριν πατήσετε Enter.

Ίσως, πριν προχωρήσουμε στην πρακτική, είναι απαραίτητο να δώσουμε μερικές εξηγήσεις για το τι είναι νέας γενιάς συστήματα αρχείων. Θα ξεκινήσω με το ZFS. Αυτό το FS αναπτύχθηκε για το Solaris και αυτή τη στιγμή έχει διαχωριστεί στην έκδοση OpenZFS, καθώς η Oracle έχει κλείσει τον πηγαίο κώδικα. Στο μέλλον, το ZFS θα αναφέρεται ως πιρούνι. Εδώ είναι μερικά μόνο από τα βασικά χαρακτηριστικά του ZFS:

  • το μέγιστο μέγεθος του συστήματος αρχείων είναι τεράστιο σε σημείο που δεν μπορεί κανείς να φανταστεί.
  • πισίνες αποθήκευσης, οι οποίες σας επιτρέπουν να συνδυάσετε πολλές διαφορετικές συσκευές.
  • αθροίσματα ελέγχου επιπέδου συστήματος αρχείων, με δυνατότητα επιλογής αλγορίθμου.
  • με βάση την αρχή COW - τα νέα δεδομένα δεν αντικαθιστούν τα παλιά, αλλά τοποθετούνται σε άλλα μπλοκ, γεγονός που ανοίγει ευκαιρίες όπως στιγμιότυπα και διαγραφή δεδομένων.
  • συμπίεση δεδομένων on-the-fly - όπως και με τα αθροίσματα ελέγχου, υποστηρίζονται αρκετοί αλγόριθμοι.
  • τη δυνατότητα διαχείρισης του συστήματος αρχείων χωρίς επανεκκίνηση.

Τα Btrfs άρχισαν να αναπτύσσονται σε πείσμα του ZFS από την Oracle - ακόμη και πριν από την αγορά της Sun. Δεν θα περιγράψω τα χαρακτηριστικά του - είναι, γενικά, παρόμοια στο ZFS και στο Btrfs. Οι διαφορές από το ZFS είναι οι εξής:

  • υποστήριξη για εκδόσεις αρχείων (που ονομάζονται γενιές στην ορολογία Btrfs) - είναι δυνατή η προβολή μιας λίστας αρχείων που έχουν αλλάξει από τη δημιουργία του στιγμιότυπου.
  • έλλειψη υποστήριξης για zvol, εικονικές συσκευές μπλοκ στις οποίες μπορείτε να τοποθετήσετε, για παράδειγμα, ένα διαμέρισμα swap - αλλά αυτή η έλλειψη αντισταθμίζεται πλήρως από συσκευές loopback.

Παρουσιάζουμε το ZFSonLinux

Για να εγκαταστήσετε το ZFSonLinux, θα χρειαστείτε έναν επεξεργαστή 64-bit (32 είναι δυνατό, αλλά οι προγραμματιστές δεν υπόσχονται σταθερότητα σε αυτήν την περίπτωση) και, κατά συνέπεια, μια διανομή 64-bit με πυρήνα τουλάχιστον 2.6.26 - Χρησιμοποίησα Ubuntu 13.10. Θα πρέπει επίσης να υπάρχει αρκετή μνήμη - τουλάχιστον 2 GB. Υποτίθεται ότι τα βασικά πακέτα που απαιτούνται για τη δημιουργία και τη μεταγλώττιση των λειτουργικών μονάδων και του πυρήνα είναι ήδη εγκατεστημένα. Κατεβάστε επιπλέον πακέτα και κατεβάστε τα απαραίτητα tarball:

$ sudo apt-get install alien zlib1g-dev uuid-dev libblkid-dev libselinux-dev parted lsscsi wget $ mkdir zfs && cd $_ $ wget http://bit.ly/18CpniI $ wget http://bit.ly/ 1cEzO0V

Αποσυσκευάζουμε και τα δύο αρχεία, αλλά πρώτα συλλέγουμε SPL - το επίπεδο συμβατότητας Solaris, και μόνο μετά το ίδιο το ZFS. Σημειώνω ότι επειδή εγκαθιστούμε την πιο πρόσφατη έκδοση του ZFSonLinux, το DKMS (ένας μηχανισμός που σας επιτρέπει να αναδημιουργείτε αυτόματα τις τρέχουσες λειτουργικές μονάδες πυρήνα με προγράμματα οδήγησης συσκευών μετά την ενημέρωση της έκδοσης του πυρήνα) δεν είναι διαθέσιμο και εάν ο πυρήνας ενημερωθεί, θα πρέπει να επανασυναρμολογήστε τις συσκευασίες με το χέρι.

$ tar -xzf spl-0.6.2.tar.gz $ tar -xzf zfs-0.6.2.tar.gz $ cd spl-0.6.2 $ ./configure $ make deb-utils deb-kmod

Πριν από τη μεταγλώττιση του ZFS, πρέπει να εγκαταστήσετε κεφαλίδες και ταυτόχρονα θα εγκαταστήσουμε τα υπόλοιπα πρόσφατα μεταγλωττισμένα πακέτα:

$ sudo dpkg -i *.deb

Τέλος, συναρμολογούμε και εγκαθιστούμε το ZFS:

$ cd ../zfs-0.6.2 $ ./configure $ make deb-utils deb-kmod $ sudo dpkg -i *.deb


Μεταφορά του συστήματος αρχείων root στο ZFS με κρυπτογράφηση και δημιουργία RAIDZ

Ας υποθέσουμε ότι θέλετε ένα ασφαλές, κρυπτογραφημένο, αλλά ταυτόχρονα ανεκτικό σε σφάλματα σύστημα αρχείων. Στην περίπτωση των κλασικών συστημάτων αρχείων παλιάς γενιάς, θα έπρεπε να επιλέξετε μεταξύ κρυπτογράφησης και ανοχής σφαλμάτων, καθώς αυτά τα πράγματα είναι κάπως ασύμβατα. Στο ZFS, ωστόσο, είναι δυνατό να τα «κολλήσετε» μεταξύ τους. Η τρέχουσα ιδιόκτητη εφαρμογή αυτού του συστήματος αρχείων υποστηρίζει κρυπτογράφηση. Η ανοιχτή υλοποίηση με την έκδοση 28 του pool δεν το υποστηρίζει - αλλά τίποτα δεν σας εμποδίζει να χρησιμοποιήσετε το cryptsetup για να δημιουργήσετε έναν τόμο LUKS (ή πολλούς τόμους) και να αναπτύξετε ένα pool πάνω τους. Όσον αφορά την ανοχή σφαλμάτων, το ZFS υποστηρίζει τη δημιουργία συστοιχιών πολλών δίσκων. Αυτή η τεχνολογία ονομάζεται RAIDZ. Οι διάφορες παραλλαγές του του επιτρέπουν να επιβιώσει από την αποτυχία ενός έως τριών δίσκων και, λόγω ορισμένων χαρακτηριστικών του ZFS, είναι απαλλαγμένο από ένα από τα θεμελιώδη μειονεκτήματα των παραδοσιακών συστοιχιών RAID λωρίδας + ισοτιμίας - οπή εγγραφής (η κατάσταση με το RAID 5 / RAID 6, όταν κατά την εγγραφή ενεργών λειτουργιών και την απενεργοποίηση, τα δεδομένα στους δίσκους είναι τελικά διαφορετικά).

ΠΛΗΡΟΦΟΡΙΕΣ

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

Φυσικά, είναι πιο εύκολο αν δεν έχετε σύστημα - σε αυτήν την περίπτωση θα πρέπει να ενοχλείτε λιγότερο. Αλλά δεν ζούμε σε έναν ιδανικό κόσμο, οπότε θα σας πω πώς να μεταφέρετε ένα ήδη εγκατεστημένο σύστημα χωρίς διαμέρισμα /boot σε μια συστοιχία RAIDZ πάνω από τους τόμους LUKS.

Πρώτα απ 'όλα, πρέπει να δημιουργήσετε αυτό το διαμέρισμα - χωρίς αυτό, η μεταφορά θα είναι αδύνατη, καθώς το σύστημα απλά δεν θα εκκινήσει. Ας υποθέσουμε για απλότητα ότι υπάρχει ένα ενιαίο διαμέρισμα με το Ubuntu στο δίσκο και θέλουμε να δημιουργήσουμε ένα RAIDZ πρώτου επιπέδου (ανάλογο με το RAID 5, απαιτεί τουλάχιστον τρεις συσκευές, αλλά δεν βλέπω το νόημα να το κάνουμε RAIDZ σε υψηλότερα επίπεδα στο σπίτι). Χρησιμοποιώντας τον επεξεργαστή διαμερισμάτων που προτιμάτε, δημιουργούμε δύο διαμερίσματα - ένα με μέγεθος 256–512 MB, όπου θα βρίσκεται το /boot και ένα άλλο με μέγεθος όχι μικρότερο από το τρέχον ριζικό και επαναλαμβάνουμε την τελευταία διαδικασία σε όλα τρεις σκληροί δίσκοι. Ας ξαναδιαβάσουμε τον πίνακα κατατμήσεων με την εντολή

# partprobe /dev/disk/by-id/ata-VBOX_HARDDISK_VB203f5b52-a7ff5309

και δημιουργήστε ένα σύστημα αρχείων (ext3) σε ένα μικρότερο διαμέρισμα:

# mke2fs -j /dev/disk/by-id/ata-VBOX_HARDDISK_VB203f5b52-a7ff5309-part2 -L εκκίνηση

Φυσικά, στην περίπτωσή σας τα αναγνωριστικά του σκληρού δίσκου θα είναι διαφορετικά. Στη συνέχεια, πρέπει να κρυπτογραφήσετε το διαμέρισμα στο οποίο θα βρίσκεται ο τόμος LUKS και να επαναλάβετε αυτήν τη διαδικασία για όλα τα άλλα διαμερίσματα που θα φιλοξενήσουν τελικά τον πίνακα RAIDZ:

# cryptsetup -h=sha512 -c=aes-cbc-essiv:sha256 -s=256 -y luksFormat /dev/disk/by-id/ata-VBOX_HARDDISK_VB203f5b52-a7ff5309-part3 # cryptsetup -h=sha512 - cbc-essiv:sha256 -s=256 -y luksFormat /dev/disk/by-id/ata-VBOX_HARDDISK_VB2fdd0cb1-d6302c80-part1 # cryptsetup -h=sha512 -c=aes-cbc-essiv:sha256 - luksFormat /dev/disk/by-id/ata-VBOX_HARDDISK_VB781404e0-0dba6250-part1

Σύνδεση κρυπτογραφημένων τόμων:

# cryptsetup luksOpen /dev/disk/by-id/ata-VBOX_HARDDISK_VB203f5b52-a7ff5309-part3 crypto0 # cryptsetup luksΆνοιγμα /dev/disk/by-id/ata-VBOX_HARDDISK_VB2fdd0cb1cryptocet8 /disk/by- id/ata-VBOX_HARDDISK_VB781404e0-0dba6250-part1 crypto2

Και δημιουργήστε μια πισίνα ZFS:

# zpool create -o ashift=12 zroot raidz dm-name-crypto0 dm-name-crypto1 dm-name-crypto2

Στη συνέχεια, δημιουργούμε δύο ένθετα συστήματα αρχείων:

# zfs δημιουργία zroot/ROOT # zfs δημιουργία zroot/ROOT/ubuntu-1310-root

Ας αποπροσαρτήσουμε όλα τα συστήματα αρχείων ZFS και ας ορίσουμε ορισμένες ιδιότητες συστήματος αρχείων και πισίνας:

# zfs umount -a # zfs set mountpoint=/ zroot/ROOT/ubuntu-1310-root # zpool set bootfs=zroot/ROOT/ubuntu-1310-root zroot

Τέλος, εξάγουμε την πισίνα:

# zpool εξαγωγή zroot



Μετανάστευση και διαμόρφωση συστήματος

Αρχικά, αντιγράψτε τον κατάλογο /boot σε ένα μη κρυπτογραφημένο διαμέρισμα, έτσι ώστε να μπορείτε να εγκαταστήσετε τον bootloader εκεί:

# mkdir /mnt/boot # mount /dev/disk/by-label/boot /mnt/boot # cp -r /boot/* /mnt/boot/ # umount /mnt/boot

Μετά από αυτό, θα μετακινήσουμε το grub σε ένα ξεχωριστό διαμέρισμα /boot, για το οποίο θα προσθέσουμε τη γραμμή στο /etc/fstab

# <...>LABEL=boot /boot ext3 errors=remount-ro 0 0

Τοποθετήστε και αναδημιουργήστε τη διαμόρφωση grub:

# grub-mkconfig -o /boot/grub/grub.cfg

Για έλεγχο, επανεκκινήστε. Εάν όλα είναι καλά, διαγράψτε τα παλιά περιεχόμενα του καταλόγου /boot, θυμηθείτε να αποσυνδέσετε πρώτα το διαμέρισμα.

Ήρθε η ώρα να κλωνοποιήσουμε το Ubuntu. Ολόκληρη η διαδικασία κλωνοποίησης περιγράφεται στην πλήρη έκδοση του άρθρου, την οποία μπορείτε να βρείτε στον ιστότοπο ][, εδώ θα θίξω επίσης ορισμένες λεπτές αποχρώσεις που σχετίζονται με το ZFS. Για κανονική φόρτωση από το χώρο συγκέντρωσης ZFS, χρειάζονται μερικά σενάρια initramfs. Ευτυχώς, δεν χρειάζεται να τα εφεύρετε - βρίσκονται στο GitHub. Κάντε λήψη του αποθετηρίου (όλες οι ενέργειες εκτελούνται στο chroot):

# git clone http://bit.ly/1esoc8i

Και αντιγράψτε τα αρχεία στις απαιτούμενες θέσεις. Η μόνη αλλαγή που έκανα ήταν να αντικαταστήσω το rpool pool με zroot. Τώρα πρέπει να γράψετε το hostid στο αρχείο /etc/hostid. Αυτό πρέπει να γίνει επειδή το ZFS μεταφέρεται από το Solaris και το επίπεδο συμβατότητας το απαιτεί:

# hostid >/etc/hostid

Τέλος, πρέπει να δημιουργήσουμε τα initramfs. Μην χρησιμοποιείτε ποτέ το update-initramfs . Αντικαθιστά το υπάρχον αρχείο και εάν προκύψουν δυσκολίες, η εκκίνηση από ένα κανονικό σύστημα θα είναι προβληματική. Χρησιμοποιήστε την εντολή αντί

# mkinitramfs -o /boot/initrd.img-$(uname -r)-crypto-zfs

Το διαμέρισμα /boot πρέπει να προσαρτηθεί.

Στη συνέχεια, πρέπει να προσθέσετε ένα στοιχείο μενού στο γκρουπ. Λόγω μιας αρκετά δύσκολης διαμόρφωσης (τρεις κρυπτόβολοι, στην κορυφή των οποίων υπάρχει ένα σύστημα αρχείων που δεν είναι αρκετά τυπικό για το Linux), αυτό δεν ήταν δυνατό να γίνει στο chroot, οπότε το βγάζουμε στο κύριο (προς το παρόν) σύστημα και προσθέστε κάτι σαν τις ακόλουθες γραμμές:

# vi /etc/grub.d/40_custom menuentry "Ubuntu crypto ZFS" ( #<...>linux /vmlinuz-3.11.0-14-generic boot=zfs rpool=zroot initrd /initrd.img-3.11.0-14-generic-crypto-zfs )

Εκτελούμε το update-grub, κάνουμε επανεκκίνηση, επιλέγουμε ένα νέο στοιχείο μενού και απολαμβάνουμε.

Συντονισμός ZFS και χρήσιμα κόλπα με το Btrfs

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

Στην περίπτωση χρήσης Btrfs δεν παρατηρούνται ιδιαίτερα προβλήματα. Παρ 'όλα αυτά, ορισμένες λεπτές αποχρώσεις εξακολουθούν να υπάρχουν - ειδικά εάν υπάρχει η επιθυμία όχι απλώς να "το ρυθμίσετε και να το ξεχάσετε", αλλά να χρησιμοποιήσετε νέες ευκαιρίες. Θα μιλήσω για μερικά από αυτά παρακάτω.

Απενεργοποιήστε τις αλλαγές χρόνου πρόσβασης στα αρχεία και βελτιστοποιήστε για μονάδες SSD

Όπως γνωρίζετε, στα συστήματα *nix, κάθε φορά που αποκτάτε πρόσβαση σε αρχεία, ο χρόνος πρόσβασης σε αυτά αλλάζει. Αυτό προκαλεί κάθε φορά ηχογράφηση στα ΜΜΕ. Εάν εργάζεστε με πολλά αρχεία ταυτόχρονα ή έχετε μονάδα SSD, αυτό μπορεί να μην είναι αποδεκτό. Στα κλασικά συστήματα αρχείων, για να απενεργοποιήσετε την εγγραφή στο atime, έπρεπε να προσθέσετε την επιλογή noatime στις επιλογές της εντολής mount ή στο /etc/fstab. Στο ZFS, η ακόλουθη εντολή χρησιμοποιείται για να το απενεργοποιήσετε (φυσικά, στην περίπτωσή σας το FS μπορεί να είναι διαφορετικό):

# zfs set atime=off zroot/ROOT/ubuntu-1310-root

Στο Btrfs, εκτός από την προαναφερθείσα επιλογή noatime, υπάρχει μια επιλογή ssd και μια πιο βελτιστοποιητική ssd_spread. Το πρώτο από αυτά, ξεκινώντας από τον πυρήνα 2.6.31, εγκαθίσταται συνήθως αυτόματα, το δεύτερο προορίζεται για φθηνούς δίσκους SSD (επιταχύνει τη λειτουργία τους).

ZFS - αντιγραφή αρχείων

Όταν εργάζεστε με πολύ σημαντικά δεδομένα, μερικές φορές υπάρχει μια τρομακτική σκέψη ότι θα διακοπεί το ρεύμα ή ένας από τους σκληρούς δίσκους θα αποτύχει. Το πρώτο είναι πολύ πιθανό σε ρωσικές συνθήκες και το δεύτερο, αν και απίθανο, συμβαίνει επίσης. Ευτυχώς, οι προγραμματιστές του ZFS φαίνεται να το έχουν αντιμετωπίσει περισσότερες από μία φορές και έχουν προσθέσει μια επιλογή για την αντιγραφή δεδομένων. Σε αυτήν την περίπτωση, εάν είναι δυνατόν, τα αρχεία τοποθετούνται σε ανεξάρτητους δίσκους. Ας υποθέσουμε ότι έχετε FS zroot/HOME/home-1310. Για να ορίσετε τη σημαία διπλασιασμού, πληκτρολογήστε την ακόλουθη εντολή:

# zfs set copies=2 zroot/HOME/home-1310

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

Απενεργοποίηση αυτόματης τοποθέτησης στο ZFS

Κατά τη σύνδεση μιας πισίνας, από προεπιλογή όλα τα ένθετα συστήματα αρχείων προσαρτώνται αυτόματα. Αυτό μπορεί να προκαλέσει κάποια σύγχυση, καθώς, για παράδειγμα, στην περίπτωση της παραπάνω διαμόρφωσης, ο χρήστης δεν χρειάζεται πρόσβαση ούτε στο zroot ούτε στο zroot/ROOT. Είναι δυνατό να απενεργοποιήσετε την αυτόματη προσάρτηση χρησιμοποιώντας τις ακόλουθες δύο εντολές (για αυτήν την περίπτωση):

# zfs set canmount=noauto zroot/ROOT # zfs set canmount=noauto zroot

Συμπίεση δεδομένων

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

# zfs ορίστε συμπίεση=στο zroot/ROOT/var-log

Στο Btrfs, για να ενεργοποιήσετε τη συμπίεση πρέπει να βάλετε την επιλογή συμπίεσης στο /etc/fstab.

Αυτόματη δημιουργία στιγμιότυπων στο ZFS

Όπως γνωρίζετε, το ZFS σας επιτρέπει να δημιουργείτε στιγμιότυπα. Ωστόσο, είναι τεμπέλικο να τα δημιουργήσετε με στυλό και υπάρχει πιθανότητα απλά να το ξεχάσετε. Το Solaris έχει μια υπηρεσία Time Slider για την αυτοματοποίηση αυτής της διαδικασίας, αλλά είναι καταστροφή! - αν και χρησιμοποιεί λειτουργίες ZFS, δεν αποτελεί μέρος του, επομένως δεν περιλαμβάνεται στο ZFSonLinux. Αλλά μην ανησυχείτε: υπάρχει ένα σενάριο για την αυτόματη δημιουργία τους και για Linux. Ας το κατεβάσουμε και ας ορίσουμε τα απαραίτητα δικαιώματα:

# wget -O /usr/local/sbin/zfs-auto-snapshot.sh http://bit.ly/1hqcw3r # chmod +x /usr/local/sbin/zfs-auto-snapshot.sh

Ας αλλάξουμε πρώτα το πρόθεμα για τα στιγμιότυπα, αφού από προεπιλογή δεν είναι ιδιαίτερα «αφηγήσιμο». Για να το κάνετε αυτό, αλλάξτε την παράμετρο opt_prefix στο σενάριο από zfs-auto-snap σε στιγμιότυπο. Στη συνέχεια, ας ορίσουμε μερικές μεταβλητές συστήματος αρχείων:

# zfs set com.sun:auto-snapshot=true zroot/ROOT/ubuntu-1310-root # zfs set snapdir=visible zroot/ROOT/ubuntu-1310-root

Η πρώτη παράμετρος χρειάζεται για το σενάριο, ενώ η δεύτερη επιτρέπει την άμεση πρόσβαση στα στιγμιότυπα, κάτι που χρειάζεται και για το σενάριο.

Τώρα μπορείτε να δημιουργήσετε ένα σενάριο για το cron (/etc/cron.daily/autosnap). Σκεφτείτε την περίπτωση που πρέπει να δημιουργείτε στιγμιότυπα κάθε μέρα και να τα αποθηκεύετε για ένα μήνα:

#!/bin/bash ZFS_FILESYS="zroot/ROOT/ubuntu-1310-root" /usr/local/sbin/zfs-auto-snapshot.sh --quiet --syslog --label=daily --keep=31 " $ZFS_FILESYS"

Για να προβάλετε τα δημιουργημένα στιγμιότυπα, χρησιμοποιήστε την εντολή zfs list -t snapshot και για να επαναφέρετε την κατάσταση, χρησιμοποιήστε το zfs rollback snapshot_name.

ZFS - ένα περίπλοκο παράδειγμα

Ακολουθούν εντολές που δημιουργούν πολλαπλά συστήματα αρχείων σε μια ομάδα για διαφορετικούς σκοπούς και καταδεικνύουν την ευελιξία του ZFS.

# zfs create -o compression=on -o mountpoint=/usr zroot/ROOT/usr # zfs create -o compression=on -o setuid=off -o mountpoint=/usr/local /zroot/ROOT/usr-local # zfs create -o compression=on -o exec=off -o setuid=off -o mountpoint=/var/crash zroot/ROOT/var-crash # zfs create -o exec=off -o setuid=off -o mountpoint=/var /db zroot/ROOT/var-db # zfs create -o compression=on -o exec=off -o setuid=off -o mountpoint=/var/log zroot/ROOT/var-log # zfs create -o compression=gzip -o exec=off -o setuid=off -o mountpoint=/var/mail zroot/ROOT/var-mail # zfs create -o exec=off -o setuid=off -o mountpoint=/var/run zroot/ROOT/ var-run # zfs create -o exec=off -o setuid=off -o copies=2 -o mountpoint=/home zroot/HOME/home # zfs create -o exec=off -o setuid=off -o copies=3 -o mountpoint=/home/rom zroot/HOME/home-rom

Ανασυγκρότηση Btrfs

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

# btrfs ανασυγκρότηση συστήματος αρχείων /

Σε παλαιότερους πυρήνες, αυτή η διαδικασία διέγραψε όλα τα αντίγραφα COW, όπως στιγμιότυπα και μη διπλότυπα δεδομένα, οπότε αν τα χρησιμοποιήσετε σε πυρήνες παλαιότερους από 2.6.37, η ανασυγκρότηση θα σας βλάψει.

RAID στο Btrfs

Όπως και με το ZFS, το Btrfs υποστηρίζει πίνακες πολλαπλών τόμων, αλλά σε αντίθεση με το ZFS ονομάζονται κλασικά. Προς το παρόν, ωστόσο, υποστηρίζονται μόνο τα RAID 0, RAID 1 και συνδυασμός και των δύο, το RAID 5 είναι ακόμα σε δοκιμή άλφα. Για να δημιουργήσετε έναν νέο πίνακα RAID 10, απλώς χρησιμοποιήστε αυτήν την εντολή (με τις συσκευές σας):

# mkfs.btrfs /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

Λοιπόν, εάν πρέπει να μετατρέψετε ένα υπάρχον σύστημα αρχείων σε RAID, τότε υπάρχουν εντολές για αυτό:

# btrfs συσκευή προσθήκη /dev/sdb1 /dev/sdc1 /dev/sdd1 / # btrfs balance start -dconvert=raid10 -mconvert=raid10 /

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

Στιγμιότυπα Btrfs

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

# btrfs subvol snap -r / /.snapshots/2013-12-16-17-41

Περισσότερες πληροφορίες σχετικά με τη δημιουργία στιγμιότυπων, χειροκίνητων και αυτόματων, μπορείτε να βρείτε στο άρθρο «Airbag», που δημοσιεύτηκε στο τεύχος Απριλίου 2013 του ][. Εδώ θα σας πω πώς, εάν έχετε ένα στιγμιότυπο, μπορείτε να παρακολουθείτε ποια αρχεία έχουν αλλάξει από τη δημιουργία του. Για το σκοπό αυτό, το Btrfs έχει τη λεγόμενη δημιουργία αρχείων. Αυτή η δυνατότητα χρησιμοποιείται για εσωτερικούς σκοπούς, αλλά υπάρχει μια εντολή που σας επιτρέπει να προβάλετε τη λίστα με τις πρόσφατες αλλαγές - θα τη χρησιμοποιήσουμε. Πρώτα ανακαλύπτουμε την τρέχουσα γενιά αρχείων:

# btrfs subvol find-new / 99999999

Εάν δεν υπάρχει τέτοια γενιά (πράγμα που είναι σχεδόν βέβαιο), θα παραχθεί η τελευταία. Τώρα ας εκτελέσουμε την ίδια εντολή στο στιγμιότυπο:

# btrfs subvol find-new /.snapshots/2013-12-17-14-28 99999999

Εάν οι γενιές διαφέρουν, και θα διαφέρουν, τότε εξετάζουμε ποια αρχεία έχουν αλλάξει από τότε που δημιουργήθηκε το στιγμιότυπο. Στην περίπτωσή μου η εντολή ήταν η εξής:

#btrfs subvol find-new/96 | awk "( print $17 )" | ταξινόμηση | uniq

Το NILFS2 είναι ένα άλλο σύστημα αρχείων με υποστήριξη COW

Ξεκινώντας με τον πυρήνα 2.6.30, το Linux πρόσθεσε υποστήριξη για ένα άλλο FS - NILFS2. Αυτή η συντομογραφία σημαίνει νέα υλοποίηση ενός συστήματος αρχείων δομημένου καταγραφής. Το κύριο χαρακτηριστικό αυτού του FS είναι ότι μία φορά κάθε λίγα δευτερόλεπτα, δημιουργούνται αυτόματα σημεία ελέγχου - ένα κατά προσέγγιση ανάλογο στιγμιότυπων με μία διαφορά: μετά από κάποιο χρονικό διάστημα διαγράφονται από τον συλλέκτη σκουπιδιών. Ο χρήστης, όμως, μπορεί να μετατρέψει είτε ένα σημείο ελέγχου σε στιγμιότυπο, με αποτέλεσμα να γίνεται αόρατο στον σκουπιδοσυλλέκτη είτε το αντίστροφο. Έτσι, το NILFS2 μπορεί να θεωρηθεί ως ένα είδος «Wikipedia», όπου καταγράφονται τυχόν αλλαγές. Λόγω αυτής της δυνατότητας - εγγραφή νέων δεδομένων όχι πάνω από υπάρχοντα, αλλά σε νέα μπλοκ - είναι τέλειο για μονάδες SSD, όπου, όπως γνωρίζετε, η αντικατάσταση δεδομένων δεν είναι ευπρόσδεκτη.

Ναι, το NILFS2 δεν είναι τόσο διάσημο όσο το ZFS ή το Btrfs. Αλλά σε ορισμένες περιπτώσεις η χρήση του θα είναι πιο δικαιολογημένη.

συμπέρασμα

Μπορεί να φαίνομαι υποκειμενικός, αλλά το ZFS, σε σύγκριση με το Btrfs, κερδίζει. Πρώτον, ορισμένα από τα χαρακτηριστικά του Btrfs είναι ακόμα σε σπάργανο, παρά το γεγονός ότι είναι άνω των πέντε ετών. Δεύτερον, το ZFS, καθώς όλα τα άλλα πράγματα είναι ίσα, είναι πιο δοκιμασμένο. Και τρίτον, υπάρχουν περισσότερα εργαλεία για την εργασία με το ZFS καθώς και οι δυνατότητές του.

Από την άλλη, όσο καλό κι αν είναι το ZFS, για λόγους αδειοδότησης είναι απίθανο να συμπεριληφθεί ποτέ στον κύριο πυρήνα. Έτσι, εκτός εάν εμφανιστεί κάποιος άλλος ανταγωνιστής, θα πρέπει να χρησιμοποιήσετε το Btrfs.

Facebook και Btrfs

Τον Νοέμβριο του 2013, ο επικεφαλής της ομάδας ανάπτυξης Btrfs, Chris Mason, μετακόμισε στο Facebook. Το ίδιο έκανε και ο Joseph Batsik, συντηρητής του btrfs-next. Έγιναν μέρος του τμήματος της εταιρείας που ειδικεύεται στην ανάπτυξη χαμηλού επιπέδου, όπου τώρα εργάζονται στον πυρήνα του Linux - συγκεκριμένα, εργάζονται σε Btrfs. Οι προγραμματιστές δήλωσαν επίσης ότι το Facebook ενδιαφέρεται για την ανάπτυξη του Btrfs, επομένως η κοινότητα δεν έχει κανέναν απολύτως λόγο να ανησυχεί.

Σήμερα, τα συστήματα αρχείων επόμενης γενιάς, τα οποία έχουν ευρύτερη λειτουργικότητα από τα συμβατικά συστήματα αρχείων, κερδίζουν ολοένα και μεγαλύτερη δημοτικότητα. Μερικά από αυτά τα συστήματα αρχείων είναι Btrfs και ZFS. Και τα δύο έχουν ήδη γίνει αρκετά σταθερά και χρησιμοποιούνται ενεργά από τους χρήστες. Για πολλούς χρήστες, η ασφάλεια των δεδομένων είναι πολύ σημαντική και τέτοια συστήματα αρχείων μπορούν να την παρέχουν με τον καλύτερο δυνατό τρόπο.

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

Το ZFS είναι ένα σύστημα αρχείων σε συνδυασμό με έναν λογικό διαχειριστή τόμου Το σύστημα αρχείων κυκλοφόρησε με την άδεια κοινής ανάπτυξης και διανομής ανοιχτού κώδικα (CDDL). Σχεδιάστηκε για διακομιστές υψηλής απόδοσης, επομένως υποστήριζε ήδη στιγμιότυπα και κλωνοποίηση δεδομένων. Αλλά αφού το αγόρασε η Oracle, ο πηγαίος κώδικας έκλεισε και η κοινότητα δημιούργησε ένα πιρούνι της πιο πρόσφατης διαθέσιμης έκδοσης με το όνομα OpenZFS. Αυτό το σύστημα αρχείων μπορεί τώρα να εγκατασταθεί και να χρησιμοποιηθεί.

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

Τα χαρακτηριστικά μοιάζουν πολύ με τα Btrfs, αλλά υπάρχουν κάποιες διαφορές. Στο Btrfs μπορείτε να δείτε όλα τα αρχεία που άλλαξαν από το τελευταίο στιγμιότυπο. Η δεύτερη διαφορά είναι η απουσία λογικών μπλοκ zvol στο Btrfs.

Εγκατάσταση ZFS

Σε πρόσφατες εκδόσεις του Ubuntu, το σύστημα αρχείων ZFS έχει προστεθεί στο επίσημο αποθετήριο και στο δίσκο εγκατάστασης. Επομένως, για να το εγκαταστήσετε, αρκεί να εκτελέσετε μερικές εντολές:

sudo apt install -y zfs

Σε άλλες διανομές. για παράδειγμα, CentOS ή Fedora η κατάσταση είναι λίγο πιο περίπλοκη, πρώτα θα πρέπει να προσθέσετε το επίσημο αποθετήριο και στη συνέχεια να εγκαταστήσετε το zfs και το ίδιο το σύνολο βοηθητικών προγραμμάτων και λειτουργικών μονάδων πυρήνα:

εγκατάσταση sudo yum http://download.zfsonlinux.org/epel/zfs-release.el7_3.noarch.rpm
$ sudo yum εγκατάσταση zfs

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

sudo modprobe zfs

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

εντολή zpool

Αυτό είναι το κύριο εργαλείο για τη διαχείριση των κατατμήσεων και της λειτουργικότητας του ZFS, επομένως είναι σημαντικό να το κατακτήσετε. Η γενική σύνταξη της εντολής είναι αρκετά απλή, αλλά έχει πολλές υποεντολές που έχουν τη δική τους σύνταξη και παραμέτρους:

Επιλογές συσκευής παραμέτρων εντολής $ zpool

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

  • Προσθήκη- προσθέστε ένα τμήμα σε μια υπάρχουσα πισίνα.
  • συνδέω- προσθέστε ένα διαμέρισμα ή έναν σκληρό δίσκο στο χώρο συγκέντρωσης συστήματος αρχείων.
  • ΚΑΘΑΡΗ- εκκαθάριση όλων των σφαλμάτων του δίσκου.
  • δημιουργώ- Δημιουργήστε ένα νέο pool από ένα φυσικό διαμέρισμα στο οποίο θα τοποθετηθούν εικονικοί δίσκοι.
  • καταστρέφω- διαγράψτε την πισίνα διαμερισμάτων zfs.
  • αποσπώ- αποσυνδέστε το φυσικό διαμέρισμα από την πισίνα.
  • εκδηλώσεις- προβολή μηνυμάτων πυρήνα που αποστέλλονται από τη μονάδα zfs.
  • εξαγωγή- εξαγωγή της πισίνας για μεταφορά σε άλλο σύστημα.
  • παίρνω- προβολή των παραμέτρων της πισίνας.
  • σειρά- ορίστε την τιμή της μεταβλητής.
  • ιστορία- εμφάνιση ιστορικού εντολών zfs.
  • εισαγωγή- πισίνα εισαγωγής
  • ιοστατ- εμφάνιση στατιστικών I/O για την επιλεγμένη ομάδα zfs.
  • λίστα- εμφάνιση μιας λίστας με όλες τις πισίνες.
  • offline/online- απενεργοποιήστε/ενεργοποιήστε τη φυσική συσκευή, τα δεδομένα αποθηκεύονται σε αυτήν, αλλά δεν μπορούν να διαβαστούν ή να τροποποιηθούν.
  • αφαιρώ- αφαιρέστε μια συσκευή από την πισίνα.
  • αντικαθιστώ- μεταφορά όλων των δεδομένων από την παλιά συσκευή στη νέα.
  • σφουγγάρισμα- έλεγχος αθροισμάτων ελέγχου για όλα τα δεδομένα.
  • κατάσταση- εμφάνιση της κατάστασης της πισίνας.

Αυτές ήταν όλες οι βασικές επιλογές εντολών που θα χρησιμοποιήσουμε. Τώρα ας δούμε παραδείγματα ρύθμισης zfs και διαχείρισης κατατμήσεων.

Πώς να χρησιμοποιήσετε το ZFS

Η ρύθμιση του ZFS δεν διαφέρει πολύ από το Btrfs, όλα τα βασικά βήματα είναι πολύ απλά, θα το δείτε μόνοι σας.

Δημιουργία συστήματος αρχείων

Αρχικά, ας δούμε αν υπάρχουν ήδη δημιουργημένες δεξαμενές ZFS. Για να το κάνετε αυτό, εκτελέστε την ακόλουθη εντολή:

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

sudo zpool δημιουργία -f pool0 /dev/sda6

Αν και μπορείτε να χρησιμοποιήσετε όχι μόνο ένα διαμέρισμα, αλλά έναν ολόκληρο δίσκο. Τώρα κοιτάξτε ξανά τη λίστα με τις πισίνες:

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

sudo zpool δημιουργία pool0 zraid /dev/sda /dev/sdb /dev/sdc

Λάβετε υπόψη ότι οι δίσκοι πρέπει να έχουν το ίδιο διαμέρισμα. Εάν δεν χρειάζεστε RAID, μπορείτε να ρυθμίσετε το κανονικό mirroring στη δεύτερη μονάδα δίσκου. Αυτό αυξάνει την αξιοπιστία της αποθήκευσης δεδομένων:

sudo zpool δημιουργία pool0 mirror sda sdb

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

Μπορείτε να προσθέσετε έναν νέο σκληρό δίσκο ή ένα διαμέρισμα στην πισίνα:

sudo zpool επισυνάψτε το pool0 /dev/sdd

Ή αφαιρέστε μια συσκευή από την πισίνα:

sudo zpool detach pool0 /dev/sdd

Για να διαγράψετε ένα pool, χρησιμοποιήστε την εντολή καταστροφής:

sudo zpool καταστρέφει την πισίνα0

Για να ελέγξετε το διαμέρισμα για σφάλματα, χρησιμοποιήστε την εντολή scrub:

sudo zpool scrub pool0

Μπορείτε να δείτε τα στατιστικά στοιχεία χρήσης της ομάδας χρησιμοποιώντας την εντολή iostat:

sudo zpool iostat pool0

Συστήματα αρχείων ZFS

Τώρα πρέπει να δημιουργήσετε συστήματα αρχείων στη νέα πισίνα. Ας δημιουργήσουμε τρία συστήματα αρχείων, δεδομένα, αρχεία και πολυμέσα. Για να το κάνετε αυτό, χρησιμοποιήστε την εντολή zfs:

Το sudo zfs δημιουργεί pool0/data
Το $ sudo zfs δημιουργεί pool0/αρχεία
$ sudo zfs δημιουργία pool0/media

Τοποθέτηση ZFS

Το σημείο προσάρτησης για το pool και για κάθε σύστημα αρχείων που δημιουργείται σε αυτό δημιουργείται στον ριζικό κατάλογο. Για παράδειγμα, στην περίπτωσή μας τα σημεία προσάρτησης μοιάζουν με αυτό:

Ή μπορείτε να χρησιμοποιήσετε αυτήν την εντολή:

Για να αποπροσαρτήσετε το σύστημα αρχείων για ένα από τα δημιουργημένα διαμερίσματα, χρησιμοποιήστε την εντολή zfs umount:

sudo zfs umount /pool0/data

Στη συνέχεια, μπορείτε να το επανατοποθετήσετε:

sudo zfs mount pool0/data

Επιλογές συστήματος αρχείων

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

Το sudo zfs παίρνει όλα τα pool0/αρχεία

Αρχικά, ας ενεργοποιήσουμε τη συμπίεση:

sudo zfs set compression=gzip pool0/αρχεία

Στη συνέχεια, απενεργοποιήστε την επαλήθευση αθροίσματος ελέγχου:

sudo zfs set checksum=off pool0/αρχεία

Ας δούμε το σημείο προσάρτησης:

Το sudo zfs παίρνει mountpoint pool0/αρχεία

Στη συνέχεια εγκαταστήστε το δικό μας:

sudo zfs set mountpoint=/mnt pool0/αρχεία

Τώρα το διαμέρισμα θα προσαρτηθεί στο /mnt, οι ρυθμίσεις μπορούν να αλλάξουν για κάθε διαμέρισμα.

Στιγμιότυπα ZFS

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

sudo zfs στιγμιότυπο pool0/files pool0/files@shot1

Για να επαναφέρετε τη χρήση:

sudo zfs rollback pool0/files@shot1

Μπορείτε να δείτε τη λίστα εικόνων με την εντολή:

sudo zfs list -t στιγμιότυπο

Και για να διαγράψετε μια περιττή φωτογραφία:

sudo zfs destory pool0/files@shot1

συμπεράσματα

Σε αυτό το άρθρο εξετάσαμε πώς λειτουργεί το σύστημα αρχείων zfs, πώς διαμορφώνεται το zfs και πώς να το χρησιμοποιήσετε. Αυτό είναι ένα πολλά υποσχόμενο σύστημα αρχείων, με ένα τεράστιο σύνολο δυνατοτήτων που μπορούν να ταιριάζουν, και σε ορισμένους τομείς ακόμη και να ξεπερνούν, τα Btrfs. Ελπίζω ότι αυτές οι πληροφορίες ήταν χρήσιμες για εσάς, εάν έχετε οποιεσδήποτε ερωτήσεις, ρωτήστε στα σχόλια!

Το σύστημα αρχείων ZFS είναι η βάση για αξιόπιστη και φθηνή αποθήκευση δεδομένων

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

  • Πρώτο μέρος
  • Το δεύτερο μέρος

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

Εισαγωγή στο ZFS

Συντομογραφία ZFSπροήλθε από τη φράση zettabyte file system, υποδηλώνοντας έτσι ένα από τα πιο σύγχρονα και προηγμένα συστήματα αρχείων. Για παράδειγμα, ήδη από το όνομα προκύπτει ότι αυτό είναι ένα zettabyte σύστημα αρχείων, για να είμαστε πιο ακριβείς, αυτό το FS υποστηρίζει 256 τετρασεκατομμύρια zettabytes. Για αναφορά, ένα zettabyte ισούται με 1.073.741.824 terabyte!

Ας με συγχωρήσουν οι αναγνώστες, αλλά δεν θα υπάρξουν σημαντικές ακαδημαϊκές δηλώσεις σε αυτό το άρθρο. Προτείνω να επικεντρωθούμε άμεσα στην πρακτική πτυχή, δηλαδή στη δημιουργία μιας αποθήκης δεδομένων με ανοχή σε σφάλματα και επεκτάσιμη. Τέτοιοι αποθηκευτικοί χώροι σίγουρα κατασκευάζονται χρησιμοποιώντας τεχνολογίες συστοιχίας RAID και το σύστημα αρχείων ZFS έχει το δικό του τυπικό εργαλείο για την εργασία με φυσικούς δίσκους και την οργάνωσή τους σε RAID-Zσυστοιχίες (ανάλογες με το RAID5). Επιπλέον, σε αντίθεση με παρόμοιες τεχνολογίες, αυτό το FS ανακτά ανεξάρτητα τα κατεστραμμένα μπλοκ και τα διορθώνει εν κινήσει χωρίς την παρέμβαση του χρήστη. Το RAID-Z ελέγχει συνεχώς δεδομένα για να διατηρήσει την ακεραιότητα των δεδομένων και μπορεί να εντοπίσει μπλοκ που απαιτούν επανασυναρμολόγηση. Αυτό γίνεται πριν φτάσουν στον χρήστη τα ζητούμενα δεδομένα.

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

Υποστήριξη λειτουργικού συστήματος

Το ZFS αναπτύχθηκε αρχικά από τη Sun Microsystems για το λειτουργικό σύστημα Solaris. Τώρα, χάρη σε μια σειρά έργων, αυτό το σύστημα αρχείων έχει γίνει διαθέσιμο για άλλα λειτουργικά συστήματα. Αυτά περιλαμβάνουν - εκτός από το Solaris, επίσης OpenSolaris, Apple Mac OS X 10.5, FreeBSD, Linux (μέσω FUSE ή ξεχωριστής μονάδας πυρήνα (ZFS σε Linux)). Η επιλογή ενός συγκεκριμένου λειτουργικού συστήματος για το έργο σας ή, πιο απλά, για αποθήκευση αρχείων εξαρτάται από εσάς. Το πιο διαδεδομένο FreeBSDκαι παράγωγο - NAS4Free.

Σχεδιαστικά χαρακτηριστικά του συστήματος αποθήκευσης

Όταν οργανώνετε μια αποθήκη δεδομένων, πρέπει να αξιολογήσετε ορισμένα σημεία. Μερικά από τα πιο πιεστικά ερωτήματα είναι πόσος χώρος στο δίσκο χρειάζεται να παρασχεθεί για χρήστες και υπηρεσίες, καθώς και ποιες επιλογές είναι διαθέσιμες για την επέκταση και την κλιμάκωση της σειράς των συσκευών αποθήκευσης. Τότε προκύπτουν περισσότερα τεχνικά ερωτήματα - πόσοι δίσκοι χρειάζονται, ποιοι ελεγκτές, μητρικές πλακέτες και διαμόρφωση RAID-Zπρέπει να χρησιμοποιηθούν. Αυτές οι ερωτήσεις πρέπει να απαντηθούν πριν ξεκινήσετε την εργασία, επομένως ας τις δούμε λεπτομερέστερα.

  • Χώρος στο δισκο

Με βάση τις ανάγκες και τις απαιτήσεις για τον όγκο της δημιουργούμενης αποθήκευσης, η ποσότητα HDD, τα μοντέλα τους, καθώς και τον τύπο διαμόρφωσης RAID-Z. Επιτρέψτε μου να σας δώσω αμέσως μερικές συστάσεις:

— η μέγιστη αξιοπιστία και απόδοση επιτυγχάνεται όταν χρησιμοποιούνται σκληροί δίσκοι του ίδιου μοντέλου και κατασκευαστή

— Το λειτουργικό σύστημα δεν πρέπει να τοποθετείται στον ίδιο τον χώρο αποθήκευσης· είναι προτιμότερο να χρησιμοποιείτε ξεχωριστή μονάδα HDD/USB

— ο αριθμός των δίσκων πρέπει να αντιστοιχεί στο επιλεγμένο σύστημα RAID-Z

  • Επιλογές RAID-Z

Υπάρχουν διάφοροι τύποι συστοιχιών RAID-Z, αλλά τώρα θα δούμε τους δύο πιο πρακτικούς και δημοφιλείς:

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

— raid-z2 — σε αυτήν την περίπτωση, εκχωρούνται 2 δίσκοι για έλεγχο ισοτιμίας (οι ελάχιστοι δίσκοι για αυτήν τη διαμόρφωση είναι 5). Αυτό το σύστημα είναι πιο ανεκτικό σε σφάλματα.

  • Σκληροι ΔΙΣΚΟΙ

Όπως αναφέρθηκε προηγουμένως, είναι καλύτερο να χρησιμοποιείτε πανομοιότυπους δίσκους από τον ίδιο κατασκευαστή (τόμος, μοντέλο κ.λπ.). Παράλληλα, αξίζει να αναλογιστούμε ένα σημαντικό σημείο που χάνουν οι νέοι επαγγελματίες. Συνιστάται ανεπιφύλακτα να αγοράσετε έναν ακόμη δίσκο, π.χ. πραγματοποιήστε αγορές χρησιμοποιώντας τον τύπο n+1 αριθμός δίσκων. Αυτό θα μειώσει το χρόνο διακοπής λειτουργίας και τον κίνδυνο απώλειας πληροφοριών λόγω "εργοστασιακών ελαττωμάτων" ή ζημιάς στον σκληρό δίσκο κατά τη μεταφορά και θα μειώσει επίσης τον χρόνο αντικατάστασης ενός ελαττωματικού σκληρού δίσκου στο μέλλον. Αξίζει να σημειωθεί ότι το ZFS υποστηρίζει «hot spare», π.χ. μπορείτε να διαμορφώσετε την πισίνα και τους δίσκους έτσι ώστε ένας από αυτούς να χρησιμοποιείται για εντατική αντικατάσταση (χωρίς διακοπή της αποθήκευσης), συμπεριλαμβανομένης της αυτόματης λειτουργίας. Αξίζει επίσης να γίνει κατανοητό ότι η ταχύτητα της αποθήκευσης εξαρτάται από τον αριθμό των σκληρών δίσκων (με την κατανομή του φορτίου στις μονάδες δίσκου κατά την ανάγνωση και την εγγραφή).

  • Άλλα στοιχεία του συστήματος

Με βάση τις απαιτήσεις αποθηκευτικού χώρου σας, θα πρέπει να επιλέξετε ένα χαλάκι. πλακέτες, ελεγκτές, τροφοδοτικά και θήκες διακομιστή με δυνατότητα επέκτασης. Όταν οργανώνετε χώρο αποθήκευσης σε εταιρική κατηγορία, θα πρέπει να χρησιμοποιείτε μόνο MB και RAM με έλεγχο ισοτιμίας (ECC)!

  • Επεκτασιμότητα συστήματος

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

Συνοψίζω

Σύστημα αρχείων ZFSέχει μια σειρά από μοναδικές δυνατότητες για εργασία με HDDκαι την οργάνωσή τους σε δεξαμενές δεδομένων με ανοχή σε σφάλματα και κλιμάκωση. Ωστόσο, για να έχετε όλα τα οφέλη αυτού του FS, πρέπει να χρησιμοποιήσετε τουλάχιστον δύο σκληρούς δίσκους.

Επιτρέψτε μου να απαριθμήσω εν συντομία τα κύρια πλεονεκτήματα και ιδιότητες του ZFS:

  • ενσωματωμένα εργαλεία για εργασία με κατατμήσεις HDD και οργάνωση RAID-Z
  • καμία σύνδεση με εξοπλισμό
  • αναίσθητος σε απρογραμμάτιστες διακοπές ρεύματος
  • αυτόματη αντικατάσταση αποτυχημένων σκληρών δίσκων, διόρθωση σφαλμάτων και ανακατασκευή RAID
  • υποστηρίζει τεράστια μεγέθη τόμων, αρχείων, πισινών, καθώς και εύκολη επεκτασιμότητα αποθήκευσης
  • γρήγορη και εύκολη διαχείριση των ZFS Pools
  • Καθώς αυξάνεται ο σκληρός δίσκος, η απόδοση αποθήκευσης αυξάνεται
  • αντιγραφή και συμπίεση δεδομένων

Τα μειονεκτήματα αυτού του συστήματος αρχείων περιλαμβάνουν:

  • υψηλές απαιτήσεις για πόρους CPU και RAM
  • Η αποθήκευση που χρησιμοποιείται για κρίσιμα εταιρικά δεδομένα πρέπει να κατασκευαστεί με χρήση RAM ECC.

Το επόμενο άρθρο θα είναι πρακτικό - εργασία με δίσκους, δημιουργία και διαχείριση δεξαμενών δεδομένων.



 


Ανάγνωση:


Νέος

Πώς να αποκαταστήσετε τον εμμηνορροϊκό κύκλο μετά τον τοκετό:

Αξιολόγηση των καλύτερων ασύρματων ακουστικών

Αξιολόγηση των καλύτερων ασύρματων ακουστικών

Είναι δυνατόν να αγοράσετε αυτιά γενικής χρήσης φθηνά; 3.000 ρούβλια - είναι δυνατόν να αγοράσετε ακουστικά υψηλής ποιότητας για τέτοια χρήματα; Όπως αποδείχθηκε, ναι. Και ο λόγος...

Η κύρια κάμερα μιας κινητής συσκευής βρίσκεται συνήθως στο πίσω μέρος του σώματος και χρησιμοποιείται για τη λήψη φωτογραφιών και βίντεο

Η κύρια κάμερα μιας κινητής συσκευής βρίσκεται συνήθως στο πίσω μέρος του σώματος και χρησιμοποιείται για τη λήψη φωτογραφιών και βίντεο

Μια ενημερωμένη έκδοση του tablet με βελτιωμένα χαρακτηριστικά και υψηλή αυτονομία Τα smartphone της Acer σπάνια επισκέπτονται...

Πώς να μεταβείτε σε άλλο χειριστή ενώ διατηρείτε τον αριθμό σας

Πώς να μεταβείτε σε άλλο χειριστή ενώ διατηρείτε τον αριθμό σας

Ο νόμος για τη διατήρηση ενός αριθμού τηλεφώνου όταν ένας συνδρομητής μεταβαίνει σε άλλη εταιρεία κινητής τηλεφωνίας τέθηκε σε ισχύ στη Ρωσία την 1η Δεκεμβρίου. Ωστόσο, αποδείχθηκε ότι...

κριτική ενός phablet, ακριβό, αλλά πολύ ικανό

κριτική ενός phablet, ακριβό, αλλά πολύ ικανό

Κριτική για ένα phablet, ακριβό, αλλά πολύ ικανό 20/03/2015 Είμαι ο μόνος τσαγκάρης στον κόσμο χωρίς μπότες, κριτικός smartphone χωρίς δικό μου smartphone....

τροφοδοσία-εικόνα RSS