Το Btrfs είναι ένα προηγμένο σύστημα αρχείων για το Linux που μπορεί να λειτουργήσει σε πολλαπλούς σκληρούς δίσκους και υποστηρίζει διαφορετικά μοντέλα ανοχής σφαλμάτων όπως RAID 0, RAID 1 και RAID 10. Το Btrfs βρίσκεται σε εξέλιξη από το 2008 και είναι αυτό που είναι γνωστό ως σύστημα αρχείων "copy on write", το οποίο σημαίνει ότι όταν τα δεδομένα αλλάζουν σε ένα μπλοκ, τότε το μπλοκ θα αντιγράψει ένα νέο μπλοκ γραμμένο στο δίσκο με τις ενσωματωμένες αλλαγές. Αυτό σημαίνει ότι τα μπλοκ δεν τροποποιούνται ποτέ αλλά δημιουργούνται νέα μπλοκ και τα παλιά μπλοκ επαναχρησιμοποιούνται αργότερα. Αυτό έχει πλεονεκτήματα για τις επιδόσεις, ειδικά όταν εξασφαλίζει συνέπεια και ακεραιότητα (ακόμα και μετά από διακοπή ρεύματος).

Υποθέτοντας ότι έχετε ήδη λειτουργικό σύστημα Linux (πιθανώς χρησιμοποιώντας το ext4), αλλά θέλετε να προσθέσετε κάποιους σκληρούς δίσκους και να χρησιμοποιήσετε Btrfs, αυτό θα πρέπει να κάνετε. Πρώτα πρέπει να εγκαταστήσετε τα εργαλεία Btrfs. Στο Ubuntu:

 sudo apt-get να εγκαταστήσετε τα εργαλεία btrfs 

Υποθέτοντας ότι το /dev/sda είναι ο κύριος δίσκος με Linux που είναι εγκατεστημένος σε αυτό και θέλετε να χρησιμοποιήσετε δύο νέους δίσκους /dev/sdb και /dev/sdc, το επόμενο βήμα είναι να δημιουργήσετε το αρχείο αρχείων btrfs σε αυτούς τους δίσκους.

 sudo mkfs.btrfs -m επιδρομή1 -d raid1 / dev / sdb / dev / sdc 

Η -d raid1 λέει στο btrfs να χρησιμοποιεί το RAID 1 mirroring για τα δεδομένα. Αυτό σημαίνει ότι θα υπάρχουν τουλάχιστον δύο αντίγραφα κάθε bit δεδομένων, το καθένα σε διαφορετική συσκευή. Είναι πραγματικά δυνατό να χρησιμοποιηθούν περισσότεροι από δύο σκληροί δίσκοι σε μια κατοπτρική διαμόρφωση RAID 1. Σε τέτοιες περιπτώσεις, το btrfs θα εξασφαλίσει ότι τουλάχιστον ένας άλλος δίσκος θα έχει ένα αντίγραφο των δεδομένων. Οι πληροφορίες σχετικά με τα δεδομένα, συμπεριλαμβανομένου του ονόματος αρχείου και των αρχείων, κ.λπ., αποθηκεύονται σε αυτά που είναι γνωστά ως μεταδεδομένα. Οι επιλογές -m raid1 λένε στο btrfs να χρησιμοποιήσει το mirroring RAID 1 και για τα μεταδεδομένα. Όπως και ο καθρέφτης των δεδομένων, η χρήση του κατοπτρισμού για τα μεταδεδομένα θα διασφαλίσει ότι οι βασικές πληροφορίες για τα αρχεία αποθηκεύονται σε τουλάχιστον δύο δίσκους. Εάν οποιοσδήποτε από τους δίσκους έχει υπάρχοντες πίνακες κατατμήσεων (και ενδεχομένως δεδομένα), χρησιμοποιήστε την επιλογή -f για να αναγκάσετε το mkfs.btrfs να αντικαταστήσετε.

Τώρα που έχει δημιουργηθεί το σύστημα αρχείων, μπορεί να συνδεθεί χρησιμοποιώντας την κανονική εντολή mount :

 sudo mount / dev / sdb / mybtrfs 

Where /mybtrfs είναι ο κατάλογος στον οποίο θέλετε να προσαρτήσετε το σύστημα αρχείων.

Σε αυτό το σημείο, το νέο σύστημα αρχείων θα καταχωρηθεί από την εντολή df -h . Στο δοκιμαστικό μου σύστημα, τα /dev/sdb και /dev/sdc είναι 100 GB έκαστο. Σε ένα παραδοσιακό σύστημα RAID 1, το σύστημα αρχείων που προκύπτει θα αναφέρεται ως 100 GB, καθώς ένας δίσκος χρησιμοποιείται για την αντιγραφή των δεδομένων. Αυτό δεν συμβαίνει με το btrfs. Επειδή οι δίσκοι διαφορετικών μεγεθών μπορούν να χρησιμοποιηθούν σε οποιοδήποτε συνδυασμό, το btrfs δείχνει το συνολικό μέγεθος. Υπάρχει, ωστόσο, μια εντολή που δίνει περισσότερες λεπτομέρειες:

 Σύστημα αρχείων sudo btrfs df / mybtrfs 

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

Το " sudo btrfs filesystem show " είναι επίσης χρήσιμο καθώς θα απαριθμεί τις επιμέρους συσκευές που χρησιμοποιούνται στο σύστημα αρχείων μαζί με το συνολικό τους μέγεθος και τον χρησιμοποιούμενο χώρο.

Το τελευταίο βήμα είναι να επεξεργαστείτε το αρχείο /etc/fstab για να προσαρμόσετε αυτόματα το σύστημα αρχείων btrfs κατά την εκκίνηση. Για να γίνει αυτό, επεξεργαστείτε το αρχείο και προσθέστε την ακόλουθη γραμμή:

 / dev / sdb / mybtrfs btrfs προεπιλογές 0 0 

Μπορείτε να αποκτήσετε το καθολικά μοναδικό αναγνωριστικό για το σύστημα αρχείων btrfs χρησιμοποιώντας την sudo btrfs filesystem show . Για να χρησιμοποιήσετε το uuid αντί για το όνομα της συσκευής, θα γίνει η γραμμή /etc/fstab κάτι σαν αυτό:

 UUID = 7911f7a9-cd03-48ef-8dca-27550d6039f4 / mybtrfs btrfs προεπιλογές 0 0 

Εάν έχετε οποιαδήποτε άλλη ερώτηση, μπορείτε να ζητήσετε από το σχόλιο παρακάτω.