Ένας οδηγός για την εγκατάσταση και χρήση του ZFS στο CentOS 7

Το ZFS, σύντομη μορφή του συστήματος αρχείων Zettabyte, είναι ένα εξελιγμένο και προηγμένο σύστημα αρχείων. Αρχικά αναπτύχθηκε από την Sun Microsystems και αποτελεί πλέον μέρος του έργου OpenZFS. Με τόσα συστήματα αρχείων που διατίθενται στο Linux, είναι φυσικό να ρωτάμε τι είναι ξεχωριστό για το ZFS. Σε αντίθεση με άλλα συστήματα αρχείων, δεν είναι μόνο ένα σύστημα αρχείων, αλλά και ένας λογικός διαχειριστής όγκου. Μερικά από τα χαρακτηριστικά του ZFS που το κάνουν δημοφιλή είναι:

  • Ακεραιότητα δεδομένων - η συνέπεια και η ακεραιότητα των δεδομένων εξασφαλίζονται μέσω τεχνικών copy-on-write και checksum
  • Συγκέντρωση χώρου αποθήκευσης - οι διαθέσιμες μονάδες αποθήκευσης μπορούν να συγκεντρωθούν σε μια ενιαία πισίνα που ονομάζεται zpool
  • Λογισμικό RAID - Η εγκατάσταση μιας σειράς raidz είναι τόσο απλή όσο η έκδοση μιας μόνο εντολής.
  • Ενσωματωμένος διαχειριστής όγκου - το ZFS λειτουργεί επίσης ως διαχειριστής όγκου.
  • Snaphots, κλώνοι, συμπίεση - αυτά είναι μερικά από τα προηγμένα χαρακτηριστικά που παρέχει το ZFS.

Το ZFS είναι ένα σύστημα αρχείων 128-bit και έχει την ικανότητα να αποθηκεύει byte 256 zetta! Σε αυτόν τον οδηγό, θα μάθουμε πώς να εγκαταστήσετε, να ρυθμίσετε και επίσης να χρησιμοποιήσετε μερικές σημαντικές εντολές ZFS σε ένα διακομιστή CentOS 7.

ΣΗΜΕΙΩΣΗ: Το τμήμα εγκατάστασης είναι συγκεκριμένο για το διακομιστή CentOS ενώ οι εντολές είναι κοινές σε οποιοδήποτε σύστημα Linux

Ορολογία

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

Πισίνα

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

Δεδομένα

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

Καθρέπτης

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

Επανεισαγωγή

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

Σφουγγάρισμα

Το Scrub χρησιμοποιείται για έλεγχο συνέπειας στο ZFS, όπως το πώς χρησιμοποιείται το fsck σε άλλα συστήματα αρχείων

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

Για να εγκαταστήσετε το ZFS στο CentOS, πρέπει πρώτα να ρυθμίσετε το χώρο αποθήκευσης EPEL για την υποστήριξη πακέτων και στη συνέχεια το αποθετήριο ZFS για να εγκαταστήσετε τα απαιτούμενα πακέτα ZFS.

Σημείωση: Παρακαλούμε προθέστε sudo σε όλες τις εντολές, αν δεν είστε ο χρήστης root.

yum localinstall -nogpgcheck http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

yum localinstall -nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm

Τώρα εγκαταστήστε τα πακέτα ανάπτυξης πυρήνα και zfs. Τα πακέτα ανάπτυξης πυρήνα χρειάζονται καθώς το ZFS είναι χτισμένο ως μονάδα και εισάγεται στον πυρήνα.

yum εγκαταστήστε το kernel-devel zfs

Βεβαιωθείτε ότι η μονάδα zfs έχει εισαχθεί στον πυρήνα χρησιμοποιώντας την εντολή 'lsmod' και εάν όχι, εισαγάγετε το με το χέρι χρησιμοποιώντας την εντολή 'modprobe'.

[root @ li1467-130 ~] # lsmod | grep zfs

[root @ li1467-130 ~] # modprobe zfs

