GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux Massen-/Remoteverwaltung?

Neben unserer internen IT-Infrastruktur haben wir rund 500 Linux-Rechner, auf denen unsere Dienste für die Online-Welt gehostet werden. Sie sind in einer Reihe von Clustern wie Datenbank A-n, Produkt A-n, NFS, Backoffice und so weiter gruppiert. Darüber hinaus werden sie gemäß unseren Vorgaben und Anforderungen von einem externen Anbieter verwaltet.

Allerdings haben wir während der (Web-)Softwareentwicklung, dem Rollout und dem Deployment viel Ärger – vor allem, weil die Dev- und Staging-Umgebungen fast nichts mit den Live-Systemen gemeinsam haben (ich erspare mir die fiesen Details..) .

Also habe ich versucht, virtuelle Maschinen zu erstellen, die verschiedenen Live-Systeme so genau wie möglich kopiert und für die Verbindung mit z.B. die Entwicklungsdatenbanken anstelle der „echten“ transparent für Entwickler (sie sind nicht root ). Das funktioniert ziemlich gut, aber…

Ich habe mich gefragt, wie man diese Systeme aus der Ferne und in großen Mengen verwalten kann ? Gibt es eine Softwarefamilie, die ich nicht kenne? Oder zumindest einige Techniken oder Prinzipien, mit denen man vertraut sein sollte?

Wir würden jedem Entwickler eine Reihe von Images zur Verfügung stellen, die lokal ausgeführt werden (VirtualBox). Die QA-Abteilung würde virtuelle Cluster (XEN oder Hyper-V) bekommen. Wenn ich ein zusätzliches Servermodul bereitstellen muss, eine neue Datenbankverbindung umleiten oder einfach alles aktualisieren möchte, was der Paketmanager bereitstellt… wie könnte ich das tun, ohne gezwungen zu sein, mich bei jedem System anzumelden und/oder meine zu fragen Kollegen ein Fixture-Script herunterladen und ausführen?

Ich glaube, es gibt viele Lösungen. Tja, irgendwie bin ich zu blöd, die richtigen Keywords in die Suchmaschinen einzugeben… Oder ist das Thema nicht so trivial, wie es klingt?

Fürs Protokoll:

  • Fast alle Systeme laufen auf Debian GNU/Linux 6.x „Squeeze“
  • Kein Entwickler ist gezwungen, ein bestimmtes Betriebssystem an seinem Arbeitsplatz zu verwenden
  • Das Budget ist natürlich begrenzt, aber nicht zu klein, um proprietäre Software zu kaufen
  • Eine Lösung, die unseren oben genannten Anbieter einbezieht, wird bevorzugt

Akzeptierte Antwort:

Es kommt darauf an, was genau Sie brauchen und wonach Sie suchen. Aber im Allgemeinen gibt es mehrere Lösungen für „Konfigurationsmanagement“ wie:

  1. Marionette
  2. Koch
  3. cfengine
  4. ansibel
  5. Salz

usw. Ich persönlich würde Puppet empfehlen, da es eine große Community und viele extern bereitgestellte Rezepte hat. Auf diese Weise können Sie Systeme automatisch konfigurieren und verwalten. Kombiniert man dies mit eigenen Repositories und automatisierten Updates über z.B. unattended-upgrades Sie können das System automatisch aktualisieren.

Eine andere Lösung besteht darin, einfach Ihre eigenen Pakete wie company-base bereitzustellen usw., die automatisch von der erforderlichen Software abhängig sind und Ihr System automatisch konfigurieren können.

Sie sollten sich auch mit automatisierten Bereitstellungen (Barebone und virtualisiert) befassen. Wenn Sie dies mit einem Konfigurationsmanagement oder einem eigenen Repository kombinieren, können Sie Ihre Systeme einfach automatisieren und neu installieren. Wenn Sie mit der automatisierten Installation beginnen möchten, schauen Sie sich theforman an, das sowohl libvirt- als auch Bare-Bone-Installationen unterstützt und Puppet-Unterstützung integriert hat. Wenn Sie es selbst tun möchten, können Sie sich Kickstart (Redhat et. al.) oder „Preseeding“ ansehen, um Ihr System automatisch zu konfigurieren. Für Debian können Sie auch so etwas wie debootstrap oder einen Wrapper namens grml-debootstrap verwenden, der virtualisierte Images unterstützt.

Verwandte:Linux – Reaver wiederholt immer wieder denselben Pin auf Kali Linux?

Um die Bereitstellung der VirtualBox-Images für Ihre Entwickler zu erleichtern, werfen Sie einen Blick auf vagrant. Es ermöglicht Ihnen, die Erstellung virtualisierter Systeme zu automatisieren, wobei VirtualBox Chef-, Puppet- und Shell-Skripte unterstützt, um Ihre virtuelle Umgebung anzupassen.

Wenn Sie die Lösung Ihres bestehenden Anbieters verwenden möchten, sollten Sie ihn fragen, wie er Ihre Systeme verwaltet, aber es wird wahrscheinlich eine Art Konfigurationsmanagement sein. Es ist möglicherweise möglich, ihren Agenten auf Ihren Systemen auszuführen, wenn Sie auf den Konfigurationsserver zugreifen können.

Suchen Sie für Google-Keywords nach devops , configuration management , it automation und server orchestration .

Kurz gesagt, automatisieren Sie so viel wie möglich und denken Sie nicht einmal daran, Dinge manuell zu erledigen.


Linux
  1. So mounten Sie die Remote-Windows-Freigabe unter Linux

  2. Erzwingen Sie einen Neustart eines Remote-Linux-Servers

  3. Dienste in Linux aktivieren

  4. Administrations-Linux-Server

  5. Linux-Kernel-Timer ändern

Doppler – Ein konfigurationsfreies Fernüberwachungstool

Ausführen von Befehlen auf Remote-Linux-Systemen über SSH

So konfigurieren Sie ein VLAN unter Linux

Multi-Faktor-Authentifizierung auf Linux-Systemen einrichten

Verwendung von SSH-Befehlen in Linux/Unix-Systemen

Gewusst wie:FreeBSD-Fernverwaltung