Ρύθμιση τυπικών συστημάτων αρχείων Linux και ρύθμιση παραμέτρων διακομιστή NFSv4 - Μέρος 2


Ένας Πιστοποιημένος Μηχανικός του Ιδρύματος Linux (LFCE) έχει εκπαιδευτεί για τη ρύθμιση, διαμόρφωση, διαχείριση και αντιμετώπιση προβλημάτων δικτυακών υπηρεσιών σε συστήματα Linux και είναι υπεύθυνος για το σχεδιασμό και την υλοποίηση της αρχιτεκτονικής συστήματος και την επίλυση καθημερινών σχετικών θέματα.

Παρουσιάζοντας το Πρόγραμμα Πιστοποίησης του Ιδρύματος Linux (LFCE).

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

  1. Εγκατάσταση υπηρεσιών δικτύου και ρύθμιση παραμέτρων της αυτόματης εκκίνησης κατά την εκκίνηση – Μέρος 1

Θα σας δείξω τώρα πώς να ρυθμίσετε σωστά τον διακομιστή σας NFSv4 (χωρίς ασφάλεια ελέγχου ταυτότητας), ώστε να μπορείτε να ρυθμίσετε κοινόχρηστα στοιχεία δικτύου για χρήση σε πελάτες Linux σαν να είχαν εγκατασταθεί τοπικά αυτά τα συστήματα αρχείων. Λάβετε υπόψη ότι μπορείτε να χρησιμοποιήσετε LDAP ή NIS για σκοπούς ελέγχου ταυτότητας, αλλά και οι δύο επιλογές δεν εμπίπτουν στο πεδίο εφαρμογής της πιστοποίησης LFCE.

Διαμόρφωση διακομιστή NFSv4

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

  1. τον καθορισμό και τη διαμόρφωση των τοπικών καταλόγων που θέλουμε να μοιραστούμε μέσω του δικτύου και
  2. Αυτόματη προσάρτηση αυτών των κοινόχρηστων στοιχείων δικτύου σε πελάτες, είτε μέσω του αρχείου /etc/fstab είτε μέσω του βοηθητικού προγράμματος αυτόματης προσάρτησης που βασίζεται σε πυρήνα (autofs).

Θα εξηγήσουμε αργότερα πότε να επιλέξετε τη μία ή την άλλη μέθοδο.

Πριν να είμαστε, πρέπει να βεβαιωθούμε ότι ο δαίμονας idmapd εκτελείται και έχει ρυθμιστεί. Αυτή η υπηρεσία εκτελεί την αντιστοίχιση ονομάτων NFSv4 (user@mydomain) σε αναγνωριστικά χρηστών και ομάδων και απαιτείται για την υλοποίηση ενός διακομιστή NFSv4.

Επεξεργαστείτε το /etc/default/nfs-common για να ενεργοποιήσετε το idmapd.

NEED_IDMAPD=YES

Και επεξεργαστείτε το /etc/idmapd.conf με το τοπικό σας όνομα τομέα (η προεπιλογή είναι το FQDN του κεντρικού υπολογιστή).

Domain = yourdomain.com

Στη συνέχεια ξεκινήστε το idmapd.

service nfs-common start 	[sysvinit / upstart based systems]
systemctl start nfs-common 	[systemd based systems]

Εξαγωγή μεριδίων δικτύου

Το αρχείο /etc/exports περιέχει τις κύριες οδηγίες ρύθμισης παραμέτρων για τον διακομιστή μας NFS, καθορίζει τα συστήματα αρχείων που θα εξαχθούν σε απομακρυσμένους κεντρικούς υπολογιστές και καθορίζει τις διαθέσιμες επιλογές. Σε αυτό το αρχείο, κάθε κοινόχρηστο στοιχείο δικτύου υποδεικνύεται χρησιμοποιώντας μια ξεχωριστή γραμμή, η οποία έχει την ακόλουθη δομή από προεπιλογή:

/filesystem/to/export client1([options]) clientN([options])