[root @ li1467-130 ~] # lsmod | grep zfs
zfs 2790271 0
zunicode 331170 1 zfs
XLUMX 15236 zfs
zcommon 55411 1 zfs
znvpair 89086 2 zfs, zcommon
spl 92029 3 zfs, zcommon, znvpair

Ας ελέγξουμε αν μπορούμε να χρησιμοποιήσουμε τις εντολές zfs:

[λίστα root @ li1467-130 ~] # zfs
δεν υπάρχουν διαθέσιμα σύνολα δεδομένων

Διαχείριση

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

zpool χρησιμότητα

Δημιουργία και καταστροφή πισινών

Πρώτα ελέγξτε τους διαθέσιμους δίσκους για να δημιουργήσετε μια πισίνα αποθήκευσης.

[root @ li1467-130 ~] # ls -l / dev / sd *
brw-rw - 1 root δίσκο 8, 0 Μαρ 16 08: 12 / dev / sda
brw-rw - 1 root δίσκο 8, 16 Μαρ 16 08: 12 / dev / sdb
brw-rw - 1 ριζικό δίσκο 8, 32 Μαρ 16 08: 12 / dev / sdc
brw-rw - 1 root δίσκο 8, 48 Μαρ 16 08: 12 / dev / sdd
brw-rw - 1 root δίσκο 8, 64 Μαρ 16 08: 12 / dev / sde
brw-rw - 1 root δίσκο 8, 80 Μαρ 16 08: 12 / dev / sdf

Δημιουργήστε μια πισίνα από ένα σύνολο μονάδων δίσκου.

δημιουργήστε το <option> <pool όνομα. <drive 1> <κίνηση 2> .... <drive n>

[root @ li1467-130 ~] # δημιουργία αρχείου -f zfspool sdc sdd sde sdf

Η εντολή 'κατάσταση πόλακ' εμφανίζει την κατάσταση των διαθέσιμων πιστώσεων

[root @ li1467-130 ~] # κατάσταση πόλων
πισίνα: zfspool
κατάσταση: ONLINE
σάρωση: καμία δεν ζητήθηκε
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
zfspool σε απευθείας σύνδεση 0 0 0
sdc ONLINE 0 0 0
sdd σε απευθείας σύνδεση 0 0 0
sde σε απευθείας σύνδεση 0 0 0
sdf σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

Βεβαιωθείτε ότι η δημιουργία της πισίνας ήταν επιτυχής.

[root @ li1467-130 ~] # df -h
Μέγεθος συστήματος αρχείου που χρησιμοποιείται Διαθεσιμότητα Χρήση του% Mounted στο
/ dev / sda 19G 1.4G 17G 8% /
devtmpfs 488M 0 488M 0% / dev
tmpfs 497M 0 497M 0% / dev / shm
tmpfs 497M 50M 447M 11% / run
tmpfs 497M 0 497M 0% / sys / fs / cgroup
tmpfs 100M 0 100M 0% / run / user / 0
zfspool 3.7G 0 3.7G 0% / zfspool

Όπως μπορείτε να δείτε, το zpool έχει δημιουργήσει μια πισίνα με το όνομα 'zfspool' μεγέθους 3.7 GB και έχει επίσης τοποθετήσει στο / zfspool.

Για να καταστρέψετε μια πισίνα, χρησιμοποιήστε την εντολή 'καταστροφή καταστροφής'

καταστροφή καταστροφής <όνομα πισίνας>

[root @ li1467-130 ~] # πόλος καταστρέψει το zfspool
[root @ li1467-130 ~] # κατάσταση πόλων
δεν υπάρχουν διαθέσιμες πισίνες

Ας προσπαθήσουμε τώρα να δημιουργήσουμε μια απλή πισίνα καθρέπτη.

Δημιουργία αρχείου <option> <pool name> mirror <μονάδα δίσκου 1> <drive 2> ... <drive n>

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

