Frage Verwalten von Upgrades auf hunderten von Debian-Servern


Was sind Ihrer Meinung nach die besten Praktiken, um Dutzende (wenn nicht Hunderte) von Debian-Servern auf dem neuesten Stand zu halten? Beachten Sie Folgendes:

  • Es gibt Gruppen von Servern (d. H. Identische Webserver, DB-Server, ...)
  • Es kann mehrere Debian-Probleme geben (Lenny, Etch)
  • Eine Schleife über alle Server laufen zu lassen und apt-get update && upgrade zu machen, ist nicht akzeptabel (weil es das ist, was ich gerade mache :)) Es sollte besser sein als das!

Momentan, wenn ich alle Upgrades abgeschlossen habe, wird ein neues Sicherheitsupdate veröffentlicht und ich muss es noch einmal machen.

Vielen Dank im Voraus serverfault community!


20
2017-10-28 13:29


Ursprung


Halten Sie einen lokalen Server bereit, um die neuesten Pakete zu speichern, und verwenden Sie sie als Apt-Repository. Dadurch sparen Sie Bandbreite und Zeit. Verwenden Sie Ihr lokales Repository, um Updates an lokale Server zu verteilen. Oh, und nutze Eignung statt apt-get. - Karolis T.
Ja für Spiegel und nein für Eignung. Kein Vorteil in diesen Tagen. Es hat nicht einmal Super-Kuh-Kräfte. - David Pashley


Antworten:


ich benutze apt-dater um alle meine Debian-Boxen zu aktualisieren. Scheint den Trick gut genug zu machen. Habe nicht versucht, es auf Hunderte von Hosts zu skalieren.


12
2017-10-28 14:41



Interessantes Produkt, obwohl ich noch nie davon gehört hatte. - wzzrd
Es ist sehr gut ! Ich würde diese Antwort fördern, wenn apt-dater kein lokales Paket zur Installation auf jedem Host hätte ... und ich verstehe nicht, warum es überhaupt benötigt wird. - Falken
Nach dem Testen ist dieses Tool großartig! Aber es funktioniert für Dutzende von Servern, nicht für Hunderte. Bei vielen Maschinen wird alles flockig und langsam ... schade. - Falken
Ich fördere diese Antwort, weil ich es schließlich geschafft habe, aber andere Lösungen sind auch ziemlich gut, abhängig von Ihren Vorlieben / Umgebung! - Falken
Es war der Standard-ssh-Agent auf Ubuntu, der alles falsch machte. Ich habe es einfach entfernt und das einfache "ssh-add" verwendet. Alle Langsamkeit ist verschwunden! - Falken


Google hat das mit debmarshal gelöst:

http://code.google.com/p/debmarshal/

Mit dieser Option können Sie Pakete aus einem Upstream-Repository für die Installation auf Ihren Produktions-Hosts genehmigen.

Dann können Sie einfach Cron-Apt im vollautomatischen Modus ausführen.

Hier ist ein Intro-Video:

http://www.youtube.com/watch?v=L3hRToC23mQ


10
2017-10-28 13:59





Wir haben mit Puppet getestet, um Sicherheitsupdates für nicht essentielle Pakete zu aktualisieren. Wir würden aptiron laufen lassen, um eine Liste der Aktualisierungen für jeden Server per E-Mail zu senden, und dann täglich ein Skript ausführen, das diese Aktualisierungen in eine Marionetten-Manifestdatei mischt, die das Paket und die Version für jede Distribution angibt. Dies würde dann eine Reihe von Dateien auf den einzelnen Servern aktualisieren und ein Upgrade-Skript starten, wenn ein Paket aktualisiert werden musste. Das hat gut funktioniert, aber wir haben es nicht so oft getestet, wie ich es möchte. Dieses Schema hat die Begrenzung von Puppet umgangen, dass nicht dieselbe Ressource an mehreren Stellen definiert ist.

