Updates/Wartung auf vielen Linux-Servern gleichzeitig – cssh

Neben eigenen Servern mit einigen virtuellen Maschinen, betreue ich auch einige weitere Server. In der Realität ist der Ablauf des Updaten und Warten auf vielen Systemen identisch. Vor allem wenn man viele virtuelle Maschinen einsetzt.

Zur Vereinfachung kann man cssh einsetzten. Nach der Installation via CPAN, kann man die Verbindung zu beliebig vielen Servern herstellen und dann für alle das gleiche Kommando absetzen.  Auch kann man manuell in eines der Sitzungsfenster eingreifen und Korrekturen oder nötige Zwischenschritte bequem einschieben. Auch CTRL-Befehle für z.b. Screen werden korrekt übertragen.

Über die Konfiguration-Datei kann man Server-Verbünde vor definieren und so für den täglichen Einsatz vorhalten.

Ablauf des Server-Updates bei Gentoo

Dazu werden die Pakete sys-process/lsof, app-portage/gentoolkit, app-misc/screen und die Installation von cssh vor ausgesetzt.

  1. cssh first.server.com second.server.com last.server.com Login auf allen Servern gleichzeitg
  2. screen -S emerge eigene Screen-Session starten, um Verbindungsabbrüchen vorzubeugen
  3. emerge –sync –quiet aktualisiert den lokalen Paketindex
  4. emerge -uDa world zeigt an welche Pakete aktualisiert werden, nach Bestätigung werden, diese Pakete installiert
  5. CTRL – a + c startet ein weiteres Screenfenster für die Anzeige des emerge-Logs via tail -f /var/log/emerge.log
  6. CTRL – a + n wechselt nach Abschluss zum ersten Screenfenster zurück
  7. dispatch-conf aktualisiert die nötigen Konfigurationsdaten der aktualisierten Pakete und erlaubt einen manuellen Merge dieser
  8. revdep-rebuild -i alle Abhängigkeiten prüfen und ggf. Pakete nochmals aktualisieren
  9. lsof | grep tmp zeigt alle Prozesse, deren externe Bibliotheken aktualisiert und neugestartet werden müssen.
Dieser Beitrag wurde unter Allgemein abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Die Kommentarfunktion ist geschlossen.