Wie installiere ich Linux remote über SSH?

22

Ich muss Ubuntu Server 10.04 (x86) remote auf einem Server installieren, auf dem RHEL 3.4 (x86) ausgeführt wird. Ich muss sehr vorsichtig sein, da niemand den Neustartknopf für mich drücken kann, wenn etwas schief geht.

Haben Sie jemals Linux remote installiert? Welchen Weg würden Sie empfehlen? Irgendwelche Ratschläge für Dinge, die Sie beachten sollten?


Aktualisieren:

Danke für Ihre Hilfe. Ich habe es geschafft, "die Reifen während der Fahrt zu wechseln" !

Die Hauptkomponenten meiner Methode stammen aus HOWTO - Debian auf einem Remote-Linux-System installieren , Grub-Legacy: Einmaliges Booten , einmaliges Booten und Kernel-Panic-Neustarten sowie der Ubuntu-Community-Dokumentation: InstallationFromKnoppix

Hier ist der Umriss dessen, was ich getan habe:

  1. Führen Sie debootstrap auf einem vorhandenen Ubuntu-Server aus
  2. Übertragen Sie die Dateien auf die Swap- Partition des RHEL 3.4-Servers
  3. Booten Sie die Swap-Partition (das Debootstrap-System)
  4. Übertragen Sie die Dateien auf die ursprüngliche Root-Partition
  5. Starten Sie das neue Ubuntu-System und beenden Sie die Installation mit tasksel, apt-get usw

Ich habe die Methode in einer VM getestet und dann auf den Server angewendet. Ich hatte das Glück, dass alles reibungslos lief :)

netvope
quelle
17
Hört sich so an, als würde man versuchen, während der Fahrt neue Reifen an Ihrem Auto anzubringen.
Orbling
Theoretisch möglich. Ein bisschen wie Orbling es ausdrückt, Reifenwechsel beim Autofahren. Nicht ganz einfach!
Matt
@ephemient Super. Sie sehen, es ist möglich, nur unglaublich schwierig.
Orbling
Wenn Sie mehr Details zu den Einschränkungen der Situation angegeben haben, können Ihnen die äußerst intelligenten, kreativen und einfallsreichen Mitarbeiter von Server Fault möglicherweise einige andere Alternativen oder Ratschläge geben, die einen realistischeren Weg zur Erreichung Ihrer Ziele ermöglichen.
Jed Daniels

Antworten:

8

Ich stimme der Meinung der anderen Antworten hier zu: Obwohl es möglich sein mag , Ubuntu remote auf RHEL 3.4 zu installieren, werden Sie wahrscheinlich auf sehr dünnem Eis laufen .

Ich denke, das größte Problem, das Sie haben können, ist das Alter des Kernels und der libc auf dem vorhandenen System. Ist das ein 2.4.x-Kernel? Wenn ja, bin ich mir nicht sicher, ob Sie dies schaffen werden, da Sie irgendwann während der Installation Tools ausführen müssen, die für den Betrieb in Ubuntus Kernel und libc kompiliert wurden und möglicherweise nicht richtig funktionieren (oder überhaupt) in einer älteren Laufzeitumgebung. Wenn Sie keinen Kernel der 2.6.x-Serie auf dem Remote-Server ausführen, haben Sie meines Erachtens keine großen Erfolgschancen.

Wenn Sie immer noch denken, dass Sie dies versuchen möchten, gibt es ein paar Anleitungen, die mir bekannt sind:

Beide Anleitungen sind ziemlich alt und können daher auch nicht als solche behandelt werden, die sich in der Nähe einer Cut-and-Paste-Anleitung befinden. Ich würde dringend empfehlen, den Ratschlägen anderer hier zu folgen und einige Testläufe auf einem lokalen Server oder einer VM durchzuführen, da es definitiv Knicke und Probleme gibt, die Sie ausarbeiten müssen, bevor Sie mit der Arbeit beginnen können.

Steven Montag
quelle
12