Όπου /filesystem/to/export είναι η απόλυτη διαδρομή προς το εξαγόμενο σύστημα αρχείων, ενώ το client1 (μέχρι τον πελάτηN) αντιπροσωπεύει τον συγκεκριμένο πελάτη (όνομα κεντρικού υπολογιστή ή διεύθυνση IP) ή το δίκτυο (επιτρέπονται οι χαρακτήρες μπαλαντέρ) στο οποίο εξάγεται το μερίδιο. Τέλος, οι επιλογές είναι μια λίστα τιμών διαχωρισμένων με κόμματα (επιλογές) που λαμβάνονται υπόψη κατά την εξαγωγή της μετοχής, αντίστοιχα. Λάβετε υπόψη ότι δεν υπάρχουν κενά μεταξύ κάθε ονόματος κεντρικού υπολογιστή και των παρενθέσεων που προηγούνται.

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

  1. ro (συντομογραφία μόνο για ανάγνωση): Οι απομακρυσμένοι πελάτες μπορούν να προσαρτήσουν τα εξαγόμενα συστήματα αρχείων μόνο με δικαιώματα ανάγνωσης.
  2. rw (συντομογραφία για ανάγνωση-εγγραφή): Επιτρέπει στους απομακρυσμένους κεντρικούς υπολογιστές να κάνουν αλλαγές εγγραφής στα εξαγόμενα συστήματα αρχείων.
  3. wdelay (συντομογραφία για καθυστέρηση εγγραφής): Ο διακομιστής NFS καθυστερεί την πραγματοποίηση αλλαγών στο δίσκο εάν υποψιάζεται ότι επίκειται άλλο σχετικό αίτημα εγγραφής. Ωστόσο, εάν ο διακομιστής NFS λάβει πολλά μικρά άσχετα αιτήματα, αυτή η επιλογή θα μειώσει την απόδοση, επομένως η επιλογή no_wdelay μπορεί να χρησιμοποιηθεί για να την απενεργοποιήσετε.
  4. συγχρονισμός: Ο διακομιστής NFS απαντά σε αιτήματα μόνο μετά τη δέσμευση των αλλαγών στη μόνιμη αποθήκευση (δηλαδή στον σκληρό δίσκο). Το αντίθετο, η επιλογή async, μπορεί να αυξήσει την απόδοση αλλά με κόστος απώλειας δεδομένων ή καταστροφής μετά από μια ακάθαρτη επανεκκίνηση διακομιστή.
  5. root_squash: Αποτρέπει τους απομακρυσμένους χρήστες root από το να έχουν δικαιώματα υπερχρήστη στον διακομιστή και τους εκχωρεί το αναγνωριστικό χρήστη για κανέναν χρήστη. Εάν θέλετε να κάνετε "squash " όλους τους χρήστες (και όχι μόνο root), μπορείτε να χρησιμοποιήσετε την επιλογή all_squash.
  6. anonuid/anongid: Ορίζει ρητά το UID και το GID του ανώνυμου λογαριασμού (κανείς).
  7. subtree_check: Εάν εξάγεται μόνο ένας υποκατάλογος ενός συστήματος αρχείων, αυτή η επιλογή επαληθεύει ότι ένα αρχείο που ζητήθηκε βρίσκεται σε αυτόν τον εξαγόμενο υποκατάλογο. Από την άλλη πλευρά, εάν γίνει εξαγωγή ολόκληρου του συστήματος αρχείων, η απενεργοποίηση αυτής της επιλογής με το no_subtree_check θα επιταχύνει τις μεταφορές. Η προεπιλεγμένη επιλογή στις μέρες μας είναι no_subtree_check καθώς ο έλεγχος υποδέντρου τείνει να προκαλεί περισσότερα προβλήματα από ό,τι αξίζει, σύμφωνα με τις εξαγωγές του ανθρώπου 5.
  8. fsid=0 | root (μηδέν ή ρίζα): Καθορίζει ότι το καθορισμένο σύστημα αρχείων είναι η ρίζα πολλών εξαγόμενων καταλόγων (ισχύει μόνο στο NFSv4).

Σε αυτό το άρθρο θα χρησιμοποιήσουμε τους καταλόγους /NFS-SHARE και /NFS-SHARE/mydir στο 192.168.0.10 (διακομιστής NFS) ως δοκιμαστικά συστήματα αρχείων.

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

showmount -e [IP or hostname]

Στην παραπάνω έξοδο, μπορούμε να δούμε ότι οι μετοχές /NFS-SHARE και /NFS-SHARE/mydir στο 192.168.0.10 έχουν εξαχθεί σε πελάτη με διεύθυνση IP 192.168.0.17.

Η αρχική μας διαμόρφωση (ανατρέξτε στον κατάλογο /etc/exports στον διακομιστή NFS σας) για τον εξαγόμενο κατάλογο είναι η εξής:

/NFS-SHARE  	192.168.0.17(fsid=0,no_subtree_check,rw,root_squash,sync,anonuid=1000,anongid=1000)
/NFS-SHARE/mydir    	192.168.0.17(ro,sync,no_subtree_check)

Μετά την επεξεργασία του αρχείου διαμόρφωσης, πρέπει να επανεκκινήσουμε την υπηρεσία NFS:

