Vollautomatische Installation per SSH (kein Rescue o.ä.)

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
dmant
Beiträge: 184
Registriert: 09.10.2017 10:28:29

Vollautomatische Installation per SSH (kein Rescue o.ä.)

Beitrag von dmant » 06.06.2018 13:35:19

Hallo,

wie der Titel schon sagt, suche ich eine Möglichkeit der vollautomatischen Installation von Debian. Ist das überhaupt möglich?

Also ich suche eine Möglichkeit Server aus einer Datenbank heraus zu installieren. Die Installation mittels Script und debootstrap wäre ja denkbar und möglich. Bringt aber nicht meinen gewünschten Effekt.

Ausgangslage, Server ist vorinstalliert (je nach Hoster unterschiedlich), SSH Zugangsdaten

Wäre ein netboot gebootet oder eben ein rescue könnte man die installation machen, allerdings ist ja immer das system unterschiedlich, mal ist es /dev/sda mal /dev/kA also müsste man von Hand vorher ggf nachsehen.

Wäre eine Netboot gebootet so könnte man die installation ohne das wissen automatisieren.

Beides liegt allerdings nicht vor.

Ich dachte daher an eventuell so eine Lösung,

per SCP ein eigenes Netboot Images auf das System schieben.
dem system irgendwie sagen boote diese iso bei start im ram z.b. laden und automatisch ausführen soll.

nach der erforgreichen installation meldet sich der server beim host zurück mit seinen zugangsdaten und sagt ich bin installiert.

gibt es eine derartige möglichkeit?

dmant
Beiträge: 184
Registriert: 09.10.2017 10:28:29

Re: Vollautomatische Installation per SSH (kein Rescue o.ä.)

Beitrag von dmant » 07.06.2018 09:47:41

Keiner Informationen dazu? Also gäbe ja z.b. PxE fällt aber, da man ja nicht weiss ob unterstützt raus.

Dann gibtt es noch chef, puppet, Salt und ansible. Und eben die möglichkeit über Boot per swap.

Was wäre denn die beste Möglichkeit?

Benutzeravatar
ThorstenS
Beiträge: 2775
Registriert: 24.04.2004 15:33:31

Re: Vollautomatische Installation per SSH (kein Rescue o.ä.)

Beitrag von ThorstenS » 07.06.2018 13:42:06

wenn du PXE machen kannst, ist Debianfai-quickstart eine gute Lösung.

Ansonsten würde ich dafür ansible nehmen, weil du dort definieren kannst, welche Pakete, Benutzer, ssh-keys und configfiles vorhanden sein müssen.
Im „inventory” legst du die Zugangsdaten pro host fest, den Rest erledigt dann ansible. Der Automationsgrad kann dabei sehr hoch sein - alles eine Frage wie tief ud dich einarbeistest.

dmant
Beiträge: 184
Registriert: 09.10.2017 10:28:29

Re: Vollautomatische Installation per SSH (kein Rescue o.ä.)

Beitrag von dmant » 10.06.2018 21:07:00

Also ob ich PxE machen kann weis ich ja eben nicht. Auch nicht ob dort gerade ein rescue läuft, dein debian min, ubuntu oder was auch immer.

Also natürlich weiss ich das, dies ist aber eben nicht die Ausgangslage.

Also wenn ich einen Server miete wird dieser mir ausgeliefert. Ich bekomme die Daten per eMail oder im Interface. (Falls bei der Bestellung schon wählbar wird Debian gewählt, aber das soll ja uninteressant bleiben) Also was bekomme ich? Eine eMail mit der IP Adresse und dem Root Passwort.

Das ganze soll nun wie folgt funktionieren:

Ich logge mich lediglich auf meinem "Hauptserver" ein und nenne ihm IP Adresse und Root Passwort. Am besten in einer Tabelle. vielleicht noch ein Webinterface wo ich mich einloggen und einfach IP und PW eingeben kann. (Mach ich das selber).

So der Hauptserver weiss nun lediglich die IP und das Root PW und dieser soll nun diesen Server installieren. Egal was da gerade wie läuft. Ist die Installation fertig bekomme ich von meinem Hauptserver nur ne Mail das der Server installiert wurde und das war es dann.

Wie so ein Rescue System eines Hosters nur eben das eigene, entfernt über SSH.

