Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 19/06/2018, à 09:44

maxire

Re : partage NFS entre ubuntu 18.04 et 16.04

Salut,

Le problème de disponibilité du service sera le même avec sftp si tu lances le serveur épisodiquement.
L'option permissions est décrite dans la page man de ntfs/ntfs-3g.
Dans un premier temps il ne s'agit pas de la comprendre mais de l'essayer.

#192.168.1.7:/home/elsoyo /media/NFS nfs defaults,auto,x-systemd.automount,_netdev,user,noatime,intr 0 0

Non,

#192.168.1.7:/home/elsoyo /media/NFS nfs defaults,x-systemd.automount,_netdev 0 0

Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#27 Le 20/06/2018, à 23:07

alex2423

Re : partage NFS entre ubuntu 18.04 et 16.04

merci pour ton post très détaillé. Lorsque je vais m'installerai un petit serveur nanopc, ton topic pourra peut être m'aider avec toutes ces réflexions que tu as décrite.

Hors ligne

#28 Le 21/06/2018, à 20:48

kaleo

Re : partage NFS entre ubuntu 18.04 et 16.04

En explorant une piste évoquée au cours d'une discussion j'ai réussi à réduire les problèmes rencontrés pour ce partage NFS grâce à autofs :

https://doc.ubuntu-fr.org/autofs

J'ai désactivé les lignes dans le fstab du client (en mettant un # devant la ligne) qui concernent NFS :

root# vi /etc/fstab
root# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda6 during installation
UUID=b7fcad02-d73e-49bd-a2fd-7caa77be6557 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=7485050a-6c36-4827-811c-7fdddfec842c none            swap    sw              0       0

##ip_serveur_par_freebox:/home/elsoyo /media/NFS nfs defaults,user,noauto,noatime,intr 0 0
#ip_serveur_par_liaisoon_directe:/dev/sdb2 /media/NFS ext4 defaults,user,auto,noatime,intr 0 0
#ip_serveur_par_freebox:/home/elsoyo /media/NFS nfs defaults,auto,x-systemd.automount,_netdev,user,noatime,intr 0 0
#ip_serveur_par_freebox:/home/elsoyo /media/NFS nfs soft,bg,defaults,user,auto,noatime,intr 0 0

##ip_serveur_par_freebox:/media/elsoyo/ENFANT /media/NFSNTFS nfs defaults,user,noauto,noatime,intr 0 0
#ip_serveur_par_freebox:/media/elsoyo/ENFANT /media/NFSNTFS nfs defaults,auto,x-systemd.automount,_netdev,user,noatime,intr 0 0
#ip_serveur_par_freebox:/media/elsoyo/ENFANT /media/NFSNTFS nfs soft,bg,defaults,user,auto,noatime,intr 0 0

J'ai installé sur le client le paquet autofs