service nfs-kernel-server restart 		[sysvinit / upstart based system]
systemctl restart nfs-server			[systemd based systems]
Τοποθέτηση εξαγόμενων κοινών χρήσεων δικτύου με χρήση autofs

Ίσως θελήσετε να ανατρέξετε στο Μέρος 5 της σειράς LFCS ("Πώς να προσαρτήσετε/αποπροσαρτήσετε τοπικά και δικτυακά συστήματα αρχείων στο Linux") για λεπτομέρειες σχετικά με την τοποθέτηση απομακρυσμένων κοινόχρηστων στοιχείων NFS κατ' απαίτηση χρησιμοποιώντας την εντολή mount ή μόνιμα μέσω του αρχείου /etc/fstab.

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

Το Autofs διαβάζει /etc/auto.master, το οποίο έχει την ακόλουθη μορφή:

[mount point]	[map file]

Όπου το [αρχείο χάρτη] χρησιμοποιείται για να υποδείξει πολλά σημεία προσάρτησης μέσα στο [σημείο προσάρτησης].

Αυτό το κύριο αρχείο χάρτη (/etc/auto.master) χρησιμοποιείται στη συνέχεια για τον προσδιορισμό των σημείων προσάρτησης που ορίζονται και, στη συνέχεια, ξεκινά μια διαδικασία αυτόματης προσάρτησης με τις καθορισμένες παραμέτρους για κάθε σημείο προσάρτησης.

Τοποθέτηση εξαγόμενων μετοχών NFS με χρήση autofs

Επεξεργαστείτε το /etc/auto.master ως εξής:

/media/nfs	/etc/auto.nfs-share	--timeout=60

και δημιουργήστε ένα αρχείο χάρτη με το όνομα /etc/auto.nfs-share με τα ακόλουθα περιεχόμενα:

writeable_share  -fstype=nfs4 192.168.0.10:/
non_writeable_share  -fstype=nfs4 192.168.0.10:/mydir

Σημειώστε ότι το πρώτο πεδίο στο /etc/auto.nfs-share είναι το όνομα ενός υποκαταλόγου μέσα στο /media/nfs. Κάθε υποκατάλογος δημιουργείται δυναμικά από το autofs.

Τώρα, επανεκκινήστε την υπηρεσία autofs:

service autofs restart 			[sysvinit / upstart based systems]
systemctl restart autofs 			[systemd based systems]

και τέλος, για να ενεργοποιήσετε την εκκίνηση του autoofs κατά την εκκίνηση, εκτελέστε την ακόλουθη εντολή:

chkconfig --level 345 autofs on
systemctl enable autofs 			[systemd based systems]
Εξέταση μονταρισμένων συστημάτων αρχείων μετά την εκκίνηση του δαίμονα autofs

Όταν κάνουμε επανεκκίνηση του autoofs, η εντολή mount μας δείχνει ότι το αρχείο χάρτη (/etc/auto.nfs-share) έχει προσαρτηθεί στο καθορισμένο κατάλογο στο /etc/auto.master:

Λάβετε υπόψη ότι δεν έχουν προσαρτηθεί ακόμη κατάλογοι, αλλά θα είναι αυτόματα όταν προσπαθούμε να αποκτήσουμε πρόσβαση στα κοινόχρηστα στοιχεία που καθορίζονται στο /etc/auto.nfs-share:

Όπως μπορούμε να δούμε, η υπηρεσία autofs "προσαρτά "το αρχείο χάρτη, ας πούμε έτσι, αλλά περιμένει μέχρι να υποβληθεί αίτημα στα συστήματα αρχείων για να τα προσαρτήσουν πραγματικά.

Εκτέλεση δοκιμών εγγραφής σε εξαγόμενα συστήματα αρχείων

Οι επιλογές anonuid και anongid, μαζί με το root_squash όπως ορίστηκε στην πρώτη κοινή χρήση, μας επιτρέπουν να αντιστοιχίσουμε αιτήματα που εκτελούνται από τον χρήστη root στο πελάτη σε έναν τοπικό λογαριασμό στο διακομιστή.

Με άλλα λόγια, όταν το root στον πελάτη δημιουργεί ένα αρχείο σε αυτόν τον εξαγόμενο κατάλογο, η ιδιοκτησία του θα αντιστοιχιστεί αυτόματα στον λογαριασμό χρήστη με UID και GID=1000, υπό την προϋπόθεση ότι αυτός ο λογαριασμός υπάρχει στον διακομιστή:

συμπέρασμα

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

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