Modifications entre les versions 8 et 9
Version 8 à la date du 2006-11-30 11:03:47
Taille: 4784
Éditeur: JérômeSantini
Commentaire:
Version 9 à la date du 2006-11-30 11:57:19
Taille: 4959
Éditeur: ThomasNoël
Commentaire: warning pour les testeurs
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
Ligne 44: Ligne 45:

||<#ff0000> [[BR]]'''ATTENTION SI VOUS VOULEZ TESTER, NE LE FAITES PAS SUR UN VRAI SERVEUR :[[BR]] UNE MAUVAISE MANIPULATION PEUT DETRUIRE VOTRE /etc !!'''[[BR]][[BR]]||

Suivi via SVN des configurations serveurs

histoire de relancer la discussion

But : garder un historique des modificatios des fichiers de configuration de chaque serveur. Pour

  • pouvoir revenir en arrière
  • comprendre la source d'un problème
  • documenter sans peine l'évolution de son réseau :-)

Questions et problèmes à résoudre

Préservation des uid.gid de chaque fichier

  • En fait le //in-place-import// est l'usage normal de svn, ou tout de moins celui que j'ai toujours fait : ça vient naturellement à l'idée quand on utilise svn. -- ProgFou

  • Pour asvn je sais pas... En fait je me demande si on veut vraiment que SVN remplace un backup ou serve simplement au suivi. Il faut voir aussi si le "svn diff" montrera bien les changements de propriétés, vu qu'elles ne sont apparement enregistrées que lors du //commit//... À tester donc. -- ProgFou

  • Si SVN pouvait faire backup en même temps, ça serait pas mal, quand même. -- TN bof... notre système de backup actuel fait déjà bien ce boulot là -- J.
  • autre idée, plus simple (ou plutôt, que je préfere :-D) : svn de base pour le suivi du *contenu* des fichiers, et traiter la question des permissions / droits à part (avec ["Aide"]/Tripwire, par exemple) ou ne pas la traiter du tout. Je crois que je vais partir là-dessus dans un premier temps -- J.
  • C'est surtout le point à propos de la traçabilité de l'orginie des modifications qui me parait important. Voir si on peut avoir la même chose en utilisant tout simplement le contenu de $USERNAME ?

Repository central ou propre à chaque machine ?

  • argument pour le local à chaque machine : évite d'avoir un svn centrale accessible en lecture/écriture depuis chaque serveur. (même soucis que l'accés à un serveur de backup central, en fait)
  • argument pour le central :
    • tout en un seul point, plus facile pour faire des comparaisons entre plusieurs bécanes (vraiment ?)
    • permettrait d'installer un serveur trac pour faciliter le suivi d'un réseau

Proposition de méthodologie pour la gestion des /etc en svn

Proposition de schéma global, suite à une 'tite discussion avec Thomas

  • svn local à chaque serveur
  • un serveur svn/trac central, sur un réseau protégé, qui se synchronise (pull) et consolide les données, en excluant éventuellement les fichiers "sensibles" via une liste centralisée, plus faicle à maintenir (/etc/passwd, /etc/shadow, fichiers avec mot de passe). Voir comment faire le merge des différents repository ? ou les garder côte à côté ? bof
  • à côté de cela, un ["Aide"] ultra minimal, pour éviter l'avalanche de mails, pour le suivi des chgt de permissions

mini doc svn à faire

BRATTENTION SI VOUS VOULEZ TESTER, NE LE FAITES PAS SUR UN VRAI SERVEUR :BR UNE MAUVAISE MANIPULATION PEUT DETRUIRE VOTRE /etc !!BRBR

Création du dépôt svn (à faire sur chaque serveur)

Standardiser avec le même répertoire sur chaque serveur (dans un repertoire /srv/svn/, par exemple)

# création du dépôt
% svnadmin create /srv/svn 
# racine du dépôt
% svn mkdir file:///tmp/svn/base -m "création" 
# pour ajouter la racine au système svn
% svn co file:///tmp/svn/base . 
# ajouter le répertoire /etc au système svn
% svn -N add /etc
% svn propedit svn:ignore etc
<lister les fichiers à ne pas faire gérer par svn, pour diverses raisons (par exemple : mtab, ou passwd, passwd-, shadow, shadow- sur certains serveurs où ce suivi n'est pas voulu)>
# ajouter à svn le contenu du /etc
% svn --force add /etc/ 
# premier commit : les fichiers sont effectivement enregistrés dans svn
% svn commit -m "version initiale"

Vérification nocturne qu'aucun commit n'a été oublié

% cat >/etc/cron.daily/verification-svn
#!/bin/sh
cd /etc
svn status
% chmod 755 /etc/cron.daily/verification-svn

Aprés une série de modification dans /etc

commit

Revenir en arrière

attention aux permissions

Vérifier les dernières modifications

  • diff

Actions suivantes

  • le faire en vrai, et voir ce que ça donne vraiment ?
  • Voir comment faire le merge des différents repository
  • synchro des svn : via commandes svn, ou rsync ?

Etude/EtcDansSvn (dernière édition le 2008-02-21 22:10:05 par localhost)