Loading

NOM

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

SYNOPSIS

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

       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@suse.de>

                                 19 mars 2007                     sm-notify(8)