Was sind Ihrer Meinung nach die besten Methoden, um Dutzende (wenn nicht Hunderte) von Debian-Servern auf dem neuesten Stand zu halten? Denken Sie daran, dass:
- Es gibt Servergruppen (dh identische Webserver, DB-Server, ...)
- Es kann verschiedene Debian-Probleme geben (Lenny, Etch)
- Das Ausführen einer Schleife über alle Server und das Ausführen von apt-get update && upgrade ist nicht akzeptabel (weil es das ist, was ich gerade mache :)). Es sollte besser sein als dies!
Derzeit wird nach Abschluss aller Upgrades ein neues Sicherheitsupdate veröffentlicht, das ich erneut ausführen muss.
Danke im Voraus, serverfault community!
Antworten:
Ich verwende apt-dater , um alle meine Debian-Boxen zu aktualisieren. Scheint den Trick gut genug zu machen. Ich habe nicht versucht, es auf Hunderte von Hosts zu skalieren.
quelle
Google hat das mit debmarshal gelöst:
http://code.google.com/p/debmarshal/
Auf diese Weise können Sie Pakete aus einem Upstream-Repository für die Installation auf Ihren Produktionshosts genehmigen.
Dann können Sie cron-apt einfach im vollautomatischen Modus ausführen.
Hier ist ein Intro-Video:
http://www.youtube.com/watch?v=L3hRToC23mQ
quelle
Wir haben mit Puppet versucht, Sicherheitsupdates für nicht unbedingt benötigte Pakete zu aktualisieren. Wir haben apticron ausgeführt, um eine Liste der Updates für jeden Server per E-Mail zu versenden, und dann täglich ein Skript ausgeführt, das diese Updates in einer Puppet-Manifest-Datei zusammenführt, die das Paket und die Version für jede Distribution enthält. Dies würde dann eine Reihe von Dateien auf den einzelnen Servern aktualisieren und ein Upgrade-Skript starten, wenn ein Paket ein Upgrade benötigt. Das hat einigermaßen gut funktioniert, aber wir haben es nicht so oft getestet, wie ich es gerne hätte. Dieses Schema hat die Einschränkung umgangen, dass Puppet nicht dieselbe Ressource an mehreren Stellen definiert hat.
Ich war auch nicht damit zufrieden, automatische Upgrades von Dingen wie MySQL oder PostgreSQL durchzuführen, bei denen ein zufälliges Update einen Dienst möglicherweise mitten am Tag beenden würde. Hierfür wären noch manuelle Updates erforderlich.
Spacewalk und Debmarshall sehen nach geeigneten Alternativen für unser Puppenspiel aus.
quelle
Anscheinend hat Spacewalk jetzt vorläufige Unterstützung für Debian. Das wäre vielleicht zusammen mit Puppet mein Ausgangspunkt. Ich bin mir ziemlich sicher, dass der Typ, der die Debian-Unterstützung für Spacewalk entwickelt, Sie lieben wird, wenn Sie mit ihm zusammenarbeiten, um die Debian-Unterstützung auf ein höheres Niveau zu heben.
quelle
In Bezug auf Pull-basierte Konfigurationssysteme wie Puppet gibt es auch bcfg2 und cfengine. Das eine oder andere könnte gut zu Ihren Bedürfnissen passen. Ich rolle gerade bcfg2 in meinem Labor aus.
quelle
Eine Lösung kann durch func gegeben werden
quelle
Ich bin mir nicht sicher, welche Art von Lösung Sie erwarten. Sie kennen sich wahrscheinlich mit Cron-Jobs aus, aber ich würde Systeme für Blinde nicht aktualisieren, da menschliche Eingriffe erforderlich sind (und aus diesem Grund werden Sie dafür bezahlt, oder?)
Wenn Sie völlig identische Systeme hätten, könnten Sie in Erwägung ziehen, etwas wie rsync zu verwenden, um die Unterschiede herauszufinden. Es könnte jedoch schwierig sein, herauszufinden, welche Dateien nicht mit rsync synchronisiert werden sollen, und ich würde dies nicht tun, während Dienste ausgeführt werden. Zumindest die Aktualisierungsskripts sind so eingerichtet, dass sie den Neustart der Dienste und das Zusammenführen der Unterschiede in der Konfigurationsdatei verwalten.
Wenn Sie erklären, was das Problem mit der Ausführung von apt-get-Befehlen ist, könnten wir vielleicht sehen, was Sie vermeiden möchten.
Wenn das Problem in der Bandbreite und der Zeit zum Herunterladen besteht, sollten Sie möglicherweise eine Box einrichten, die als lokales Debian-Repository fungiert. Es gibt Debian-Anleitungen, wie das geht.
Im Folgenden finden Sie einige Tipps, wie Sie die Anzahl der zu aktualisierenden Elemente minimieren können.
Wenn Sie Debian installieren, installieren Sie Desktop nur, wenn Sie wirklich X auf dieser Konsole verwenden müssen. Auf den meisten Servern muss X nicht installiert sein. Dies kann die Anzahl der Pakete auf dem System erheblich verringern, und Sie müssen nicht so viele Pakete aktualisieren.
Stellen Sie sicher, dass die sources.list nur die Repositorys enthält, die Sie wirklich benötigen. Wenn Sie mit einem Repository experimentiert und dieses vergessen haben, bringen Sie möglicherweise Updates mit, die Sie nicht benötigen oder wollen.
Wenn Sie Probleme haben, blind Updates auf einem Produktionsserver durchzuführen, lesen Sie bitte die Debian-Upgrade-Anleitungen, wenn es ein größeres Update (4.0 auf 5.0) gibt. Diese werden sehr gut durchlaufen, wenn Sie den Upgrade-Anweisungen folgen. Es ist nicht so einfach, apt-get dist-upgrade auszuführen und wegzugehen. Manchmal gibt es in den Anweisungen sogar Hinweise, wann man aptitude ausführen soll, anstatt apt-get - es gibt kleine Unterschiede.
quelle
Haben Sie jetzt dieses Tool "Tänzershell"? Ich mag es und ich benutze es. Aber ich weiß nicht, ob Sie es für so viele Hosts verwenden können. Vielleicht könntest du es versuchen ...
http://www.netfort.gr.jp/~dancer/software/dsh.html.de
Und er ist im Archiv.
quelle
ClusterSSH. Sie melden sich bei allen Servern an und geben ihnen genau dieselben Befehle, damit Sie auch auf die Dialoge reagieren können. Wenn ein Server eine zusätzliche Frage erhält, klicken Sie einfach auf diese und es wird die einzige sein, die antwortet.
Ich habe es verwendet, um 25 Webserver von Etch auf Lenny zu aktualisieren. Lief wie am Schnürchen.
http://sourceforge.net/projects/clusterssh/
quelle
Cluster ssh ist ein guter Vorschlag.
debmarshal ist noch kein teil von debian - ich bin mir nicht mal sicher, ob es ein paket sein wird - scheint ein völlig anderes system mit einem spezialisierten repository zu sein. Wie der Sprecher sagte, ist dies derzeit benutzerfeindlich, nicht benutzerfreundlich.
Spacewalk scheint ein Klon von Redhat Network zu sein, zumindest in der Weboberfläche. Die Verwendung von Redhat Network zum Aktualisieren von Systemen hat zu schlechten Ergebnissen geführt. Einmal hing es ohne ersichtlichen Grund und verursachte einen Serviceausfall. Unmittelbar danach habe ich ein Yum-Update durchgeführt und es hat sich bestens bewährt. Daher kann ich nur vermuten, dass das Problem von etwas herrührt, das auf der RHN-Seite gesperrt ist. Das andere, was mir an RHN-Updates nicht gefällt, ist, dass Sie nicht wissen, wann das Update stattfinden wird, um nach Problemen Ausschau zu halten.
quelle