Available in

(8) (8)/fr

Contents

NOM

sm−notify − Emettre des notifications de redémarrage NSM

SYNOPSIS

/sbin/sm−notify [−dfq] [−m duree] [−p port] [−P chemin] [−v nom ]

DESCRIPTION

Verrouiller un fichier sur NFS (v2 et v3) nécessite un outil pour informer les pairs en cas de redémarrage, afin que les clients puissent reprendre leur verrou après une panne de serveur, et/ou que les serveurs libèrent les verrous tenus par le client qui a redémarré.

C’est un processus en deux étapes : pendant le fonctionnement normal, un mécanisme est nécessaire pour connaître les hôtes qui doivent être informés d’un redémarrage. Et bien−sûr, les notifications doivent être émises pendant le redémarrage. Le protocole que l’on utilise pour cela s’appelle NSM, pour Network Status Monitor (ou moniteur d’état du réseau).

Cette implémentation sépare cela en différents programmes. rpc.statd suit les hôtes qui doivent être notifiés et sm−notify effectue la notification. Quand rpc.statd est lancé, il démarre généralement sm−notify mais cela est configurable.

Fonctionnement
Pour chaque serveur ou client NFS à surveiller, rpc.statd crée un fichier dans /var/lib/nfs/sm et supprime le fichier si la surveillance n’est plus nécessaire.

Quand la machine est redémarrée, sm−notify parcourt ces fichiers et notifie le démon partenaire statd de ces machines.

Chaque machine a un état NSM, un entier qui est incrémenté à chaque redémarrage de la machine. Ce compteur est stocké dans /var/lib/nfs/state, et mis à jour par sm−notify.

Sécurité
sm−notify
n’a pas constamment besoin des droits administrateur, il les libère donc dès que possible. Il a néanmoins besoin d’effectuer des changements dans les répertoires sm et sm.bak avant de pouvoir abandonner les droits ; ceux−ci doivent être autorisés en écriture pour un utilisateur non−privilégié. Si ces répertoires appartiennent à un utilisateur autre que root, sm−notify abaisse ses droits à ceux de cet utilisateur après avoir créé des sockets pour émettre des requêtes (pour lesquelles il a besoin de droits root) mais avant d’envoyer la moindre réponse (qui est la cause la plus probable de violation de droit).

OPTIONS

−m duree

Pour notifier les hôtes, sm−notify essaye de contacter chaque hôte pendant 15 minutes, et abandonne s’il n’y arrive pas dans ce laps de temps.

En utilisant l’option −m, vous pouvez outrepasser cela. La valeur 0 indique à sm−notify de réessayer indéfiniment; toute autre valeur est interprétée comme le nombre de minutes maximum pendant lesquelles sm−notify doit réessayer.

−v addresse_ip−ou−nom_hote

Cette option indique à sm−notify de se lier à l’adresse IP addresse_ip, (ou à l’adresse IP de l’hôte nom_hote) afin que tous les paquets de notification aient cette adresse pour origine. Cela est utile pour le basculement en cas d’échecs de NFS. Le nom donné est aussi utilisé en tant que nom de cet hôte dans la requête NSM.

−p port

ordonne à sm−notify de se lier au numéro de port IP. Si cette option n’est pas indiquée, il essayera de se lier à un port privilégié inférieur à 1024, choisi au hasard.

−q

Cela supprime tous les messages sauf les messages d’erreur durant la collecte de la liste d’hôtes.

−P /chemin/vers/repertoire/etat

Si sm−notify doit regarder dans un fichier d’état placé à un endroit non standard, le chemin peut être donné ici. Les répertoires sm et sm.bak et le fichier state doivent exister dans ce répertoire avec les noms standards.

−f

Si le chemin d’état n’a pas été réinitialisé avec −P, sm−notify va normalement créer un fichier dans /var/run pour indiquer qu’il a été lancé. Si ce fichier est trouvé quand sm−notify démarre, il ne sera pas relancé (car ce n’est normalement nécessaire qu’une fois par démarrage). Si −f (pour force) est donné, sm−notify se lancera même si le fichier dans /var/run est présent.

−n

Ne pas mettre à jour l’état NSM. Ceci est uniquement pour tester. Utiliser cette option implique −f.

−d

Permet le débogage. Par défaut, sm−notify fait un fork et se met en arrière−plan après avoir obtenu la liste des hôtes depuis /var/lib/nfs/sm.

FICHIERS

/var/lib/nfs/state
/var/lib/nfs/sm/*
/var/lib/nfs/sm.bak/*
/var/run/sm−notify.pid

VOIR AUSSI

rpc.nfsd(8), portmap(8)

AUTEURS

Olaf Kirch <okir [AT] suse.de>

COMMENTS

blog comments powered by Disqus