====== NFS - Δικτυακό Σύστημα Αρχείων ====== ===== NFS v4 ===== ==== Ρύθμιση nfs εξυπηρετητή ==== Αρχικά εγκαθιστούμε τα απαιτούμενα πακέτα aptitude install nfs-kernel-server nfs-common Τροποποιούμε το αρχείο /etc/default/nfs-kernel-server ώστε να εκκινηθούν οι απαραίτητες υπηρεσίες statd και idmapd NEED_STATD=yes NEED_IDMAPD=yes Ορίζουμε εάν θέλουμε το domain στο αρχείο /etc/idmapd.conf. Εάν το ορίσουμε διαφορετικό από το localdomain Θα πρέπει να κάνουμε την αντίστοιχη ρύθμιση και στους clients. Domain = mydomain.local Για την ρύθμιση του NFS v4 χρειάζεται να δημιουργήσουμε έναν φάκελο ως το root σύστημα που θα εξάγουμε. mkdir /export Μέσα σε αυτόν δημιουργούμε τον φάκελο με το υποσύστημα αρχείων που θέλουμε να εξάγουμε mkdir /export/home Στην συνέχεια τροποποιούμε το αρχείο /etc/fstab στον server ώστε να προσαρτήσει τον τοπικό φάκελο /home στο /export/home /home /export/home none rw,bind 0 0 Στο αρχείο /etc/exports προσθέτουμε τις παρακάτω γραμμές για να εξάγουμε τον φάκελο /home/. Απαραίτητο να ορίσουμε την επιλογή fsid=0 στον root φάκελο που εξάγουμε /export 192.168.1.0/255.255.255.0(rw,async,fsid=0,insecure,no_subtree_check) /export/home 192.168.1.0/255.255.255.0(rw,async,nohide,insecure,no_subtree_check) Για να φορτωθούν τα ανανεωμένα περιεχόμενα του αρχείου /etc/exports εκτελούμε exportfs -rv Για να βελτιώσουμε την ασφάλεια θα πρέπει να ρυθμίσουμε επίσης τα αρχεία /etc/hosts.allow και /etc/hosts.deny Επανεκκινούμε τις υπηρεσίες /etc/init.d/nfs-common restart /etc/init.d/nfs-kernel-server restart ==== Ρύθμιση nfs πελάτη ==== Εγκαθιστούμε και εδώ τις υπηρεσίες aptitude install nfs-kernel-server nfs-common Ορίζουμε στο αρχείο /etc/hosts την ip του nfs server υπολογιστή. Π.χ. 192.168.1.100 nfsserver Τροποποιούμε το αρχείο /etc/fstab εισάγωντας μια γραμμή όπως η παρακάτω nfsserver:/home /home nfs defaults,nolock 0 0 Επανεκκινούμε τις υπηρεσίες /etc/init.d/nfs-common restart /etc/init.d/nfs-kernel-server restart ===== NFS v3 ===== ==== Ρύθμιση nfs εξυπηρετητή ==== Αρχικά εγκαθιστούμε τα απαιτούμενα πακέτα aptitude install nfs-kernel-server nfs-common Στην συνέχεια τροποποιούμε το αρχείο /etc/exports προσθέτωντας την παρακάτω γραμμή για να εξάγουμε τον φάκελο /home/ /home 192.168.1.0/255.255.255.0(rw,async,no_subtree_check) Για να φορτωθούν τα ανανεωμένα περιεχόμενα του αρχείου /etc/exports εκτελούμε exportfs -rv Για να βελτιώσουμε την ασφάλεια θα πρέπει να ρυθμίσουμε επίσης τα αρχεία /etc/hosts.allow και /etc/hosts.deny Επανεκκινούμε τις υπηρεσίες service nfs-common restart service nfs-kernel-server restart ==== Ρύθμιση nfs πελάτη ==== Εγκαθιστούμε και εδώ τις υπηρεσίες aptitude install nfs-kernel-server nfs-common Τροποποιούμε το αρχείο /etc/default/nfs-common ώστε να εκκινηθούν οι απαραίτητες υπηρεσίες statd και idmapd NEED_STATD=yes NEED_IDMAPD=yes Ορίζουμε το domain στο αρχείο /etc/idmapd.conf (εάν έχει οριστεί διαφορετικό από localdomain στον nfs server) Domain = mydomain.local Ορίζουμε στο αρχείο /etc/hosts την ip του nfs server υπολογιστή. Π.χ. 192.168.1.100 nfsserver Τροποποιούμε το αρχείο /etc/fstab εισάγωντας μια γραμμή όπως η παρακάτω (ΠΡΟΣΟΧΗ η παρακάτω ρύθμιση δεν λειτούργησε καθόλου καλά όταν συνδέθηκαν πολλοί χρήστες - είτε λόγω επιλογών εδώ, είτε λόγω ρυθμίσεων export. Να αφεθεί nfsserver:/home /home nfs defaults,nolock 0 0) nfsserver:/home /home nfs4 defaults,nolock 0 0 Επανεκκινούμε τις υπηρεσίες /etc/init.d/nfs-common restart /etc/init.d/nfs-kernel-server restart ===== Δοκιμές ===== Για να δούμε την λίστα των nfs shares σε ένα μηχάνημα π.χ. με ip 192.168.1.10 εκτελούμε showmount -e 192.168.1.10 Δοκιμάζουμε να προσαρτήσουμε το /home mount /home Εάν η εντολή mount εκτελεστεί σωστά τότε έχουμε ολοκληρώσει σωστά την ρύθμιση Επιβεβαιώνουμε με mount | grep home Θα μας εμφανίσει κάτι ανάλογο με την παρακάτω γραμμή myserver:/home on /home type nfs (rw,nolock,addr=192.168.1.100) Τέλος δοκιμάζουμε να κάνουμε επανεκκίνηση του ΗΥ. Εάν έχουμε ήδη εγκαταστήσει την υπηρεσία nis μπορούμε πλέον να κάνουμε login και να μπούμε στον φάκελο μας από το client μηχάνημα ===== Επιδόσεις ===== Μπορούμε να αυξήσουμε τον αριθμό των διεργασιών του εξυπηρετητή από 8 που είναι το προκαθορισμένο Τροποποιούμε το αρχείο /etc/default/nfs-kernel-server π.χ. σε RPCNFSDCOUNT=32 ===== Αντιμετώπιση προβλημάτων ===== Η σειρά εκκίνησης των διεργασιών των υπηρεσιών που χρειάζεται να εκκινηθούν είναι η παρακάτω rpc.portmap, rpc.mountd, rpc.nfsd, rpc.statd, rpc.lockd (if necessary), and rpc.rquotad ==== Καθυστέρηση απόκρισης clients ==== Δοκιμή των παρακάτω ρυθμίσεων στο αρχείο /etc/fstab στους client noatime, soft (προσοχή μπορεί να χαθούν δεδομένα) Η παρακάτω εντολή δίνει πιο αναλυτικά τις ρυθμίσεις με τις οποίες έχει συνδεθεί ο client στον nfs πόρο cat /proc/mounts ====== Πηγές ====== * Performance and tuning * https://cromwell-intl.com/open-source/performance-tuning/nfs.html * NFS v4 * http://jkossen.nl/2009/05/12/simple-nfsv4-configuration-for-debian-and-ubuntu.html * http://wiki.linux-nfs.org/wiki/index.php/Enduser_doc_kerberos * NFS v3 * http://www.debianadmin.com/network-file-system-nfs-server-and-client-configuration-in-debian.html