Journal Sauvegardez vos nœuds

Posté par  .
Étiquettes : aucune
8
7
sept.
2010
Salut,

Ayant la gestion d'un certain nombre de nœuds réseaux, j'étais à la recherche d'un outils simple qui me permettrait d'effectuer la sauvegarde de ceux-ci. N'ayant pas vraiment trouvé mon bonheur, et surtout un script générique, j'ai donc écrit le mien. Et, pensant qu'il peut servir à d'autre, je le met donc en ligne.

http://github.com/spack/nodesnap

Ce logiciel permet de se connecter en SSH ou Telnet aux appareils Cisco et à la gamme OmniSwitch d'Alcatel-Lucent. Il entre ensuite la commande qui va bien afin d'avoir la configuration courante.

Une fois qu'il obtient la configuration, il la compare avec la dernière configuration sauvegardée. S'il y a une différence, la nouvelle configuration est sauvegardée sinon il n'est pas nécessaire de la garder.

Il peut ensuite envoyer un mail contenant la nouvelle configuration ou simplement la différence avec la précédente.

Nodesnap est écrit en Python et dépend de pexpect (http://www.noah.org/wiki/Pexpect ). Il s'agit de mon premier logiciel écrit en Python (le but était d'ailleurs de découvrir le langage), mais aussi de ma première publication de code. Donc il manque encore pas mal de choses à arranger notamment au niveau du "packaging".

La configuration du script se fait à l'aide d'un fichier INI dont le format est décrit dans le fichier README. Le code, lui, est sous licence AGPLv3 (Pourquoi ? Parce que !).

Il reste encore quelques trucs à arranger mais c'est utilisable. Et comme dit :
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Ce qu'il reste à faire :

- Documenter le code et passer de français à anglais
- Gestion des options de la ligne de commande
- Un système de log un peut plus propre
- Support des threads pour des connexions parallèles

J'espère que ça vous sera utile et le commentaires sont les bienvenus.
  • # Rancid

    Posté par  . Évalué à 3.

    Il existe aussi Rancid (Really Awesome New Cisco confIg Differ), compatible avec Cisco, Juniper et je crois qu'il y a aussi un script pour le rendre compatible avec les OmniSwitch.
    • [^] # Re: Rancid

      Posté par  . Évalué à 2.

      Il est vrai qu'il existe Rancid, qui est assez pratique et facile d'utilisation.

      Ce que je regrette avec Rancid c'est qu'il ne fonctionne pas (sauf erreur de ma part) avec les Switch HP, qui représente 95 % de mon parc informatique.

      Heureusement que des scripts de sauvegarde existe pour les HP.
      • [^] # Re: Rancid

        Posté par  (site web personnel) . Évalué à 1.

        Tu utilises quoi comme script pour les HP, je suis intéressé de tester.
      • [^] # Re: Rancid

        Posté par  . Évalué à 3.

        Pour l'utiliser massivement, je peux confirmer que tu fais erreur - rancid fonctionne au moins avec les procurve 2810, 2626, 2650

        il est également utile pour les foundry/brocade, juniper JunOS et ScreenOS (quel que soit le hardware), switchs Cisco (y compris chassis), routeurs cisco (y compris chassis), pix cisco, asa cisco, etc...
  • # « Sauvegardez vos nœuds »

    Posté par  . Évalué à 10.

    Sauvegardez vos nœuds, utilisez régulièrement tonyglandyl ! \o/
  • # Utilisation avec un "vcs"

    Posté par  . Évalué à 2.

    Un truc sympa peut-être d'utiliser un gestionnaire de sources (je crois que mercurial est écrit en python) pour "commiter" automatiquement les modifications après la sauvegarde.

    Il est alors possible de garder traces des anciennes versions en cas de "rollback", de générer facilement des "diff" et même avoir un front web pour suivre tout ça.
    • [^] # Re: Utilisation avec un "vcs"

      Posté par  . Évalué à 2.

      Tu veux dire, comme fait RANCID ? :)

      Bon, plus sérieusement, RANCID a l'inconvénient d'etre ecrit suivant le principe "juste marche" (ie, a grands coups de shellscripts/perl/expect peu lisibles) et est du coup très difficile a modifier ou à étendre. Par contre il fait beaucoup de choses très simplement dès l'installation et beaucoup d'équpements réseaux sont supportés de base.

      AMHA cet outil mériterait une réécriture avec une archi plus moderne (genre support d'autre chose que CVS, modularité...). Peut etre une piste pour l'auteur de nodesnap ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.