Nun, PXE muss kein Fall sein, in dem Sie das Image beim Booten auf jeden Server herunterladen. Tatsächlich bestand die traditionellere Verwendung (zumindest im Umgang mit UNIX-Systemen) darin, plattenlosen Systemen für Systeme bereitzustellen, deren Root-Dateisystem auf NFS (oder heutzutage möglicherweise ein anderes Netzwerk-Dateisystem) war. 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 auf dem NFS-Server aus), aber es lohnt sich vielleicht, es zu betrachten. Sie können ähnliche Funktionen auch mit iSCSI oder NBD ausführen, obwohl die Einrichtung etwas komplizierter ist.
In ähnlicher Weise wie SystemRescueCD können Sie auch die Möglichkeit des Kettenladens prüfen . Beim NetBoot muss nur syslinux, der Kernel und die erste RAM-Disk über TFTP geladen werden. Anschließend kann das eigentliche System-Image über ein anderes Protokoll geladen werden (beispielsweise, wenn ich arbeite, tun wir dies über HTTP). TFTP ist ein schrecklich ineffizientes Protokoll (es muss jedes Block einzeln bestätigt werden, bevor der nächste Block gesendet werden kann, und verwendet standardmäßig eine sehr kleine Blockgröße). Dadurch kann der Prozess erheblich beschleunigt werden (wir haben das Netzwerk, in dem ich arbeite Auf netboot SystemRescueCD eingerichtet und laden Sie das System-Image über HTTP anstelle von TFTP. Dadurch wird die Bootzeit auf den Systemen, auf denen ich es beim Einrichten getestet habe, von fast 15 Minuten auf etwa 3 reduziert.
Wenn Sie etwas auf Ubuntu basierendes Betriebssystem verwenden, können Sie eine Kombination aus MAAS und Juju verwenden, da dies der Standard-Stack für Ubuntu ist.
Abgesehen davon, wenn Sie sicher davon ausgehen können, dass Massenausfälle, wie Sie sie gesehen haben, selten sind (und Sie wahrscheinlich nicht alle 40 Systeme gleichzeitig neu installieren müssen), könnten Sie sich ein automatisiertes Management-Tool anschauen. Es hilft nicht bei der Installation von Systemen, aber es würde die Bereitstellung von Konfigurationsänderungen oder Paketen auf den Systemen erheblich vereinfachen. Ich mag Ansible besonders für diese Art von Dingen, vor allem, weil es so einfach ist, sich einzurichten (Sie benötigen buchstäblich nur ein SSH-Login ohne Kennwörter und ein einzelnes bestimmtes Python-Paket, das auf den Systemen installiert ist, die Sie verwalten möchten) und die Tatsache dass es eine zustandsorientierte (meistens) deklarative Sprache verwendet, um Aufgaben zu erledigen, die wirklich leicht zu erlernen ist. Marionette, Chef und Salz sind die anderen drei populären Optionen für diese Art von Dingen, aber ich habe noch keine persönliche Erfahrung mit ihnen gemacht, abgesehen von einer flüchtigen Bewertung. Daher kann ich nicht wirklich beraten, welche für Sie am besten geeignet ist.