[root @ li1467-130 ~] # δημιουργήσει -f mpool mirror sdc sdd mirror sde sdf
[root @ li1467-130 ~] # κατάσταση πόλων
πισίνα: mpool
κατάσταση: ONLINE
σάρωση: καμία δεν ζητήθηκε
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
mpool ONLINE 0 0 0
mirror-0 σε απευθείας σύνδεση 0 0 0
sdc ONLINE 0 0 0
sdd σε απευθείας σύνδεση 0 0 0
mirror-1 σε απευθείας σύνδεση 0 0 0
sde σε απευθείας σύνδεση 0 0 0
sdf σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

Στο παραπάνω παράδειγμα, δημιουργήσαμε ομαδικές ομάδες με δύο δίσκους.

Παρομοίως, μπορούμε να δημιουργήσουμε ένα pool raidz.

[root @ li1467-130 ~] # δημιουργήσει -f rpool raidz sdc sdd sde sdf
[root @ li1467-130 ~] # κατάσταση πόλων
πισίνα: rpool
κατάσταση: ONLINE
σάρωση: καμία δεν ζητήθηκε
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
rpool ONLINE 0 0 0
raidz1-0 σε απευθείας σύνδεση 0 0 0
sdc ONLINE 0 0 0
sdd σε απευθείας σύνδεση 0 0 0
sde σε απευθείας σύνδεση 0 0 0
sdf σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

Διαχείριση συσκευών σε πισίνες ZFS

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

Καταρχήν δημιουργώ μια πισίνα που ονομάζεται 'testpool' και αποτελείται από δύο συσκευές, sdc και sdd. Στη συνέχεια θα προστεθεί μια άλλη συσκευή sde.

[root @ li1467-130 ~] # δημιουργία κειμένου -f testpool sdc sdd

[root @ li1467-130 ~] # zpool προσθέστε το testpool sde
[root @ li1467-130 ~] # κατάσταση πόλων
πισίνα: testpool
κατάσταση: ONLINE
σάρωση: καμία δεν ζητήθηκε
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd σε απευθείας σύνδεση 0 0 0
sde σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

Όπως αναφέρθηκε νωρίτερα, δεν μπορώ να καταργήσω αυτήν τη νέα συσκευή που προστέθηκε, καθώς δεν είναι περιττή ή raidz πισίνα.

[root @ li1467-130 ~] # πόλο αφαίρεση testpool sde
δεν είναι δυνατή η κατάργηση του sde: μπορούν να καταργηθούν μόνο τα μη ενεργά ανταλλακτικά, η προσωρινή μνήμη, το ανώτερο επίπεδο ή οι συσκευές καταγραφής

Αλλά μπορώ να προσθέσω έναν δίσκο σε αυτήν την πισίνα και να τον αφαιρέσω.

[root @ li1467-130 ~] # zpool προσθέστε το testpool spare sdf
[root @ li1467-130 ~] # κατάσταση πόλων
πισίνα: testpool
κατάσταση: ONLINE
σάρωση: καμία δεν ζητήθηκε
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd σε απευθείας σύνδεση 0 0 0
sde σε απευθείας σύνδεση 0 0 0
ανταλλακτικά
sdf AVAIL

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων
[root @ li1467-130 ~] # πόλο αφαίρεση testpool sdf
[root @ li1467-130 ~] # κατάσταση πόλων
πισίνα: testpool
κατάσταση: ONLINE
σάρωση: καμία δεν ζητήθηκε
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd σε απευθείας σύνδεση 0 0 0
sde σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

Παρομοίως, μπορούμε να χρησιμοποιήσουμε την εντολή attach για να συνδέσουμε δίσκους σε μια κατοπτρική ή μη κατοπτρική πισίνα και να αποσυνδέσουμε την εντολή για να αποσπάσουμε τους δίσκους από μια κατοπτρική πισίνα.

swap επισυνάψτε <options> <pool name> <device> <new device>

αποκαταστήστε το <pool name> <device>

Όταν μια συσκευή αποτύχει ή καταστραφεί, μπορούμε να την αντικαταστήσουμε χρησιμοποιώντας την εντολή 'αντικατάσταση'.

zapool αντικαταστήστε <options> <pool name> <device> <new device>

Θα το εξετάσουμε με τη βίαιη καταστροφή μιας συσκευής σε μια κατοπτρική διαμόρφωση.

