Next Previous Contents

5. Montage NFS

5.1 Présentation

NFS ou Network File System (initialement un produit SUN) permet de partager des disques entre stations UNIX, voire entre serveur NFS UNIX et client Windows PC-NFS.

ATTENTION: Vous devez faire en sorte que les uid et gid de vos utilisateurs soient strictement identiques entre votre serveur NFS et vos clients NFS, le mieux est de configurer un domaine NIS.

5.2 Configurer la partie serveur NFS

Pour cela on doit configurer la partie serveur, le poste linux qui partagera ses répertoires.

Pour cela on doit installer sur une Mandrake 6.1 le package knfsd-1.4.1-2mdk.i586.rpm (pour kernel NFS) que vous trouverez sur le CD d'install.

Le fichier de lancement de nfs, se trouve sous /etc/rc.d/init.d (automatique à l'installation par RPM). Voici le contenu du fichier nfs :

#!/bin/sh  
# 
# nfs           This shell script takes care of starting and stopping 
#               the NFS services. 
# 
# chkconfig: - 60 20 
# description: NFS is a popular protocol for file sharing across TCP/IP  \   
#              networks. This service provides NFS server functionality,  \   
#              which is configured via the /etc/exports file. 
# probe: true 
 
# Source function library. 
. /etc/rc.d/init.d/functions 
 
# Source networking configuration. 
if [ ! -f /etc/sysconfig/network ]; then 
    exit 0 
fi 
 
. /etc/sysconfig/network 
 
# Check that networking is up. 
[ ${NETWORKING} = "no" ] && exit 0 
 
[ -x /usr/sbin/rpc.nfsd ] || exit 0 
[ -x /usr/sbin/rpc.mountd ] || exit 0 
[ -x /usr/sbin/exportfs ] || exit 0 
[ -f /etc/exports ] || exit 0 
 
# Number of servers to be started uo by default 
RPCNFSDCOUNT=8 
 
# See how we were called. 
case "$1" in 
  start) 
        # Start daemons. 
        action "Starting NFS services: " /usr/sbin/exportfs -r 
        echo -n "Starting NFS statd: " 
        daemon rpc.statd 
        echo 
        echo -n "Starting NFS quotas: " 
        daemon rpc.rquotad 
        echo 
        echo -n "Starting NFS mountd: " 
        daemon rpc.mountd --no-nfs-version 3 
        echo 
        echo -n "Starting NFS daemon: " 
        daemon rpc.nfsd $RPCNFSDCOUNT 
        echo 
        touch /var/lock/subsys/nfs 
        ;; 
  stop) 
        # Stop daemons. 
        action "Shutting down NFS services: " /usr/sbin/exportfs -au 
        echo -n "Shutting down NFS mountd: " 
        killproc rpc.mountd 
        echo 
        echo -n "Shutting down NFS daemon: " 
        killproc nfsd 
        echo 
        echo -n "Shutting down NFS quotas: " 
        killproc rpc.rquotad 
        echo 
        echo -n "Shutting down NFS statd: " 
        killproc rpc.statd 
        echo 
        rm -f /var/lock/subsys/nfs 
        ;; 
  status) 
        status rpc.statd 
        status rpc.mountd 
        status nfsd 
        status rpc.rquotad 
        ;; 
  restart) 
        $0 stop 
        $0 start 
        ;; 
  reload) 
        /usr/sbin/exportfs 
        touch /var/lock/subsys/nfs 
        ;; 
  probe) 
        if [ ! -f /var/lock/subsys/nfs ] ; then 
          echo start; exit 0 
        fi 
        /sbin/pidof rpc.mountd >/dev/null 2>&1; MOUNTD="$?" 
        /sbin/pidof nfsd >/dev/null 2>&1; NFSD="$?" 
        if [ $MOUNTD = 1 -o $NFSD = 1 ] ; then 
          echo restart; exit 0 
        fi 
        if [ /etc/exports -nt /var/lock/subsys/nfs ] ; then 
          echo reload; exit 0 
        fi 
        ;; 
  *) 
        echo "Usage: nfs {start|stop|status|restart|reload}" 
        exit 1 
esac 
 
exit 0 
 

Maintenant vous devez mettre en place les liens suivants (automatique à l'installation par RPM):

ln -s /etc/rc.d/init.d/nfs /etc/rc0.d/K20nfs  
ln -s /etc/rc.d/init.d/nfs /etc/rc1.d/K20nfs 
ln -s /etc/rc.d/init.d/nfs /etc/rc2.d/K20nfs 
ln -s /etc/rc.d/init.d/nfs /etc/rc3.d/S60nfs 
ln -s /etc/rc.d/init.d/nfs /etc/rc4.d/S60nfs 
ln -s /etc/rc.d/init.d/nfs /etc/rc5.d/S60nfs 
ln -s /etc/rc.d/init.d/nfs /etc/rc6.d/K20nfs 
 

Ca y est c'est fini au prochain reboot, votre machine sera serveur NFS, si vous ne voulez pas attendre le reboot tapez:

/etc/rc.d/init.d/nfs start   
 

Maintenant nous allons configurer les répertoires à exporter et vers quelles machines. Tout cela se passe dans le fichier /etc/exports de la machine serveur NFS qui a pour nom obelix, admettons que vouliez exporter "partager" votre répertoire /alphonse à la station zoulou en lecture écriture (rw) et en lecture seule (ro) à shuttle, le fichier contiendra donc:

/alphonse zoulou(rw) shuttle(ro)   
 

Pour que le fichier soit pris en compte, en tant que root vous devez taper:

exportfs -a   
 

NOTE: A chaque modification de ce fichier, vous devrez taper cette commande pour que la modification soit prise en compte.

5.3 Configuration de la partie cliente NFS

Sur une machine cliente NFS pour monter des filesystems exportés par un serveur NFS, vous devez modifier le fichier /etc/fstab. En reprenant notre exemple, sur la machine cliente zoulou, cela donnera la ligne supplémentaire (en plus des montages de partitions habituelles):

obelix:/alphonse    /alphonse    nfs    defaults    0 0   
 

/alphonse (deuxième champ de la ligne) étant le point de montage sur zoulou, c'est un réperoire à créer.

ATTENTION: Ce répertoire doit être vide avant tout montage.

Pour prendre en compte le montage vous devez taper:

mount -a   
 

Next Previous Contents