Die beste Methode für die Remote-Installation eines Betriebssystems ist der Kauf von Serverhardware mit Out-of-Band-Verwaltung (HP ilo, Dell drac), mit der Sie die Konsole eines Servers aus der Ferne aus- und wieder einschalten und sehen können. Versuchen Sie es nicht einmal anders.

Mark Wagner
quelle
Ich stimme zu, aber ich muss mich noch mit meiner aktuellen Situation auseinandersetzen
netvope
6
Viele erfahrene Leute, die dies seit einem Jahrzehnt tun, werden Ihnen "viel Glück damit" sagen.
troyengel
1
Sowohl Embobo als auch Troyengel sind genau richtig; Die Situation, in der Sie sich befinden, wird sich nur verschlimmern, wenn Sie versuchen, dies aus der Ferne zu tun. Mein Vorschlag? Nehmen Sie Kontakt mit dem Rechenzentrum auf.
Andrew M.
1
Remote-Management-Karten sind großartig, und die meisten neuen Supermicro-Systeme sind bereits mit ihnen ausgestattet, einschließlich Remote-Stromversorgung, Tastatur / Video / Maus und Remote-CD / DVD-Laufwerken. Für diese Situation kann ich mir nicht vorstellen, ohne eine zu sein.
Sean Reifschneider
5

Die Installation einer neuen Distribution kann durchgeführt werden, ist jedoch sehr schwierig. Es ist etwas, das Sie mit ziemlicher Sicherheit NICHT gleich beim ersten Mal richtig machen werden. In der Tat werden Sie Glück haben, wenn Sie es das dritte oder vierte Mal richtig machen.

Außerdem kann Ihnen hier niemand eine Wäscheliste geben, der Sie nur folgen können, und das wird passieren. Sie müssen mit verschiedenen Alternativen experimentieren, abhängig von der genauen Partition und dem Dateisystemlayout, der Hardwarekonfiguration usw.

Das heißt, ich würde so etwas tun, wenn ich müsste:

  • Holen Sie sich eine Maschine, die so ähnlich wie möglich zu der vorhandenen Maschine konfiguriert ist: Festplatten, Netzwerkkarten, Disc-Adapter, RAM, wie Sie es nennen.
  • Richten Sie dieses System so ein, dass es das aktuelle Setup auf diesem Host nachahmt.
  • Experimentieren Sie mit dem, was Sie auf diesem Testsystem tun müssen.
  • Machen Sie sich umfangreiche Notizen, damit Sie sie auf dem "Live" -System reproduzieren können.
  • Führen Sie diese Notizen auf dem Testsystem erneut durch, bevor Sie die endgültige Migration durchführen.

Einige Techniken, die Ihnen möglicherweise helfen können:

  • Entscheiden Sie, ob Sie auf einer neuen Partition installieren möchten, oder versuchen Sie, über das vorhandene Dateisystem zu installieren. Wenn Sie eine neue Partition erstellen, können Sie jederzeit durch Booten der alten Partition den Vorgang beenden. Dies bedeutet jedoch wahrscheinlich, dass Sie das aktuelle Dateisystem verkleinern müssen, was offline erfolgen muss. Ich schrieb einige Notizen im Jahr 2007, als ich dies tat .
  • Möglicherweise können Sie eine Installation auf einer kleinen Partition auf Ihrem Testcomputer durchführen und dann die entsprechenden Änderungen wie die IP-Adressen vornehmen und dieses Dateisystem-Image deaktivieren, um die Basisinstallation auf der neuen Partition auszufüllen. Dies ist nur möglich, wenn Sie für die Neuinstallation eine separate Partition verwenden.
  • Sie könnten stattdessen das Root-Dateisystem in einem Unterverzeichnis platzieren und dann etwas in der initrd tun, so dass es: "cd / target; mv * oldroot; mv oldroot / newos / *". Verschieben Sie alle alten Verzeichnisse an einen anderen Ort und setzen Sie die neuen ein. Dies müsste geschehen, bevor die initrd "Pivotroot" ausführt, wahrscheinlich direkt nachdem das Dateisystem gemountet wurde.
  • Wenn Sie den initrd-Skripten Code hinzufügen, können Sie während des Systemstarts allerlei wunderbare Dinge tun. Weitere Informationen finden Sie in dem Blog-Beitrag, auf den ich oben verweise.
  • Erwarten Sie, dass Sie daran scheitern werden. Es ist ein extrem riskantes Unterfangen. Als ich die Größe meines Dateisystems geändert habe (siehe oben), war ich schockiert, als es ordnungsgemäß neu gestartet wurde.
  • Sie müssen sich entscheiden, was Sie in Bezug auf die Bootsektoren tun möchten. Wird LILO oder GRUB ausgeführt? Möchten Sie versuchen, beim aktuellen Bootloader zu bleiben oder zu 10.04 zu wechseln? Wahrscheinlich ist es am besten, den vorhandenen Loader zu verwenden, um das neue Betriebssystem zu booten, und dann "grub-install" von diesem Betriebssystem aus auszuführen, um das neue Betriebssystem zu installieren.

