RATs/CMS ?
-
Hallo!
Ich muss für die Uni ein Tool (+Arbeit darüber) schreiben welches die gleichzeitige Steuerung von mehreren Linux Hosts ermöglicht (z.B. Installation von Programmen, Updates, Firewall-Regeln einstellen etc.).
Auf der Suche nach bestehenden Lösung bin ich auf RATs (Remote Administration Tool) und CMS (Configuration Management System) gestossen, wobei ich denke das 2. nicht so passend ist.
Großteils finde ich nur Tools zur Steuerung für einzelne Hosts. CMS eignen sich zwar für mehrere Hosts aber sind meist Regelbasierend und bieten nicht immer die individuelle Steuerung einzelner Hosts.Kennt jemand solche Tools bzw. weiß wonach ich am besten suche ?
Würde mich über Antworten freuen.
Lg
-
Was genau sind denn die Anforderungen an dieses Tool?
Es gibt tausend und ein Tool, auf das die Beschreibung "steuert Rechner fern" passt. Ohne zumindest grundlegende Anforderungen wird es sehr schwer sein, Dir weiterhelfen zu können.
Auf Deine Frage könnte ich jetzt sowohl "clusterssh" als auch "chef" antworten, wobei das aber zwei völlig unterschiedliche Klassen von Tools sind. Stell eine genauere Frage.
(Zur CM-Frage: CM benutzt man ja nicht alleine; einen sshd hast Du auf Deinen Hosts ja dann weiterhin laufen. Damit kannst Du durchaus auch einzelne Hosts administrieren. Nur skaliert das eben überhaupt nichts, darum will man das ja auch eher vermeiden.)
-
Danke für die schnelle Antwort.
Leider gibt es keine genaueren Anforderungen, das Tool muss zumindest Programme installieren, Updates, Firewall-Regeln und Backups machen können (und nebenbei eine VM steuern, aber davon mal abgesehen). Es soll z.B. möglich sein ein Programm auf einen oder mehrere ausgewählten Hosts zu installieren etc.
Über "Chef" und "clusterssh" hab ich schon gelesen, allerdings denke ich das ein Regelbasierets CM für diesen Anwendungsbereich etwas zu viel ist, deswegen würde ich das ganze eher im Stile eines RAT realisieren wollen.Ich suche nach bestehenden Lösungen um mich an ihnen Orientieren zu können. Die Liste der CM's auf Wiki habe ich schon gefunden, RAT's für Linux eher weniger.
Also über Tipps/Links/Stichwörter (auch über Literatur die sich mit diesem Thema beschäftigt) die mir weiterhelfen könnten wäre ich dankbar!
Lg
-
CCCC schrieb:
Leider gibt es keine genaueren Anforderungen, das Tool muss zumindest Programme installieren, Updates, Firewall-Regeln und Backups machen können (und nebenbei eine VM steuern, aber davon mal abgesehen). Es soll z.B. möglich sein ein Programm auf einen oder mehrere ausgewählten Hosts zu installieren etc.
Das geht beides sowohl mit clusterssh als auch mit Chef. Wenn auch auf unterschiedlichem Wege.
Über "Chef" und "clusterssh" hab ich schon gelesen, allerdings denke ich das ein Regelbasierets CM für diesen Anwendungsbereich etwas zu viel ist, deswegen würde ich das ganze eher im Stile eines RAT realisieren wollen.
RAT heißt alles und nichts. Du kannst natürlich clusterssh oä. benutzen. Aber CM skaliert bei einer größeren Hostzahl einfach viel besser, da möchtest Du nämlich gerade nicht mit einzelnen Hosts herumbasteln. Du musst Dich ja auch um diverse Dependencies und Fehlerbehandlung kümmern, das ist nicht regelbasiert sehr schnell sehr mühsam.
Ich suche nach bestehenden Lösungen um mich an ihnen Orientieren zu können. Die Liste der CM's auf Wiki habe ich schon gefunden, RAT's für Linux eher weniger.
Weil Remote Administration in der Regel für Einzelsysteme oder auch große Mengen völlig identischer Systeme per SSH sehr effektiv erledigt werden kann. Wenn das nicht mehr auf die vorhandene Rechneranzahl skaliert, benutzt man eben CM.
Allein die Bezeichnung RAT ist in meinen Augen ein bisschen eigenartig und veraltet, schon deswegen, weil sie impliziert, dass es normal ist, Server nicht remote zu administrieren. Das ist aber schon lange der Normalfall. Als RAT werden idR. nur extrem angestaubte "Enterprise-Tools" oder komische Scriptkiddy-Software bezeichnet.
Also über Tipps/Links/Stichwörter (auch über Literatur die sich mit diesem Thema beschäftigt) die mir weiterhelfen könnten wäre ich dankbar!
Wie gesagt, ohne genauere Anforderungen wirds verdammt schwer, Dir weiterzuhelfen. Bücher zu diesen Themen sind extrem selten und immer unglaublich veraltet.
Vielleicht könntest Du zumindestens erläutern, warum chef-solo oder – am anderen Ende der Skala – einfach nur ssh/clusterssh Deine Anforderungen nicht erfüllen.
-
Sry falls das falsch rüberkam, ich meinte nicht das chef oder clusterssh die Anforderungen nicht erfüllen, aber ich muss selber eines schreiben. Wie du schon gesagt hast findet man dazu leider nicht viele Bücher, deswegen suche ich ähnliche Programme um eine Überblick zu bekommen welche Lösungen es schon gibt, wie diese Funktionieren, welche Probleme es gibt etc.
Also es geht mir nicht darum ein bestimmtes Tool zu finden, sondern ähnliche zum Vergleichen/Analysieren.
-
Ok, ich bewerfe Dich einfach mal mit Links, die für Dich spannend sein könnten, wenn Du in die Richtung selbst etwas machen möchtest.
Wie Deine Lösung aussehen kann, wird aber stark von folgenden Fragen abhängen:
- Wer ist Dein Zielpublikum? Erfahrene Unix-Admins? Entwickler? Anfänger ohne Shell-Kentnisse?
- Wofür genau möchtest Du Dein Tool einsetzen? Provisioning? Betrieb und Wartung? Für sich häufig wiederholende Aufgaben mit wenig Variation? Anwendungs-Deployment?
Du wirst nicht alle Einsatzzwecke und auch nicht alle Zielgruppen mit einem Tool abdecken können, such Dir ein paar Use Cases aus und löse die gut, statt auf alles zu zielen und – zwangsläufig – zu scheitern.
Hier der schnelle ungeordnete Linkdump, vielleicht hilft Dir irgendwas davon weiter:
http://opscode.com/chef
https://github.com/duncs/clusterssh
http://www.canonical.com/enterprise-services/ubuntu-advantage/overview
http://rush.heroku.com/
http://docs.puppetlabs.com/mcollective/
http://docs.fabfile.org/en/1.0.0/index.html
https://fedorahosted.org/cobbler/
http://wiki.debian.org/DebianInstaller/Preseed
http://en.opensuse.org/Portal:YaST
http://www.syscp.org/