nfs

Nécessaire à drupalvm http://docs.drupalvm.com/en/latest/deployment/multisite/

Source : https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mo...

Network File System sur 14.04 pour monter un répertoire distant sur un srv 14.04.
On apelle host le srv qui partage (ip 1.2.3.4) et client (ip 111.111.111.111) le srv qui va monter ce partage.

install

Sur le serveur :  sudo apt-get update ; sudo apt-get install nfs-kernel-server

Sur le client:  sudo apt-get update ; sudo apt-get install nfs-common

Sur le srv : création  des partages

/home et /var/nfs
sudo mkdir /var/nfs ; sudo chown nobody:nogroup /var/nfs

Syntaxe de conf: directory_to_share   client(share_option1,...,share_optionN)
sudo vi /etc/exports
/home       111.111.111.111(rw,sync,no_root_squash,no_subtree_check)
/var/nfs    111.111.111.111(rw,sync,no_subtree_check)

avec rw le client peux y écrire ; sync force NFS à écrire les modifs sur le disque avant de répondre (pour stabilité et consistence) ; no_subtree_check cette vérification est processus où l'hôte doit vérifier si le fichier est effectivement disponible dans l'arbre exporté pour chaque request. Cela peut causer pd quand un fichier est renommé pendant que le client l'a ouvert. Dans presque tous les cas, il est préférable de désactiver la vérification sous-arborescence ;
no_root_squash par défaut, NFS traduit les requêtes d'un utilisateur root à distance dans un utilisateur non privilégié sur le serveur. C'est plus sécurisé de ne pas permettre qu'un compte root du client l'utilisation du système de fichiers de l'hôte en tant que root. Cette directive désactive cela pour certaines actions.

Créer la table NFS avec  sudo exportfs -a  puis   sudo service nfs-kernel-server start
S'il manque portmap : sudo apt-get install portmap
https://help.ubuntu.com/community/SettingUpNFSHowTo#NFS_server

Création points de montage et monter les partages sur le client

sudo mkdir -p /mnt/nfs/home
sudo mkdir -p /mnt/nfs/var/nfs
sudo mount 1.2.3.4:/home /mnt/nfs/home
sudo mount 1.2.3.4:/var/nfs /mnt/nfs/var/nfs

Vérifier avec un df -h
Il en  manque un parce que les deux actions que nous avions exportées sont sur le même système de fichiers sur le serveur distant, ce qui signifie qu'ils partagent le même pool de stockage. Les colonnes Avail et Use% pour etre précises recessite qu'une seule action soit ajoutée dans les calculs.
Pour voir tous les partages NFS montés (et accessible du client) :
mount -t nfs

tester l'accès

sudo touch /mnt/nfs/home/test_home
sudo touch /mnt/nfs/var/nfs/test_var_nfs

vérifier les propriétaires :

ls -l /mnt/nfs/home/test_home    (ex:  -rw-r--r-- 1 root root 0 Apr 30 14:43 test_home)
car root-squash désactivé

ls -l /mnt/nfs/var/nfs/test_var_nfs
(ex:  -rw-r--r-- 1 nobody nogroup 0 Apr 30 14:44 test_var_nfs

montage automatique

man nfs

Sur le client, conf du fstab pour monter automatiquement au boot les partages (ajouter les lignes à la fin)  
sudo vi /etc/fstab

1.2.3.4:/home    /mnt/nfs/home   nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0
1.2.3.4:/var/nfs    /mnt/nfs/var/nfs   nfs auto,noatime,nolock,bg,nfsvers=4,sec=krb5p,intr,tcp,actimeo=1800 0 0

et pour démonter ?

cd ~
sudo umount /mnt/nfs/home
sudo umount /mnt/nfs/var/nfs
df -h
logo drush