Die Installation soll ebenfalls vollautomatisch ablaufen so das ich genau 0,0% per Hand machen muss. Natürlich soll auch nicht irgendein System bzw. Image installiert werden sondern eins was schon von mir "vorkonfiguriert" ist. Z.b. soll danach schon Apache installiert und so wie ich das will konfiguriert sein. Ebenfalls soll eine Seite mit "Hello World" unter der IP erreichbar sein.

Setze ich mich also da hin und trage 4 Std nur IPs und PWs ein habe ich am Ende hunderte fertig installierte Server, nach meinem wünschen und Konfigurationen.

Wenn ich z.b. will das die später allesamt in einem riesigen Cluster zusammen geführt sind dann wird das Cluster eben vollautomatisch mit jedem Server größer. Ohne das ich noch alles per Hand machen muss.

LG

Benutzeravatar
bluestar
Beiträge: 526
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Vollautomatische Installation per SSH (kein Rescue o.ä.)

Beitrag von bluestar » 10.06.2018 21:40:11

Ich würde per eigenen Script eine eigene Initrd (mit Auto-Installer-Inhalt) per SCP nach /boot kopieren, danach grub modifizieren, das er mit der Initrd startet und den Neustart auslösen.
Alternativ, falls das System über kexec verfügt, so kannst du auch darüber direkt den Kernel + Initrd starten.

Ein Script, universell für alle Hoster, wird halt aufwendiger zu erstellen, aber wenn es um einen riesigen Cluster geht, sollte sich der Aufwand lohnen.

dmant
Beiträge: 184
Registriert: 09.10.2017 10:28:29

Re: Vollautomatische Installation per SSH (kein Rescue o.ä.)

Beitrag von dmant » 10.06.2018 21:55:35

Das geht jedoch nur wenn man wiederum weiß was da läuft.

Das war auch so meine erster gedanke. Eine Art "netinstall" erstellen, per scp rüber schieben, usw.

Ist das aber überall gleich? Alleine bei OVH hätte ich schon die Auswahl zwischen BSD, Linux und Solaris.

Da geht es ja schon los.

Und manche Hoster senden ja z.b. die ganzen Netzwerkdaten mit Gateway Subnet etc. das muss ja eben alles stimmen. Also wenn ich z.b. bei OVH per debootstrap installieren. Verzwickt verzwickt.

Benutzeravatar
bluestar
Beiträge: 526
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Vollautomatische Installation per SSH (kein Rescue o.ä.)

Beitrag von bluestar » 10.06.2018 22:11:51

dmant hat geschrieben: ↑ zum Beitrag ↑
10.06.2018 21:55:35
Ist das aber überall gleich? Alleine bei OVH hätte ich schon die Auswahl zwischen BSD, Linux und Solaris.
Du musst halt der Pre-Install-Script entsprechend so bauen, das es erkennt auf welchem System es ausgeführt wird und welche Schritte notwendig sind um das System in einen standardisierten Stand zu bringen.
=> Die Handarbeit ist pro „Hoster/angebotenem System“ ja nur einmal nötig.

Wenn dein Script letztlich 20 unterschiedliche Systeme bei 10 Hostern unzerstützt, dann steht der Aufwand doch gut im Verhältnis zu zig manuellen Installationen.

Benutzeravatar
ThorstenS
Beiträge: 2775
Registriert: 24.04.2004 15:33:31

Re: Vollautomatische Installation per SSH (kein Rescue o.ä.)

Beitrag von ThorstenS » 12.06.2018 15:19:55

Debianansible kennt Variablen wie ansible_distribution, die dir helfen die Skripte passend zum OS zu kopieren:

Code: Alles auswählen

$ ansible -m setup -a 'filter=ansible_distribution*' localhost
localhost | SUCCESS => {
    "ansible_facts": {
        "ansible_distribution": "Debian", 
        "ansible_distribution_file_parsed": true, 
        "ansible_distribution_file_path": "/etc/os-release", 
        "ansible_distribution_file_variety": "Debian", 
        "ansible_distribution_major_version": "9", 
        "ansible_distribution_release": "stretch", 
        "ansible_distribution_version": "9.4"
    }, 
    "changed": false
}
Der Weg über kexec und eine eigene initrd hört sich vielversprechend für Linux Maschinen an. :THX:

Antworten