Question Comparaison de la configuration du système d'exploitation de deux serveurs RHEL


Quel est le meilleur moyen de comparer la configuration du système d'exploitation de deux serveurs (ou plus) RHEL 5.X? Existe-t-il des outils / packages disponibles pour cela? Notez que je recherche principalement des OS ajustables (paramètres du noyau, etc.).

Je voudrais ajouter la raison pour laquelle nous cherchons à faire cela:

  1. Nous avons une large empreinte zLinux et aimerions comparer notre "version standard" à celle d'une distribution fournie par un fournisseur. zLinux est un peu une architecture spécialisée et a souvent des paramètres recommandés différents de ceux de x86_64.

  2. Si nous avons un cluster de serveurs hautement disponible, comparez / assurez-vous que les configurations de système d'exploitation sont cohérentes entre eux.

Remarque: je ne cherche pas une solution centralisée comme une marionnette ou un chef. Je conviens que ce sont les solutions optimales qui sont définitivement sur la feuille de route, mais pas ce que je cherche en ce moment :)


6
2017-07-12 12:48


origine


Je voudrais ajouter la raison pour laquelle nous cherchons à faire cela: - Patrick


Réponses:


Ce n'est pas tout à fait complet, mais le nombre de tours par minute peut être un bon début. Vous pouvez obtenir la liste des packages installés:

rpm -qa > pkgs.txt

En utilisant des outils UNIX standard tels que wc et cmp, vous pouvez savoir quels packages sont / ne sont pas sur les deux ordinateurs.

Après cela, vous pouvez utiliser l'option --verify pour voir si l'un des fichiers de configuration est différent:

rpm --verify cat pkgs.txt

Voir le page de manuel rpm pour obtenir des informations sur les informations signalées par le drapeau --verify.


1
2017-07-12 12:58



Merci pour votre réponse! Nous ne sommes pas trop inquiets pour les paquets (bien que ce soit certainement important), nous sommes plus préoccupés par les paramètres ajustables dans cet environnement spécialisé. - Patrick


La meilleure solution est une solution centralisée car "la configuration du système d'exploitation" n'existe pas. Linux ne connaissant pas de registre, la configuration est répartie sur le système de fichiers. Cela rend assez difficile de faire ce que vous voulez.

Cela dit, vous pouvez simplement copier le répertoire /etc de tous les serveurs en un seul endroit et ensuite les comparer avec diff -uNr

Cela devrait vous donner 90% de la configuration, mais vous aurez aussi beaucoup de faux négatifs.


1
2017-07-12 12:59



Je suis d'accord. La solution centralisée est la meilleure. Mais dans ce cas, nous avons une «version standard», donc nous avons quelque chose à comparer. - Patrick


Montez les partitions root du système d'exploitation dans / mnt / osA et / mnt / osB

diff -rq /mnt/osA /mnt/osB vous donnerait une sortie similaire à celle de Solaris lucompare

Vous pouvez ensuite comparer les fichiers les plus importants, tels que sysctl.conf, httpd.conf, etc.

Et comment pourrais-je oublier Plan! Avec Blueprint, vous pouvez utiliser un système et obtenir une recette de ce qui a été modifié par rapport à l'installation par défaut.


1
2017-07-12 14:28



Je ne connaissais pas Blueprint, chose assez intéressante. Va l'essayer dans un proche avenir - Anarko_Bizounours


À moins que vos programmes et outils adhèrent à la structure de répertoire suggérée et toute la configuration se termine dans /etc, alors il n’existe pas de moyen facile de "diff" installer votre système d’exploitation.


0
2017-07-12 12:59



Nous ne sommes pas inquiets pour les programmes, mais pour l’installation d’un système d’exploitation à la vanille. - Patrick


sysctl peut être ton ami. Quelque chose dans le genre de:

for host in foo.example.com bar.example.com ; do
  ssh root@$host sysctl -a > $host.conf
done

Et puis vous diff. :)


0
2017-07-12 14:31