root# sudo apt-get install autofs
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  libcuda1-375 libjpeg62:i386 libllvm4.0 libllvm4.0:i386 libqpdf17
  libxtst6:i386 nvidia-opencl-icd-375
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
Les NOUVEAUX paquets suivants seront installés :
  autofs
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 464 ko dans les archives.
Après cette opération, 2 954 ko d'espace disque supplémentaires seront utilisés.
Réception de:1 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 autofs amd64 5.1.1-1ubuntu3.1 [464 kB]
464 ko réceptionnés en 0s (948 ko/s)
Sélection du paquet autofs précédemment désélectionné.
(Lecture de la base de données... 243450 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../autofs_5.1.1-1ubuntu3.1_amd64.deb ...
Dépaquetage de autofs (5.1.1-1ubuntu3.1) ...
Traitement des actions différées (« triggers ») pour systemd (229-4ubuntu21.2) ...
Traitement des actions différées (« triggers ») pour ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Traitement des actions différées (« triggers ») pour man-db (2.7.5-1) ...
Paramétrage de autofs (5.1.1-1ubuntu3.1) ...

Creating config file /etc/auto.master with new version

Creating config file /etc/auto.net with new version

Creating config file /etc/auto.misc with new version

Creating config file /etc/auto.smb with new version

Creating config file /etc/autofs.conf with new version

Creating config file /etc/default/autofs with new version
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Traitement des actions différées (« triggers ») pour systemd (229-4ubuntu21.2) ...
Traitement des actions différées (« triggers ») pour ureadahead (0.100.0-19) ...

J'ai modifié le fichier /etc/auto.master crée lors de l'installation du paquet autofs :

root# cat /etc/auto.master
#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
#/misc	/etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#	"nosuid" and "nodev" options unless the "suid" and "dev"
#	options are explicitly given.
#
#/net	-hosts
#
# Include /etc/auto.master.d/*.autofs
# The included files must conform to the format of this file.
#
+dir:/etc/auto.master.d
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master

Je ne comprends pas les  + au début de certaines lignes

kaleo$ vi /etc/auto.master
kaleo$ cat /etc/auto.master
#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
#/misc	/etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#	"nosuid" and "nodev" options unless the "suid" and "dev"
#	options are explicitly given.
#
#/net	-hosts
#
# Include /etc/auto.master.d/*.autofs
# The included files must conform to the format of this file.
#
+dir:/etc/auto.master.d
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master

/mnt     /etc/auto.mnt   --ghost,--timeout=10
kaleo$ ls -al /etc/auto.master 
-rw-r--r-- 1 root root 844 juin  19 20:35 /etc/auto.master

Ce fichier est le fichier qui permet de mettre en place, configurer, autofs, avec des options.

L'option '--ghost' crée un répertoire pour le montage du média désiré. Ainsi, le point de montage est créé lorsqu'on y accède.
Si cette option est omise, aucun répertoire n'est créé et l'utilisateur devra connaître précisément le point de montage d'un périphérique pour y accéder.

L'option '--timeout=30' (ou '-t=30') correspond au temps (secondes) pendant lequel le montage reste activé après le dernier accès au dossier partagé ( ne mettez pas une valeur trop importante !).
Il faut attendre au moins 30 secondes entre le dernier accès à un partage samba et l'extinction d'un ordinateur distant pour ne pas avoir de soucis pour le démontage des dossiers distants.

Je ne sais pas d'où viennent ces options, ni si c'est la meilleure combinaison d'options

J'ai crée le fichier /etc/auto.mnt qui est utilisé par le fichier /etc/auto.master

/mnt     /etc/auto.mnt   --ghost,--timeout=10

kaleo$ vi /etc/auto.mnt
kaleo$ cat /etc/auto.mnt
NTFS_ENFANT -fstype=nfs,rw,soft,timeo=10,intr ip_serveur_par_freebox:/media/elsoyo/ENFANT
kaleo$ ls -al /etc/auto.mnt
-rw-r--r-- 1 root root 148 juin  20 18:00 /etc/auto.mnt

J'ai mis des options :

L'option 'rw' donne des droits de lecture/écriture (ReadWrite).

hard ou soft — Spécifie si le programme utilisant un fichier via une connexion NFS doit s'arrêter et attendre (hard) que le serveur revienne en ligne si l'hôte servant le système de fichiers exporté est indisponible, ou s'il doit rapporter une erreur (soft).
Si l'option hard est spécifiée, l'utilisateur ne peut pas terminer le processus attendant la communication NFS pour continuer, à moins que l'option intr ne soit également spécifiée.
Si l'option soft, est spécifiée, l'utilisateur peut ajouter une option timeo=<valeur> où <valeur> spécifie la durée d'attente en secondes avant de rapporter l'erreur.

intr — Autorise l'interruption des requêtes NFS si le serveur est en panne ou ne peut pas être atteint.

Mais je ne sais pas si l'ordre de ses options est important ni s'il existe une meilleure combinaison d'options

http://manpages.ubuntu.com/manpages/tru … nfs.5.html

Je redémarre le programme autofs :

root# service autofs restart
kaleo$ service autofs status
● autofs.service - LSB: Automounts filesystems on demand
   Loaded: loaded (/etc/init.d/autofs; bad; vendor preset: enabled)
   Active: active (running) since jeu. 2018-06-21 17:22:39 CEST; 2h 44min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1620 ExecStart=/etc/init.d/autofs start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/autofs.service
           └─1651 /usr/sbin/automount --pid-file /var/run/autofs.pid

juin 21 17:22:39 Godefroy systemd[1]: Starting LSB: Automounts filesystems on demand...
juin 21 17:22:39 Godefroy autofs[1620]:  * Starting automount...
juin 21 17:22:39 Godefroy autofs[1620]:    ...done.
juin 21 17:22:39 Godefroy systemd[1]: Started LSB: Automounts filesystems on demand.
kaleo$

Dans le serveur j'ai laissé juste la ligne concernant NTFS (plus compliqué que l'ext4 a géré) active

elsoyo$ cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#		to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#

#/home/elsoyo *(rw,sync,no_subtree_check)

#/media/elsoyo/ENFANT ip_client_par_freebox/24(rw,no_root_squash,insecure)
/media/elsoyo/ENFANT ip_client_par_freebox/24(rw,no_root_squash,no_subtree_check)

J'ai rechargé puis redémarré le serveur NFS (je ne sais pas si c'est utile) :