[root @ li1467-130 ~] # δημιουργία κειμένου -f testpool mirror sdd sde

Αυτό δημιουργεί μια πισίνα καθρέπτη που αποτελείται από δίσκους sdd και sde. Τώρα, ας διεξάγουμε σκοπίμως τη δ.δ. κίνηση γράφοντας μηδενικά σε αυτό.

[root @ li1467-130 ~] # dd εάν = / dev / μηδέν = = / dev / sdd
dd: γράφεται στο '/ dev / sdd': Δεν υπάρχει χώρος στη συσκευή
Τα αρχεία 2048001 + 0 εγγράφονται στο
Το 2048000 + 0 καταγράφει
Τα αντίγραφα 1048576000 (1.0 GB) αντιγράφηκαν, 22.4804 s, 46.6 MB / s

Θα χρησιμοποιήσουμε την εντολή 'scrub' για να ανιχνεύσουμε αυτή τη διαφθορά.

[root @ li1467-130 ~] # κούτσουρα scrub testpool
[root @ li1467-130 ~] # κατάσταση πόλων
πισίνα: testpool
κατάσταση: ONLINE
status: Δεν ήταν δυνατή η χρήση μιας ή περισσότερων συσκευών επειδή λείπει η ετικέτα ή
Μη έγκυρο. Υπάρχουν επαρκή αντίγραφα για να συνεχίσει η ομάδα
λειτουργεί σε υποβαθμισμένη κατάσταση.
ενέργεια: Αντικαταστήστε τη συσκευή χρησιμοποιώντας το "αντικατάσταση του δίσκου".
δείτε: http://zfsonlinux.org/msg/ZFS-8000-4J
σάρωση: επισκευάστε το τρίψιμο 0 στο 0h0m με σφάλματα 0 στις Παρ Μαρ 18 09: 59: 40 2016
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
testpool ONLINE 0 0 0
mirror-0 σε απευθείας σύνδεση 0 0 0
sdd UNAVAIL 0 0 0 κατεστραμμένα δεδομένα
sde σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

Θα αντικαταστήσουμε τώρα sdd με sdc.

[root @ li1467-130 ~] # zpool αντικαταστήσει το testpool sdd sdc; κατάσταση polool
πισίνα: testpool
κατάσταση: ONLINE
σάρωση: resilvered 83.5K σε 0h0m με σφάλματα 0 στις Παρ Μαρ 18 10: 05: 17 2016
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
testpool ONLINE 0 0 0
mirror-0 σε απευθείας σύνδεση 0 0 0
αντικατάσταση-0 UNAVAIL 0 0 0
sdd UNAVAIL 0 0 0 κατεστραμμένα δεδομένα
sdc ONLINE 0 0 0
sde σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

[root @ li1467-130 ~] # κατάσταση πόλων
πισίνα: testpool
κατάσταση: ONLINE
σάρωση: resilvered 74.5K σε 0h0m με σφάλματα 0 στις Παρ Μαρ 18 10: 00: 36 2016
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
testpool ONLINE 0 0 0
mirror-0 σε απευθείας σύνδεση 0 0 0
sdc ONLINE 0 0 0
sde σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

Μετανάστευση πισινών

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

[root @ li1467-130 ~] # πόλος εξαγωγής testpool
[root @ li1467-130 ~] # κατάσταση πόλων
δεν υπάρχουν διαθέσιμες πισίνες

Η εντολή 'zpool import' περιέχει όλες τις ομάδες που είναι διαθέσιμες για εισαγωγή. Εκτελέστε αυτήν την εντολή από το σύστημα στο οποίο θέλετε να εισαγάγετε την πισίνα.

[root @ li1467-131 ~] # εισαγωγή σε πool
πισίνα: testpool
id: 3823664125009563520
κατάσταση: ONLINE
ενέργεια: Η ομάδα μπορεί να εισαχθεί χρησιμοποιώντας το όνομα ή το αριθμητικό αναγνωριστικό της.
config:

testpool ONLINE
sdc ONLINE
sdd ONLINE
sde ONLINE

