NFS (AIX)
| 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.