Come automatizzare la configurazione del server Linux?


25

Esiste un modo per automatizzare la configurazione del server Linux? Sto lavorando alla configurazione di un paio di nuovi server di build, oltre a un server FTP, e vorrei automatizzare il più possibile il processo.

La ragione di ciò è che l'installazione e la configurazione di questi server devono essere eseguite in modo facilmente ripetibile. Abbiamo pensato che automatizzare il più possibile questo processo avrebbe reso più semplice ripetere, se necessario, in futuro.

In sostanza, tutto ciò che serve ai server è installare il sistema operativo, nonché una manciata di pacchetti. Non c'è nulla di eccessivamente complicato nelle impostazioni.

Quindi, c'è un modo per automatizzare questo processo (o almeno in parte)?

EDIT: Inoltre, supponiamo che io usi Kickstart, c'è un modo per rimuovere i repository Ubuntu predefiniti e installare i pacchetti da una raccolta di file .deb che abbiamo localmente (preferibilmente tramite apt, anziché dpkg)?


Quale distro hai scelto di installare? Sarebbe utile per determinare il prossimo passo
eyoung100,

attenzione, tuttavia, che l'attività di automazione potrebbe richiedere molto tempo. Se si prevede di installare meno di 10 host, potrebbe non valere la pena.
Archemar,

Di recente ho appreso le funzionalità offerte da saltstack (la maggior parte dei repository su Github hanno contribuito). Consiglio vivamente di esaminarlo perché offre strumenti sia per la creazione di nuovi server su servizi come aws, sia per la distribuzione di configurazioni, impostazioni, scrittura di file, accesso remoto alla shell, accesso bulk alla shell. limitazione dell'accesso uniforme. Sembra quasi tutto ciò che avresti mai bisogno di fare. Anche se ho buoni amici che giurano Ansible per le nuove configurazioni del server.
ThorSummoner,

+1 per te e mattdm ... Non sapevo che questo forum esistesse fino a quando non l'ho visto su Hot Network Questions e quindi non avevo nemmeno pensato che questa domanda avesse una risposta. Sono contento che tu l'abbia chiesto ed è stato risposto molto bene !
Sylas Seabrook,

Risposte:


36

Sì! Questo è un grosso problema e incredibilmente comune. E ci sono due approcci di base. Un modo è semplicemente con installazioni con script, come ad esempio utilizzato in Fedora, RHEL o il kickstart di CentOS. Dai un'occhiata alla guida all'installazione di Fedora: installazioni kickstart . Per il tuo semplice caso, questo potrebbe essere sufficiente. (Prendi questo come esempio; ci sono sistemi simili per altre distro, ma da quando lavoro su Fedora è quello che mi è familiare.)

L'altro approccio è utilizzare la gestione della configurazione . Questo è un argomento importante, ma guarda Puppet, Chef, Ansible, cfengine, Salt e altri. In questo caso, è possibile utilizzare un kickstart generico di base per eseguire il provisioning di una macchina minima e lo strumento di gestione della configurazione per portarlo al suo ruolo.

Man mano che crescono le tue esigenze e le tue infrastrutture, questo diventa incredibilmente importante. L'uso della gestione della configurazione per tutte le modifiche significa che è possibile ricreare non solo l'installazione iniziale, ma lo stato evoluto del sistema mentre si introducono le inevitabili modifiche e correzioni causate dall'interazione con il mondo reale.

Abbiamo pensato che automatizzare il più possibile questo processo avrebbe reso più semplice ripetere, se necessario, in futuro.

Sei assolutamente sulla strada giusta: questo è il principio fondamentale dell'amministrazione professionale dei sistemi. Abbiamo persino un'immagine meme per questo:

AUTOMATICA TUTTE LE COSE

Inizialmente è spesso moderatamente più difficile da installare e può esserci una grande curva di apprendimento per alcuni dei sistemi più avanzati, ma si ripaga da sola per sempre. Anche se hai solo una manciata di sistemi, pensa a quanto vuoi lavorare per ricrearli in caso di catastrofe nel cuore della notte o quando sei in vacanza.


1
Grazie mille! Inizierò a esaminare tutti questi.
user1617942

Non hai menzionato Cobbler.
Brian,

@staticx Sì, questo non è completo. C'è anche un intero mondo di sistemi di provisioning: Cobbler, Foreman, Satellite / Spacewalk, FAI, Razor, e questo non è nemmeno un problema per il cloud.
Mattdm,

@ChrisK Ah, direi lo stesso;)
William Edwards,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.