Τώρα εισαγάγετε την απαιτούμενη ομάδα

[root @ li1467-131 ~] # ππόλ εισαγωγής testpool
[root @ li1467-131 ~] # κατάσταση πόλων
πισίνα: testpool
κατάσταση: ONLINE
σάρωση: καμία δεν ζητήθηκε
config:

ΤΟ ΚΡΑΤΟΣ ΟΝΟΜΑΤΟΣ ΔΙΑΒΑΣΤΕ ΓΡΑΨΤΕ ΤΟ CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd σε απευθείας σύνδεση 0 0 0
sde σε απευθείας σύνδεση 0 0 0

σφάλματα: Δεν υπάρχουν γνωστά σφάλματα δεδομένων

iostat

Κάποιος μπορεί να επαληθεύσει τα στατιστικά στοιχεία των συσκευών πισίνας χρησιμοποιώντας την εντολή iostat.

[root @ li1467-130 ~] # πόλος iostat -v testpool
εύρος ζώνης λειτουργιών χωρητικότητας
πισίνα διαθέσει ελεύθερη ανάγνωση γραφή read read
---- - - - - - -
testpool 1.80M 2.86G 22 27 470K 417K
sdc 598K 975M 8 9 200K 139K
sdd 636K 975M 7 9 135K 139K
sde 610K 975M 6 9 135K 139K
---- - - - - - -

zfs χρησιμότητα

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

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

Το σύστημα αρχείων ZFS μπορεί να δημιουργηθεί χρησιμοποιώντας την εντολή zfs create

zfs δημιουργούν <σύστημα αρχείων>

[root @ li1467-130 ~] # zfs δημιουργούν testpool / φοιτητές
[root @ li1467-130 ~] # zfs δημιουργήστε testpool / καθηγητές
[root @ li1467-130 ~] # df -h
Μέγεθος συστήματος αρχείου που χρησιμοποιείται Διαθεσιμότητα Χρήση του% Mounted στο
/ dev / sda 19G 1.4G 17G 8% /
devtmpfs 488M 0 488M 0% / dev
tmpfs 497M 0 497M 0% / dev / shm
tmpfs 497M 50M 447M 11% / run
tmpfs 497M 0 497M 0% / sys / fs / cgroup
testpool 2.8G 0 2.8G 0% / testpool
tmpfs 100M 0 100M 0% / run / user / 0
testpool / φοιτητές 2.8G 0 2.8G 0% / testpool / φοιτητές
testpool / καθηγητές 2.8G 0 2.8G 0% / testpool / καθηγητές

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

Η δημιουργία zfs επιτρέπει τη χρήση -o με αυτήν, με την οποία μπορούμε να καθορίσουμε επιλογές όπως mountpoint, συμπίεση, ποσόστωση, exec κ.λπ.

Κάποιος μπορεί να απαριθμήσει το διαθέσιμο σύστημα αρχείων χρησιμοποιώντας τη λίστα zfs:

[λίστα root @ li1467-130 ~] # zfs
ΟΝΟΜΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ AVAIL ΑΝΑΦΕΡΟΜΕΝΟΣ MOUNTPOINT
testpool 100M 2.67G 19K / testpool
testpool / καθηγητές 31K 1024M 20.5K / testpool / καθηγητές
testpool / φοιτητές 1.57M 98.4M 1.57M / testpool / φοιτητές

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

zfs καταστρέφουν το <fileystem>

Συμπίεση

Θα καταλάβουμε τώρα πώς λειτουργεί η συμπίεση στο ZFS. Πριν αρχίσουμε να χρησιμοποιούμε τη συμπίεση, πρέπει να την ενεργοποιήσουμε χρησιμοποιώντας το 'set compression'

Το zfs ορίζει <compression = value> <σύστημα αρχείων | όγκος | στιγμιότυπο>

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

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

[root @ li1467-130 ~] # set zfs συμπίεση = lz4 testpool / φοιτητές

Θα αντιγράψω τώρα ένα αρχείο μεγέθους 15M σε αυτό το σύστημα αρχείων και θα ελέγξω το μέγεθος μόλις αντιγραφεί.

