NFS (AIX)

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Partage de fichiers réseau (NFS)
Commandes mount, exportfs, showmount
Contexte AIX — client et serveur NFS, avec des options spécifiques pour des bases Oracle en Concurrent I/O
Voir aussi Nfsstat · Mkcifsmnt · Crfs

NFS (Network File System) permet de partager des systèmes de fichiers entre machines Unix/Linux. Sous AIX, la configuration du serveur passe par /etc/exports et exportfs, celle du client par mount et /etc/filesystems.

Côté serveur : exporter un système de fichiers

Ajouter une entrée dans /etc/exports (avec vi) puis recharger les exports :

vi /etc/exports
echo "/export/mksysb/client1 -sec=sys:krb5p:krb5i:krb5:dh,rw=client1,root=client1" >> /etc/exports
exportfs -a

Côté client : monter un export

mkdir /mksysb
mount serveur:/export/mksysb/client1 /mksysb
df -g /mksysb

Une fois le montage en place, il devient possible par exemple de déposer un mksysb directement sur le NFS distant :

mksysb /mksysb/mksysb_client1_140607_1500

Voir les exports disponibles sur un serveur

showmount -e nomserveur

Retourne soit la liste des répertoires exportés avec leurs droits d'accès, soit un message indiquant qu'aucun système de fichiers n'est exporté.

Cas d'usage : NFS pour des bases de données Oracle

Pour des tablespaces ou des zones d'archive Oracle hébergées sur NFS, quelques options de montage font une vraie différence de performance et d'intégrité par rapport à un montage NFS générique :

Option Rôle
cio Concurrent I/O — très recommandé pour les bases Oracle, autorise des accès concurrents sans sérialisation inutile
dio Direct I/O — alternative à cio quand ce dernier n'est pas disponible ou adapté
rbr Read-before-write, garantit l'intégrité des données
noatime N'actualise pas les timestamps d'accès, gain de performance
largefiles Support des fichiers volumineux, indispensable pour des datafiles Oracle
bg Montage en arrière-plan si le serveur n'est pas immédiatement disponible
intr Permet d'interrompre une opération bloquée sur le système de fichiers

Exemple de stanza /etc/filesystems pour un export Oracle monté en NFS :

/oracle/arch:
        dev             = nfsserver:/export/oracle/arch
        vfs             = nfs
        nodename        = nfsserver
        mount           = true
        options         = bg,soft,intr,timeo=600,rsize=32768,wsize=32768
        account         = false

Pour un système de fichiers JFS2 local dédié à Oracle (hors NFS, mais avec les mêmes réglages), voir Crfs :

crfs -v jfs2 -d /dev/oracle_vg/oracle_lv -m /oracle -A yes -p rw -a agblksize=4096

Une fois les stanzas définies dans /etc/filesystems, monter l'ensemble avec :

mount -a

Référence IBM sur l'interaction entre Direct I/O, Concurrent I/O et NFS : https://www.ibm.com/docs/fr/aix/7.2?topic=ndcs-interaction-dio-cio-regular-opens-mapped-files-nfs

Problèmes fréquents : reverse lookup

Un montage qui échoue avec une erreur système générique cache souvent un problème de résolution DNS inverse côté serveur :

mount serveur:/home /mnt
nfsmnthelp: 1831-019 nas500: System call error number -1.
mount: 1831-008 giving up on:
serveur:/home
System call error number -1.

La solution consiste à corriger la table d'hôtes sur le serveur distant, soit en éditant /etc/hosts, soit via smitty hostent.

Voir aussi

  • Nfsstat — statistiques et diagnostics NFS côté client/serveur
  • Mkcifsmnt — montage CIFS, alternative à NFS pour un partage Windows/Samba
  • Crfs — création de systèmes de fichiers (JFS2, NFS...)