root# /etc/init.d/nfs-kernel-server reload
[ ok ] Reloading nfs-kernel-server configuration (via systemctl): nfs-kernel-server.service.
root# /etc/init.d/nfs-kernel-server restart
[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.

Après divers tests il s'avère que le client démarre "vite" et s'arrête "vite" lol lol big_smile lol lol

Le problème détecté est lorsque j'arrête le serveur avec des fichier(s) ou répertoire(s) issus du montage NFS ouverts chez le client, la fermeture "rapidement" après l'arrêt du serveur de ces fichiers et dossiers prend alors un peu de temps.
Une fois fermés, j'attends 10 secondes (je ne sais pas si c'est utile) puis j'éteins le client.

Il s'arrête alors rapidement tongue

Pour accéder sur le client au répertoire /media/elsoyo/ENFANT du serveur je me  déplace (graphiquement ou dans un terminal) dans /mnt/NTFS_ENFANT (ce chemin est défini dans /etc/auto.master et /etc/auto.mnt)

Je ne sais pas s'il est possible de faire mieux en utilisant d'autres options de autofs, mount, automount et ou nfs

Dernière modification par kaleo (Le 23/06/2018, à 10:06)

Hors ligne

#29 Le 21/06/2018, à 21:47

kaleo

Re : partage NFS entre ubuntu 18.04 et 16.04

D'accord je vais essayer

#192.168.1.7:/home/elsoyo /media/NFS nfs defaults,auto,x-systemd.automount,_netdev,user,noatime,intr 0 0

Dernière modification par kaleo (Le 21/06/2018, à 21:48)

Hors ligne

#30 Le 21/06/2018, à 23:22

maxire

Re : partage NFS entre ubuntu 18.04 et 16.04

x-systemd.automount est l'équivalent de autofs sans configuration particulière, c'est SystemD qui fait tout le travail.
Cela fonctionne, mais attention comme toujours avec les connexions réseau cela peut mal se passer en cas de perte de celles-ci.


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#31 Le 22/06/2018, à 16:47

maxire

Re : partage NFS entre ubuntu 18.04 et 16.04

Salut,

C'est anecdotique, je viens d'avoir un gros problème de montage nfs, plus d'une minute pour lé réaliser.
La solution a été de nettoyer entièrement le répertoire /var/lib/nfs (attention, il fait de la résistance, bien arrêter tous les services nfs, redémarrage système sans connexion réseau).
C'est le répertoire de travail de nfs et je pense qu'il devrait être nettoyé régulièrement ou en tout cas à chaque changement de version de nfs.
À part ce montage trop long, finalement réglé, x-systemd.automount fait parfaitement le travail.
À propos, pas d'option auto avec x-systemd.automount.

Une exemple de montage:

frankenstein.home:/srv/nfsroot/Musique	/media/Musique	nfs	_netdev,x-systemd.automount,x-systemd.timeout=1,x-systemd.device-timeout=1,users	0	0

_netdev n'est pas indispensable car systemd l'applique systématiquement lors d'un montage via fstab lorsque le type de fichiers est réseau (nfs,cifs,sshfs), les autres options je ne me souviens plus très bien pourquoi je les avais ajoutées. Un problème de temps de réponse je pense.

J'ai noté tout de même un effet gênant, suite à l'utilisation de cette option x-systemd.automount, le bureau Mate se couvre des icônes des partitions disques montées via fstab, et pas moyen pour le moment de les faire disparaître en conservant les icônes des partitions réseau montées.


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#32 Le 22/06/2018, à 18:13

bruno

Re : partage NFS entre ubuntu 18.04 et 16.04

Tant qu'à faire autant utiliser systemd et abandonner fstab.