[root @ li1467-130 /] # cd / var / log
[αρχείο root @ li1467-130] # du -h ασφαλής
15M ασφαλές

[root @ li1467-130 ~] # cp / var / log / secure / testpool / φοιτητές /

[φοιτητές root @ li1467-130] # df -h.
Μέγεθος συστήματος αρχείου που χρησιμοποιείται Διαθεσιμότητα Χρήση του% Mounted στο
testpool / φοιτητές 100M 1.7M 99M 2% / testpool / φοιτητές

Παρατηρήστε ότι το μέγεθος που χρησιμοποιείται στο σύστημα αρχείων είναι μόνο 1.7M ενώ το μέγεθος αρχείου ήταν 15M. Μπορούμε επίσης να ελέγξουμε τον λόγο συμπίεσης ..

[root @ li1467-130 ~] # zfs να πάρει συμπιεσμένο testpool
ΟΝΟΜΑ ΠΟΣΟΤΗΤΑΣ ΙΔΙΟΤΗΤΑΣ NAME
testpool compressratio 9.03x -

Ποσοστώσεις και επιφύλαξη

Επιτρέψτε μου να εξηγήσω τις ποσοστώσεις με ένα πραγματικό παράδειγμα ζωής. Ας υποθέσουμε ότι έχουμε μια απαίτηση σε ένα πανεπιστήμιο να περιορίσει το χώρο στο δίσκο που χρησιμοποιείται από το σύστημα αρχείων για καθηγητές και φοιτητές. Ας υποθέσουμε ότι πρέπει να διαθέσουμε το 100MB για τους φοιτητές και το 1GB για καθηγητές. Μπορούμε να χρησιμοποιήσουμε τις "ποσοστώσεις" στο ZFS για να εκπληρώσουμε αυτή την απαίτηση. Οι ποσοστώσεις εξασφαλίζουν ότι το μέγεθος του χώρου στο δίσκο που χρησιμοποιείται από ένα σύστημα αρχείων δεν υπερβαίνει τα καθορισμένα όρια. Η κράτηση βοηθά στην πραγματική κατανομή και εγγύηση ότι το απαιτούμενο ποσό χώρου στο δίσκο είναι διαθέσιμο για το σύστημα αρχείων.

zfs ορίσετε ποσόστωση = <αξία> <σύστημα αρχείων | όγκος | στιγμιότυπο>

zfs set κράτηση = <αξία> <σύστημα αρχείων | όγκος | στιγμιότυπο>

[root @ li1467-130 ~] # zfs σύνολο ποσοστώσεων = 100M testpool / φοιτητές
[root @ li1467-130 ~] # set zfs κράτησης = 100M testpool / φοιτητές
[λίστα root @ li1467-130 ~] # zfs
ΟΝΟΜΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ AVAIL ΑΝΑΦΕΡΟΜΕΝΟΣ MOUNTPOINT
testpool 100M 2.67G 19K / testpool
testpool / καθηγητές 19K 2.67G 19K / testpool / καθηγητές
testpool / φοιτητές 1.57M 98.4M 1.57M / testpool / φοιτητές

[root @ li1467-130 ~] # zfs σύνολο ποσοστώσεων = 1G testpool / καθηγητές
[λίστα root @ li1467-130 ~] # zfs
ΟΝΟΜΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ AVAIL ΑΝΑΦΕΡΟΜΕΝΟΣ MOUNTPOINT
testpool 100M 2.67G 19K / testpool
testpool / καθηγητές 19K 1024M 19K / testpool / καθηγητές
testpool / φοιτητές 1.57M 98.4M 1.57M / testpool / φοιτητές

Στο παραπάνω παράδειγμα, έχουμε διαθέσει 100MB για φοιτητές και 1GB για καθηγητές. Παρατηρήστε τη στήλη 'AVAIL' στη λίστα 'zfs'. Αρχικά είχαν το μέγεθος του 2.67GB το καθένα και μετά τη ρύθμιση της ποσόστωσης, οι τιμές άλλαξαν αναλόγως.

Στιγμιότυπα

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

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

