GNU/Linux >> Tutoriels Linux >  >> Linux

Administration Linux en masse/à distance ?

Outre notre infrastructure informatique interne, nous avons environ 500 machines Linux hébergeant nos services pour le monde en ligne. Ils sont regroupés dans un ensemble de clusters tels que Database A-n, Product A-n, NFS, Backoffice, etc. De plus, ils sont administrés par un prestataire externe, selon nos spécifications et exigences.

Cependant, nous rencontrons beaucoup de problèmes lors du développement, du déploiement et du déploiement de logiciels (web), en particulier parce que les environnements de développement et de mise en scène n'ont presque rien en commun avec les systèmes en direct (j'épargne les détails désagréables..) .

Ainsi, j'ai essayé de créer des machines virtuelles, copié les différents systèmes en direct aussi exactement que possible et les ai préparés pour se connecter, par exemple. les bases de données de développement au lieu des "vraies" de manière transparente pour les développeurs (elles ne sont pas root ). Cela fonctionne plutôt bien, mais…

Je me demandais comment on pouvait administrer ces systèmes à distance et en masse ? Existe-t-il une famille de logiciels que je ne connais pas ? Ou, au moins, certaines techniques ou principes avec lesquels il faut être familier ?

Nous fournirions à chaque développeur un ensemble d'images à exécuter localement (VirtualBox). Le département AQ. obtiendrait des clusters virtuels (XEN ou Hyper-V). Si j'ai besoin de fournir un module serveur supplémentaire, de rediriger une nouvelle connexion à la base de données ou simplement de mettre à jour tout ce qui est fourni par le gestionnaire de paquets… comment pourrais-je le faire sans être obligé de me connecter à chaque système et/ou de demander à mon collègues pour télécharger et exécuter un fixture-script ?

Je crois qu'il y a plein de solutions. Eh bien, d'une manière ou d'une autre, je suis trop stupide pour saisir les mots-clés corrects dans les moteurs de recherche… Ou ce problème n'est-il pas aussi trivial qu'il y paraît ?

Pour mémoire :

  • Presque tous les systèmes exécutent Debian GNU/Linux 6.x "squeeze"
  • Aucun développeur n'est obligé d'utiliser un système d'exploitation particulier sur son poste de travail
  • Le budget est limité, bien sûr, mais pas trop petit pour acheter un logiciel propriétaire
  • Une solution qui impliquerait notre fournisseur susmentionné est préférable

Réponse acceptée :

Cela dépend de ce dont vous avez exactement besoin et de ce que vous recherchez. Mais en général il existe plusieurs solutions de « gestion de configuration comme :

  1. marionnette
  2. cuisinier
  3. cfengine
  4. ansible
  5. sel

etc. Personnellement, je recommanderais la marionnette car elle a une grande communauté et de nombreuses recettes externes fournies. Cela vous permet de configurer et de gérer automatiquement les systèmes. Si vous combinez cela avec vos propres dépôts et mises à jour automatisées via par ex. unattended-upgrades vous pouvez automatiquement mettre à jour le système.

Une autre solution consiste simplement à fournir vos propres packages comme company-base etc. qui dépend automatiquement du logiciel nécessaire et peut configurer votre système automatiquement.

Vous devriez également vous pencher sur les déploiements automatisés (barebone et virtualisés). Si vous combinez cela avec la gestion de la configuration ou votre propre référentiel, vous pouvez facilement automatiser et réinstaller vos systèmes. Si vous souhaitez vous lancer dans l'installation automatisée, jetez un coup d'œil à theforman qui prend en charge libvirt ainsi que les installations simples et a un support de marionnette intégré. Si vous voulez le faire vous-même, vous pouvez vous tourner vers kickstart (redhat et. al.) ou « preseeding » pour configurer automatiquement votre système. Pour Debian, vous pouvez également utiliser quelque chose comme debootstrap ou un wrapper nommé grml-debootstrap prenant en charge les images virtualisées.

Connexes :Linux – Reaver continue de répéter la même broche sur Kali Linux ?

Pour vous aider à fournir les images VirtualBox à votre développeur, jetez un œil à vagrant, il vous permet d'automatiser la création de systèmes virtualisés avec VirtualBox prenant en charge les scripts chef, puppet et shell pour personnaliser votre environnement virtuel.

Si vous souhaitez utiliser la solution de votre fournisseur existant, vous devez lui demander comment il gère vos systèmes, mais il s'agira probablement d'une sorte de gestion de la configuration. Il peut être possible d'exécuter leur agent sur vos systèmes si vous pouvez accéder au serveur de configuration.

Pour les mots-clés Google, regardez dans devops , configuration management , it automation et server orchestration .

Bref, automatisez au maximum et ne pensez même pas à faire les choses manuellement.


Linux
  1. Une introduction à l'espace d'échange sur les systèmes Linux

  2. 10 moments qui ont façonné l'histoire de Linux

  3. 4 outils pour construire des systèmes Linux embarqués

  4. Serveur Linux d'administration

  5. Changer la minuterie du noyau Linux

Doppler - Un outil de surveillance à distance sans configuration

Exécuter des commandes sur des systèmes Linux distants via SSH

Comment configurer un VLAN sous Linux

Configuration de l'authentification multifacteur sur les systèmes Linux

Utilisation de la commande SSH dans les systèmes Linux/Unix

Comment :Administration à distance de FreeBSD