Si le montage doit se faire dans/media/Musique, il faut créer un fichier /lib/systemd/system/media-Musique.mount  (le fichier doit être nommé d'après le point de monatge):

[Unit]
Description=mount nfs share
Wants=network-online.target rpc-statd.service
After=network-online.target rpc-statd.service

[Mount]

What=example.com:/srv/nfsroot/Musique
Where=/media/Musique
Type=nfs
StandardOutput=syslog
StandardError=syslog
TimeoutSec=10

[Install]
WantedBy=multi-user.target

On peut tester avec :

sudo systemctl start media-Musique.mount

Si on veut activer le montage au démarrage :

sudo systemctl enable media-Musique.mount

Encore mieux le montage à la demande lors d'un accès au point de montage. (ne pas activer avec la commande précédente dans ce cas)
On crée un second fichier /lib/systemd/system/media-Musique.autimount :

[Unit]
DefaultDependencies=no
After=remote-fs-pre.target
Wants=remote-fs-pre.target
Conflicts=umount.target
Before=umount.target

[Automount]
Where=/media/Musique
DirectoryMode=0755
TimeoutIdleSec=0

[Install]
WantedBy=multi-user.target

On active :

sudo systemctl enable media-Musique.automount

On lance :

sudo systemctl start media-Musique.automount

et on teste en accédant au dossier /media/Musique.


N.B. : si on préféère on peut aussi créer les fichiers sous /etc/systemd/system

Dernière modification par bruno (Le 22/06/2018, à 18:15)

Hors ligne

#33 Le 23/06/2018, à 00:06

maxire

Re : partage NFS entre ubuntu 18.04 et 16.04

Oui Bruno et non, l'utilisation de l'option x-systemd.automount dans fstab réalise l'intégralité de ce que tu décris et très simplement, pas besoin de créer un service une unité SystemD et de l'activer!
Tout se fait de manière implicite, SystemD fait tout le travail.
Information dans la page man systemd.automount

Dernière modification par maxire (Le 23/06/2018, à 13:21)


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#34 Le 23/06/2018, à 06:35

bruno

Re : partage NFS entre ubuntu 18.04 et 16.04

Je suis d'accord. Je voulais  juste montrer comment faire cela avec les unités de montages systemd (qui ne sont pas des services wink).
Cela a certains avantages par rapport au fstab dans le cas de montages réseau.

Dernière modification par bruno (Le 23/06/2018, à 13:59)

Hors ligne

#35 Le 23/06/2018, à 13:22

maxire

Re : partage NFS entre ubuntu 18.04 et 16.04

Oups, Unité SystemD pas un service.
C'est vrai que la table fstab est devenue facultative (en fait elle l'a toujours été).


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#36 Le 01/07/2018, à 18:47

kaleo

Re : partage NFS entre ubuntu 18.04 et 16.04

Avec l'identifiant root sur le client

J'ai arrêté autofs :

service autofs stop

J'ai tenté

root:~# cat /lib/systemd/system/mnt-NTFS_ENFANT.mount
[Unit]
Description=mount nfs share
Wants=network-online.target rpc-statd.service
After=network-online.target rpc-statd.service

[Mount]

What=192.168.1.7:/media/elsoyo/ENFANT
Where=/mnt/NTFS_ENFANT
Type=nfs
StandardOutput=syslog
StandardError=syslog
TimeoutSec=10

[Install]
WantedBy=multi-user.target
systemctl start mnt-NTFS_ENFANT.mount

J'ai ensuite arrêté le serveur puis rapidement le client pour tester

Puis, j'ai essayé ceci (avec mnt-NTFS_ENFANT.mount et autofs arrêtés)

root:~# cat /lib/systemd/system/mnt-NTFS_ENFANT.automount
[Unit]
DefaultDependencies=no
After=remote-fs-pre.target
Wants=remote-fs-pre.target
Conflicts=umount.target
Before=umount.target

[AutoMount]
Where=/mnt/NTFS_ENFANT
DirectoryMode=0755
TimeoutIdleSec=0

[Install]
WantedBy=multi-user.target
systemctl start mnt-NTFS_ENFANT.automount

J'ai ensuite arrêté le serveur puis rapidement le client pour tester

L'unité SystemD est plus facile à mettre en place que pour autofs.

Mais, dans les deux cas (mnt-NTFS_ENFANT.mount ou mnt-NTFS_ENFANT.automount),  autofs reste pour moi plus performant quand j'arrête le serveur avec des fichiers et répertoires ouverts sur le client puis "rapidement" le client (je ferme avant les fichiers et répertoires ouverts en provenance du serveur arrêté)

Peut-être cela est du à l'utilisation de la commande mount ?
Il me semble que autofs est basé sur la commande automount.
Peut-être une unité SystemD serait aussi performante qu'autofs avec la commande automount ?

Remarque :
Le montage en passant par /mnt/ semble préférable à /media/.
Cela éviterait des problèmes avec des montages de DVD, USB, etc. qui utilisent /media/

Dernière modification par kaleo (Le 01/07/2018, à 19:16)

Hors ligne

#37 Le 02/07/2018, à 06:19

kholo

Re : partage NFS entre ubuntu 18.04 et 16.04

salut,
sur ta remarque...
les montages automatiques de Ubuntu se font dans /media/utilisateur et non /media...
donc pas de soucis de ce côté...
de la même façon, tu peux créer un dossier ( /media/nfs ) dédié à ces montages

Hors ligne

#38 Le 14/07/2018, à 18:23

kaleo

Re : partage NFS entre ubuntu 18.04 et 16.04

Merci wink
Je vais clore cette discussion et passer à sftp.
Pour cela je vais inverser le client et le serveur par rapport à ceux de NFS

A bientôt sur SFTP smile

Hors ligne