Viel Glück! Du wirst es brauchen. :-)

Sean Reifschneider
quelle
1

Wenn Sie eine andere Partition haben, können Sie diese Partition zur Installation in einer VM verwenden, die die gesamte Festplatte anzeigt. Solange Sie nicht dieselbe Partition sowohl in der VM als auch auf dem Host bereitstellen oder mit der Partitionstabelle spielen, sind Sie sicher. Eine andere Möglichkeit wäre, vom Netzwerk aus zu booten und eine Installation mit Preseed oder Kickstart durchzuführen. Experimentieren Sie mit einer lokalen Umgebung, bevor Sie remote spielen.

Mircea Vutcovici
quelle
1

Ich schreibe eine einfache Lösung basierend auf Voreinstellung.

https://github.com/mhf-ir/ubuntu-overssh-reinstallation

Du brauchst eine installierte Version von Ubuntu, die ssh hat. Ein weiterer http-Server zum Bereitstellen der Voreinstellungsdatei. Ich habe so oft in vielen Rechenzentren getestet.

Wenn Sie Ubuntu haben, können Sie über ssh ohne KVM / IPMI / VNC oder eine Remote-Anwendung neu installieren und partitionieren. nur mit ssh. Und reine Installation mit Netiso / Miniiso von Ubuntu Server.

Es basiert auf dem Start des Grub-Image- Loaders Ihrer benutzerdefinierten ISO-Datei, die Ihre Netzwerkeinstellungen und Ihr SSH-Passwort enthält.

sweb
quelle
0
  1. Viel Glück.

  2. Dies ist unter Umständen denkbar möglich (was hier / für Sie möglicherweise nicht zutrifft).

  3. Das ist schwer; Ich empfehle Ihnen, auf einer lokalen (virtuellen, falls erforderlich) Maschine zu üben. Viel.

Slartibartfast
quelle
0

Wenn Sie den Server nur einmal besuchen können, können Sie dem System einen KVM-über-IP-Port hinzufügen. Ich habe bei CDW einen $ 310 Lantronix Spider 1-Port gefunden , der dies tut. Es hilft jedoch nicht bei einem "Neustart" oder dem Auswerfen von Medien, obwohl Sie beim Neustart ins BIOS gehen und die Startreihenfolge so ändern können, dass eine CD ignoriert wird.

Nullzeit
quelle
0

Ich habe es vorher als Test gemacht. Dies würde ich jedoch nicht empfehlen, wenn es keinen Fallback-Plan gibt.

Wie sich herausstellt, sind Systeme ziemlich zuverlässig, wenn alle benötigten Anwendungen bereits geladen sind. Ich habe dd erfolgreich ausgeführt und die ersten 8 GB des Zielservers mit einer Ubuntu-Standardinstallation überschrieben. Danach habe ich den Server ohne Probleme in Ubuntu neu gestartet. Sie können dann die Partition von dort aus erweitern, um den Rest des Laufwerks zu füllen.

Sie können auch eine neue Partition einrichten, eine neue Installation debooten und Ihren Bootloader so ändern, dass er von dieser neuen Partition bootet. Erwarten Sie erneut ein Scheitern und hoffen Sie auf Erfolg.

Jeff McJunkin
quelle