[root @ li1467-130 ~] # cd / testpool / καθηγητές /

[καθηγητές root @ li1467-130] # mkdir μαθηματική φυσική χημεία

[καθηγητές root @ li1467-130] # cat> qpaper.txt
Ερώτηση για το έτος 2016-17
[καθηγητές root @ li1467-130] # ls -la
Σύνολο 4
drwxr-xr-x 5 ρίζα ρίζας 6 Mar 19 10: 34.
drwxr-xr-x 4 ρίζα ρίζας 4 Mar 19 09: 59 ..
drwxr-xr-x 2 ρίζα ρίζας 2 Mar 19 10: 33 χημεία
drwxr-xr-x 2 ρίζα ρίζας 2 Mar 19 10: μαθηματικά 32
drwxr-xr-x 2 ρίζα ρίζας 2 Mar 19 10: Φυσική 32
-rw-r-r- ρίζα 1 ρίζας 36 Mar 19 10: 35 qpaper.txt

Για να τραβήξετε ένα στιγμιότυπο, χρησιμοποιήστε την ακόλουθη σύνταξη:

zfs στιγμιότυπο <σύστημα αρχείων | όγκος @ <snap >>

[καθηγητές root @ li1467-130] # zfs snapshot testpool / καθηγητές @ 03-2016
[καθηγητές root @ li1467-130] # zfs list -t snapshot
ΟΝΟΜΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ AVAIL ΑΝΑΦΕΡΟΜΕΝΟΣ MOUNTPOINT
testpool / καθηγητές @ 03-2016 0 - 20.5K -

Θα διαγράψω τώρα το αρχείο που δημιουργήθηκε και θα το εξάγουμε από τα στιγμιότυπα

[καθηγητές root @ li1467-130] # rm -rf qpaper.txt
[καθηγητές root @ li1467-130] # ls
χημεία μαθηματικά φυσική
[καθηγητές root @ li1467-130] # cd .zfs
[root @ li1467-130 .zfs] # cd στιγμιότυπο / 03-2016 /
[root @ li1467-130 03-2016] # ls
χημεία μαθηματικά φυσική qpaper.txt

[root @ li1467-130 03-2016] # cp -a qpaper.txt / testpool / καθηγητές /
[root @ li1467-130 03-2016] # cd / testpool / καθηγητές /
[καθηγητές root @ li1467-130] # ls
χημεία μαθηματικά φυσική qpaper.txt

Το διαγραμμένο αρχείο είναι πίσω στη θέση του.

Μπορούμε να απαριθμήσουμε όλα τα διαθέσιμα στιγμιότυπα χρησιμοποιώντας τη λίστα zfs:

[root @ li1467-130 ~] # λίστα zfs -t στιγμιότυπο
ΟΝΟΜΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ AVAIL ΑΝΑΦΕΡΟΜΕΝΟΣ MOUNTPOINT
testpool / καθηγητές @ 03-2016 10.5K - 20.5K -

Τέλος, ας καταστρέψουμε το στιγμιότυπο χρησιμοποιώντας την εντολή καταστροφής zfs:

zfs καταστρέφουν <σύστημα αρχείων | volume @ <snap >>

[root @ li1467-130 ~] # zfs καταστρέφουν το testpool / καθηγητές @ 03-2016

[root @ li1467-130 ~] # λίστα zfs -t στιγμιότυπο
δεν υπάρχουν διαθέσιμα σύνολα δεδομένων

Συμπέρασμα

Σε αυτό το άρθρο, έχετε μάθει πώς να εγκαταστήσετε το ZFS στο CentOS 7 και να χρησιμοποιήσετε κάποιες βασικές και σημαντικές εντολές από τα βοηθητικά προγράμματα zpool και zfs. Αυτό δεν είναι μια ολοκληρωμένη λίστα. Το ZFS έχει πολύ περισσότερες δυνατότητες και μπορείτε να το εξερευνήσετε περαιτέρω από αυτό επίσημη σελίδα.

Αφήστε μια απάντηση

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.

GTranslate Your license is inactive or expired, please subscribe again!