Ich war auch nicht zufrieden mit automatischen Upgrades von Dingen wie MySQL oder PostgreSQL, wo ein zufälliges Update einen Dienst herunterfahren würde, möglicherweise mitten am Tag. Diese müssten immer noch manuell aktualisiert werden.

Spacewalk und Debmarshall sehen für unser Puppenspiel als geeignete Alternativen aus.


3
2017-10-28 14:26



Kein Kommentar zu der Antwort, nur ein verspäteter "Happy 10K Day" Schrei. - Evan Anderson


Offenbar, Weltraumspaziergang hat 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, dich dafür lieben wird, mit ihm daran zu arbeiten, den Debian-Support auf eine höhere Ebene zu bringen.


1
2017-10-28 13:41





Bei Pull-basierten Konfigurationssystemen wie Puppet gibt es auch bcfg2 und cfengine. Die eine oder andere könnte Ihren Bedürfnissen gut entsprechen. Ich bringe gerade bcfg2 in mein Labor.


1
2017-10-28 15:25





Eine Lösung kann gegeben werden durch Funk


1
2017-10-28 15:25



Ich würde nicht funktionieren. Es ist Weg für den Produktionseinsatz zu unreif, obwohl ich zugeben muss, dass es vielversprechend ist. - wzzrd
Func wird von Schuster verwendet, es ist nicht unreif IMHO. Schuster wird stark von RH-Spezialisten genutzt und diese Technologien werden in der nächsten RHEL-Version enthalten sein. Es ist vielleicht nicht "formell" produktionsbereit, aber es ist ziemlich nahe daran, tatsächlich zu sein. - drAlberT


Ich bin mir nicht sicher, welche Art von Lösung Sie erwarten. Sie wissen wahrscheinlich über Cron-Jobs, aber ich würde keine Systeme in den Blind updaten, da menschliche Interventionen benötigt werden (und deshalb zahlen sie Ihnen dafür, oder?)

Wenn Sie völlig identische Systeme hätten, könnten Sie etwas wie rsync in Betracht ziehen, um die Unterschiede einzubringen, aber herauszufinden, welche Dateien nicht für rsync schwierig sein könnten, und ich würde dies nicht tun, während die Dienste ausgeführt werden. Zumindest die Update-Skripte sind so eingerichtet, dass sie das Neustarten der Dienste und das Zusammenführen von Konfigurationsdateiunterschieden verwalten.

Vielleicht könnten Sie, wenn Sie erklären, was das Problem mit apt-get-Befehlen ist, sehen, was Sie vermeiden wollen.

Wenn das Problem Bandbreite und Zeit zum Herunterladen ist, sollten Sie vielleicht eine Box einrichten, die als Ihr lokales Debian-Repository fungiert. Es gibt Debian-Guides, wie man das macht.

Hier sind einige Tipps, wie Sie die Anzahl der Dinge, die Sie aktualisieren müssen, minimieren.

Wenn Sie Debian installieren, installieren Sie Desktop nicht, es sei denn, Sie müssen X wirklich auf dieser Konsole verwenden. Die meisten Server benötigen kein X installiert. Dies kann die Anzahl der Pakete auf dem System erheblich verringern, und dann müssen nicht so viele Pakete aktualisiert werden.

Überprüfen Sie, dass die sources.list nur die Repositories enthält, die Sie wirklich benötigen. Wenn Sie mit einem Repository experimentiert und es vergessen haben, bringen Sie möglicherweise Updates mit, die Sie nicht brauchen oder wollen.

Wenn Sie Probleme haben, blind auf einem Produktionsserver Aktualisierungen vorzunehmen, sollten Sie die Debian-Upgrade-Anleitungen konsultieren, wenn ein größeres Update (4.0 bis 5.0) vorliegt. Diese werden sehr gut durchgehen, wenn Sie den Upgrade-Anweisungen folgen. Es ist nicht so einfach wie das Ausführen von apt-get dist-upgrade und weggehen. Manchmal gibt es in den Anweisungen sogar Hinweise darauf, wann man eher aptitude als apt-get ausführt - es gibt kleine Unterschiede in ihnen.


0
2017-10-28 13:48