Qual è la migliore pratica di distribuzione di sistema Linux di massa?


9

Se si sta tentando di installare contemporaneamente il sistema 500 Linux tramite l'installazione di rete, il collo di bottiglia sarebbe NFS / HTTP / FTP o qualunque server contenga i file necessari per l'installazione.

IMO, questo può essere risolto solo aggiungendo più server di installazione e quindi round-robin.

Esiste una soluzione migliore a questo problema? Qualcosa come "installazione P2P Linux"?

AGGIORNAMENTO: devo descrivere la mia situazione in modo più specifico. Attualmente sto implementando RHEL usando kickstart + NFS. Quando provo a distribuire contemporaneamente 500 RHEL, il server NFS avrà un traffico enorme e rallenta ogni processo di installazione. Configurare più server NFS è una soluzione ma non penso che sia una buona soluzione.


Che cosa vuoi fare? Installare il sistema di base, gestire successivamente il sistema? distribuire configurazioni o applicazioni?
shakalandy,

@shakalandy Sto implementando RHEL usando kickstart + NFS. Quando provo a distribuire contemporaneamente 500 RHEL, il server NFS avrà un traffico enorme e rallenta ogni processo di installazione. Configurare più server NFS è una soluzione ma non penso che sia una buona soluzione.
yegle,

Risposte:


7

Di solito è qui che arriva l'imaging multicast. Qualcosa come Clonezilla o Ghost supporta l'invio di dati multicast che ti permetterebbero di inviare l'immagine a tutti i 500 sistemi contemporaneamente alla stessa velocità di mandare l'immagine a 1 sistema.


3

L' installatore di valanghe della distribuzione cluster di linux rock , è basato su bittorrent e si adatta bene. Ti porta anche dall'avvio di PXE al sistema in esecuzione. Tuttavia, sei legato all'utilizzo delle rocce (basato su CentOS) e al fare le cose allo stesso modo delle rocce.



1

Non userei il multicast perché questo rende le cose più complicate. Innanzitutto, cerca di ridurre al minimo il traffico NFS, ciò significa ottenere i pacchetti che devi installare tramite HTTP. Se il server Web per il repository dei pacchetti viene sovraccaricato, utilizzarne due e distribuire il carico assegnando server diversi a ciascun client (ad esempio indirizzo IP modulo 2).

Il tuo server NFS potrebbe essere più veloce se saranno avviati più demoni nfsd. Spesso ne vengono avviati solo 8.

Ho appena misurato il traffico di un'installazione Debian (tramite PXE, NFS, HTTP) usando FAI. Durante l'installazione di 4,2 GB di software, 1,3 GB di HTTP (tutti i pacchetti) e 100 MB di traffico NFS (il nfsroot durante l'installazione) sono stati inviati sulla rete. Questo era per un client di installazione. Quindi credo che ridurre il traffico NFS e distribuire il traffico HTTP sarà di grande aiuto.

Anche una scheda NIC da 10 GB nel tuo server o una scheda NIC serveral di legame sarebbe di aiuto. E penso che non sia necessario installare tutta la macchina contemporaneamente, ma di più in un breve lasso di tempo.

Ma comunque, prima devi analizzare quale sarà il tuo collo di bottiglia. Quindi esegui alcuni test su 20 macchine per es


0

Non conosco un modo per usare bittorrent o multicast a meno che tu non sia in grado di passare alla distribuzione di un'immagine piuttosto che eseguire installazioni. In caso contrario, ecco un modo per affrontare il problema.

Pensiamo più da vicino al collo di bottiglia. La CPU non è il collo di bottiglia; NFS non richiede molta potenza di elaborazione. Il disco non è il collo di bottiglia; i file necessari per installare RHEL non sono più di pochi gigabyte, quindi dovrebbero facilmente adattarsi alla RAM del tuo server NFS. Il throughput di rete è sicuramente un collo di bottiglia; supponendo che un sistema installato richieda in media 50 megabit al secondo, per alimentare 500 installazioni occorrerebbero almeno 25 gigabit di larghezza di banda. Sono molte schede di rete, o alcune molto costose.

Questo non significa che non dovresti provare a migliorare le prestazioni lanciando più hardware, entro limiti ragionevoli. Ottieni tutte le schede di rete che sono possibili nel server NFS e collegale. Se è possibile giustificare tempi e costi, impostare più server NFS. Ovviamente, assicurati che i tuoi server NFS siano ottimizzati .

Indipendentemente dal fatto che si aggiunga hardware, vedere se si ottiene un aumento delle prestazioni evitando la congestione della rete e bilanciando i picchi e le depressioni della velocità effettiva. Per fare ciò, suddividere le installazioni in batch. Eseguire una singola installazione e rappresentare graficamente la velocità effettiva durante l'installazione. Guarda quel grafico e determina quante installazioni puoi avviare contemporaneamente e quando sono i tempi ottimali per avviare più batch.

Ad esempio, supponiamo che sia possibile trasferire 4Gb / s dai server NFS. Forse scoprirai che un'installazione copia 100 Mb / s per il primo minuto mentre il programma di installazione viene scaricato, quindi non copia dati per un minuto mentre il programma di installazione funziona come il partizionamento, quindi copia 50 Mb / s per tre minuti mentre il il programma di installazione scarica ed estrae i pacchetti. Sapendo questo, è possibile calcolare che è possibile avviare 40 installazioni, attendere un minuto, avviare altre 40 installazioni, attendere 5 minuti, quindi ripetere il processo.


0

Per quanto riguarda la distribuzione di massa dei file, esiste già una soluzione proposta da Twitter, basata su bittorent: Murder .

Se stai parlando di installare il sistema operativo sul tuo server, ovviamente non funzionerà con questa soluzione.

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.