Wie verwaltet man 40 Kopien derselben Computerinstallation?

Wie verwaltet man 40 Kopien derselben Computerinstallation?

Ich bediene 40 fest installierte Terminals (mit Touchscreen, keine Maus oder Tastatur angeschlossen) in einer Umgebung. Auf diesen 40 PCs ist eine abgespeckte Version von Ubuntu und Chromium installiert, da ihr einziger Zweck darin besteht, eine Webanwendung im Vollbildmodus zu bedienen.

Und hier ist das Problem: Vor ein paar Tagen hatten wir einen Stromausfall, alle Terminals schalteten sich ab. Als ich sie alle wieder neu startete, funktionierte kein einziger Touchscreen, ich habe keine Ahnung, warum. Die Neuinstallation des Systems mit einem CloneZilla-Flash-Laufwerk löste das Problem jedoch. Das war eine Menge Arbeit – Tastatur und Flash-Laufwerk anschließen, BIOS-Einstellungen ändern, um vom Flash-Laufwerk zu booten, alle 40 Terminals neu installieren.

Wie kann das besser gemacht werden? Mein Traumszenario wäre, eine Änderung vorzunehmen (sagen wir, ich möchte auch auf jedem Terminal einen kleinen NodeJs-Server haben oder SSH-Zugriff konfigurieren). Ich habe mir überlegt, einen PXE-Server zu betreiben, aber das nimmt anscheinend SEHR viel Zeit in Anspruch (das Herunterladen eines 800 MB großen Images x 40 dauert ziemlich lange).

Hat jemand eine bessere Lösung, wie dieses Setup besser gewartet werden kann?

Antwort1

Nun, bei PXE muss es nicht unbedingt so sein, dass Sie das Image beim Booten auf jeden Server herunterladen. Tatsächlich bestand die traditionellere Verwendung (zumindest bei UNIX-Systemen) darin, einen plattenlosen Bootvorgang für Systeme bereitzustellen, deren Root-Dateisystem auf NFS (oder heutzutage möglicherweise einem anderen Netzwerkdateisystem) lag. Ich bin mir nicht ganz sicher, wie gut das für Sie funktionieren könnte (es tauscht die Zeitprobleme von PXE gegen einen einzelnen Ausfallpunkt im NFS-Server ein), aber es könnte sich lohnen, einen Blick darauf zu werfen. Sie können ähnliche Dinge auch mit iSCSI oder NBD tun, obwohl diese etwas komplizierter einzurichten sind.

Sie könnten auch die Möglichkeit prüfen, Dinge kettenzuladen, ähnlich wieSystemRescueCDtut es. Beim Netboot muss es nur Syslinux, den Kernel und die anfängliche RAM-Disk über TFTP laden und kann dann das eigentliche Systemabbild über ein anderes Protokoll laden (bei mir auf der Arbeit machen wir das beispielsweise über HTTP). TFTP ist ein schrecklich ineffizientes Protokoll (es erfordert, dass jeder Block einzeln bestätigt wird, bevor der nächste Block gesendet werden kann, und verwendet standardmäßig eine sehr kleine Blockgröße), daher kann dies den Prozess erheblich beschleunigen (wir haben das Netzwerk bei mir auf der Arbeit so eingerichtet, dass SystemRescueCD per Netboot gestartet wird und das Systemabbild über HTTP statt TFTP geladen wird, was die Bootzeit von fast 15 Minuten auf etwa 3 Minuten auf den Systemen verkürzt, auf denen ich es getestet habe, als ich es eingerichtet habe).

Wenn Sie ein Ubuntu-basiertes System verwenden, könnten Sie eine Kombination ausMAASUndJuju, da dies der Standard-Stack für diese Art von Aufgaben mit Ubuntu ist.

Wenn Sie jedoch davon ausgehen können, dass Massenausfälle wie der von Ihnen beobachtete selten sind (und Sie daher wahrscheinlich nicht alle 40 Systeme auf einmal neu installieren müssen), sollten Sie sich vielleicht ein automatisiertes Verwaltungstool ansehen. Es würde zwar nicht bei der Installation von Systemen helfen, aber es würde die Bereitstellung von Änderungen an der Konfiguration oder Paketen auf den Systemen erheblich vereinfachen. Besonders gut gefällt mirAnsiblefür diese Art von Dingen, hauptsächlich weil die Einrichtung so kinderleicht ist (Sie benötigen buchstäblich nur eine kennwortlose SSH-Anmeldung und ein einziges spezielles Python-Paket, das auf den Systemen installiert ist, die Sie verwalten möchten) und weil es für die Aufgabenabwicklung eine zustandsbehaftete (meist) deklarative Sprache verwendet, die wirklich leicht zu erlernen ist.Marionette,Koch, UndSalzsind die drei anderen gängigen Optionen für diese Art von Dingen, aber ich habe mit ihnen nie persönliche Erfahrungen gemacht, abgesehen von einer oberflächlichen Bewertung, also kann ich nicht wirklich einen Rat geben, welche für Ihren Einsatzzweck am besten geeignet sein könnte.

Antwort2

Ich empfehle auch den disklosen PXE-Boot, aber als Alternative könnten Sie in dieser Situation einfach ein System sichern und es dann einfach auf allen 40 wiederherstellen. Das wäre schneller, als 40 Mal neu zu installieren.

verwandte Informationen