Wie automatisiere ich die Linux-Serverkonfiguration?


25

Gibt es eine Möglichkeit, die Linux-Serverkonfiguration zu automatisieren? Ich arbeite daran, ein paar neue Build-Server sowie einen FTP-Server einzurichten, und möchte den Prozess so weit wie möglich automatisieren.

Der Grund dafür ist, dass die Einrichtung und Konfiguration dieser Server auf einfach zu wiederholende Weise erfolgen muss. Wir gingen davon aus, dass eine weitestgehende Automatisierung dieses Vorgangs eine spätere Wiederholung am einfachsten macht.

Im Wesentlichen müssen nur das Betriebssystem und eine Handvoll Pakete auf den Servern installiert werden. Die Einstellungen sind nicht allzu kompliziert.

Gibt es eine Möglichkeit, diesen Prozess (oder zumindest einen Teil davon) zu automatisieren?

EDIT: Angenommen, ich verwende Kickstart. Gibt es eine Möglichkeit, die standardmäßigen Ubuntu-Repositorys zu entfernen und die Pakete einfach aus einer Sammlung von .deb-Dateien zu installieren, die wir lokal haben (vorzugsweise über apt statt über dpkg)?


Für welche Distribution haben Sie sich entschieden? Das wäre hilfreich, um den nächsten Schritt zu bestimmen
eyoung100

Beachten Sie jedoch, dass die Automatisierungsaufgabe möglicherweise lange dauert. Wenn Sie weniger als 10 Hosts installieren möchten, lohnt sich die Aufgabe möglicherweise nicht.
Archemar

Ich habe vor kurzem über die Funktionen von Saltstack erfahren (die meisten Repos auf Github beigetragen). Ich würde es wärmstens empfehlen, sich das Produkt anzuschauen, da es Tools zum Erstellen neuer Server auf Diensten wie aws und zum Bereitstellen von Konfigurationen, Einstellungen, Schreiben von Dateien, Remoteshellzugriff und Massenshellzugriff bietet. sogar Zugangsbeschränkung. Fast alles, was Sie jemals tun müssten, scheint es. Obwohl ich gute Freunde habe, die auf Ansible für neue Server-Setups schwören.
ThorSummoner

+1 an dich und mattdm ... Ich wusste nicht, dass dieses Forum existiert, bis ich es in den Hot Network Questions sah, und dann hatte ich nicht einmal gedacht, dass diese Frage eine Antwort hat. Ich bin so froh, dass du gefragt hast und es wurde so gut beantwortet !
Sylas Seabrook

Antworten:


36

Ja! Dies ist eine große Sache und unglaublich häufig. Und es gibt zwei grundlegende Ansätze. Eine Möglichkeit besteht einfach darin, Skripte zu installieren, wie sie beispielsweise in Fedora, RHEL oder CentOSs Kickstart verwendet werden. Weitere Informationen finden Sie in der Fedora-Installationsanleitung: Kickstart-Installationen . Für Ihren einfachen Fall kann dies ausreichend sein. (Nehmen Sie dies als Beispiel; es gibt ähnliche Systeme für andere Distributionen, aber da ich an Fedora arbeite, kenne ich mich damit aus.)

Der andere Ansatz ist die Verwendung des Konfigurationsmanagements . Dies ist ein großes Thema, aber schauen Sie sich Puppet, Chef, Ansible, Cfengine, Salt und andere an. In diesem Fall können Sie einen sehr einfachen allgemeinen Kickstart verwenden, um eine minimale Maschine bereitzustellen, und das Konfigurationsverwaltungstool, um sie in die richtige Rolle zu bringen.

Wenn Ihre Bedürfnisse und Ihre Infrastruktur wachsen, wird dies unglaublich wichtig. Wenn Sie die Konfigurationsverwaltung für alle Ihre Änderungen verwenden, können Sie nicht nur die Erstinstallation, sondern auch den weiterentwickelten Status des Systems wiederherstellen , während Sie die unvermeidlichen Verbesserungen und Korrekturen einführen, die durch die Interaktion mit der realen Welt verursacht werden.

Wir gingen davon aus, dass eine weitestgehende Automatisierung dieses Vorgangs eine spätere Wiederholung am einfachsten macht.

Sie sind auf dem richtigen Weg - das ist das Grundprinzip der professionellen Systemadministration. Wir haben sogar ein Meme-Image dafür:

AUTOMATISIERE ALLE DINGE

Das Einrichten ist anfangs oftmals etwas schwieriger, und für einige der fortgeschritteneren Systeme kann sich eine große Lernkurve ergeben, die sich jedoch für immer auszahlt. Auch wenn Sie nur über eine Handvoll Systeme verfügen, sollten Sie überlegen, wie viel Arbeit Sie bei der Wiederherstellung dieser Systeme im Katastrophenfall mitten in der Nacht oder im Urlaub leisten möchten.


1
Vielen Dank! Ich werde mich mit all dem befassen.
user1617942

Sie haben Cobbler nicht erwähnt.
Brian

@staticx Ja, das ist nicht umfassend. Es gibt auch eine ganze Welt von Provisioning-Systemen: Cobbler, Foreman, Satellite / Spacewalk, FAI, Razor, und das ist noch nicht mal Cloud-Kram.
Mattdm

@ ChrisK Ha, ich würde das gleiche sagen;)
William Edwards


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.