2014-08-28 6 views
-1

J'ai deux plates-formes CentOS. Les deux exécutent "CentOS version 5.10 (Final)". L'un est une machine "réelle" et l'autre est une machine virtuelle. Les deux sont 64 bits. Appelez la vraie machine Prod et la VM Spare. Quand j'ai eu ce concert, on m'a dit que les deux machines étaient identiques. Spare est censé être un disque de rechange pour Prod. Il est maintenant évident que ce n'est pas vrai. Les deux machines ont différentes listes de repo yum. Il existe des packs d'installation à la recherche de doublons provenant de différents canaux. Prod ressemble à un serveur. Spare a l'air d'avoir été le bureau de quelqu'un avec Evolution, OpenOffice et d'autres logiciels de bureau.Centos VM vs Centos "réel" machine yum différences de paquets

Prod et Spare ont des applications similaires installées mais trouvées dans différents repos de sorte que les niveaux de mise à jour yum disponibles sont différents.

J'ai essayé de désactiver les repos non standard et de désinstaller les paquets non standard. Cela a conduit à des larmes comme la suppression de X-Windows, par exemple, a conduit à la suppression de centaines de modules dépendants qui à leur tour ont des personnes à charge qui, à la fin, fait Spare sourd, aveugle et muet. Heureusement, nous avions une copie de la VM.

Mon idée la plus récente est de faire migrer les deux machines vers le dernier niveau stable de CentOS et d'avoir un do-over. L'inconvénient (je pense) est le temps d'arrêt de la machine de production et du logiciel personnalisé inconnu par rapport aux nouveaux problèmes de niveau de paquet. Ma question fondamentale est, quelle est la meilleure façon de rendre les plates-formes aussi identiques que possible, et minimiser (ou mieux encore annuler) les temps d'arrêt.

Comment devrions-nous maintenir les paquets et autres installations à travers eux à l'avenir? Je suis au courant de Puppet, Chef et CFEngine mais je ne les ai pas utilisés auparavant. Est-ce la voie à suivre pour l'avenir? Autre chose?

+2

Ce n'est pas même un peu une question liée à la programmation, et en tant que tel sujet est éteint. – CarCzar

Répondre

1

Ce n'est pas vraiment une programmation question relative (Vous pourriez avoir plus de chance à https://serverfault.com/)

Votre question est assez large, mais essentiellement vous voulez deux machines qui sont aussi identiques que possible, une production, une machine virtuelle, correct?

Deux machines deviennent dans un état cohérent, vous aurez besoin d'un outil de configuration quelconque. Ansible est probablement le plus facile à obtenir l'installation et se fissurer avec. À sa configuration la plus basique, est fondamentalement de beaux wrappers autour de SSH. Avec cela, vous pouvez créer cohérent et suivre facilement les modifications apportées aux serveurs au fur et à mesure.

Pour avoir une VM, vous pouvez facilement provisionner, je recommande de lire sur Vagrant et Packer. Vagrant pour créer facilement une VM qui reflète précisément votre environnement de production, packer afin que vous puissiez créer à plusieurs reprises une image dans diverses plates-formes. Dans un cas idéal, vous pouvez utiliser l'outil de configuration et l'utiliser pour provisionner votre machine virtuelle, ce qui signifie que vous pouvez d'abord tester vos modifications de production sur une machine virtuelle.

En général, ayant une configuration automatisée reproductible, vous pouvez facilement tester, je vous recommande également la lecture sur le concept de DevOps

Questions connexes