Ceci est une ancienne révision du document !
NFS
Installer un serveur NFS
Installer le paquet nfs-kernel-server.
Ajouter un utilisateur :
useradd -r -s /usr/sbin/nologin nfs-client
Récupérer son UID et modifier /etc/exports :
/data/synchro/local 192.168.1.0/24(rw,sync,no_subtree_check,all_squash,anonuid=998,anongid=998)
Tous les utilisateurs accédant à ce partage seront considérés comme l'utilisateur à l'UID 998 (cet utilisateur sur le serveur doit avoir les droits en écriture sur le dossier partagé).
Seuls les clients avec l'IP 192.168.1.0/24 pourront monter le partage. Il n'est normalement pas possible de se connecter au serveur NFS avec un port supérieur à 1024. Dans le cas d'une machine virtuelle NATée, le serveur NFS verra le port translaté, avec une valeur supérieure à 1024, il est possible de permettre cet accès avec l'option insecure dans le partage (source). Cette option est aussi nécessaire pour que les Macs puissent se connecter.
Pour appliquer les changements :
exportfs -a
Connaître les versions NFS exposées par le serveur
cat /proc/fs/nfsd/versions
Connaître les partages exposés par un serveur
showmount -e <ip ou nom d'hôte du serveur>
Monter un système de fichier NFS
Installer le paquet nfs-common.
mkdir /nfs sudo mount 192.168.1.40:/data/synchro/local /nfs
Pour débugguer les problèmes de montage, il est possible d'ajouter l'option --verbose à mount, ou bien regarder les logs sur le serveurs dans /var/log/daemon.log.
On peut ajouter dans /etc/fstab :
192.168.1.40:/data/synchro/local /nfs nfs _netdev,rw,auto,defaults 0 0
et exécuter :
sudo mount -a
Monter automatiquement le système de fichier NFS
Attention, autofs semble déprécié depuis Debian 7 Wheezy.
Pour monter le système à la demande, et le demonter après un temps d'inutilisation: rajouter dans /etc/fstab la ligne :
- /etc/fstab
172.21.200.200:/srv/nfs /nfs nfs noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0
x-systemd.device-timeout=10: abandonner le montage au bout de 10 secondestimeo=14: relancer une requête RPC au bout de 14 msx-systemd.idle-timeout=1min: démonter au bout de 1 min d'inactivité
mount -a ne fonctionne alors pas, il faut redémarrer la machine pour que ce soit pris en compte.
Sur Mac
Aller dans le Finder > Aller > Se connecter au serveur, puis saisir: nfs://172.21.200.200:/srv/nfs (source).
Si les fichiers avec des chemins avec caractères spéciaux posent problème, ajouter dans /etc/nfs.conf sur le client (source) :
nfs.client.mount.options = nfc
Si la connexion ne veut pas s'établir, faire une de ces actions (source) :
rsync
Pour faire depuis MacOS du rsync avec un montage NFS, il faut ajouter l'option suivante pour gérer les chemins de fichiers avec des accents :
--iconv=utf-8-mac,utf-8pour un transfert du Mac vers le montage NFS ;--iconv=utf-8-mac,utf-8-macpour un transfert du montage NFS vers le Mac.