Non sono mai stato pienamente soddisfatto del sistema di porte in un ambiente di grandi dimensioni: sembra sempre che sia necessario applicare una gestione esterna per farlo funzionare bene.
I miei migliori consigli (in ordine di preferenza crescente, soluzione "peggiore" a soluzione "migliore"):
Se stai costruendo su ogni host, non farlo .
Se è necessario, non farlo su NFS con supporti di lettura / scrittura come descritto: Di solito puoi fidarti delle porte per fare la cosa giusta e non calpestare l'albero delle porte se fornisci directory di lavoro alternative, ma è sempre meglio sii sicuro che dispiaciuto: esegui un mirror CVS / csup locale e csup tutti i tuoi host da quella casella, quindi costruisci localmente come faresti se fossero macchine singole.
Sì, lo so che significa avere più spazio su disco sugli host e un ulteriore passaggio. Inoltre è quasi garantito per essere senza problemi.
Avvertimento: Probabilmente si desidera sincronizzare i file di configurazione del pacchetto (rsync o simili) da un "host di configurazione" designato per garantire coerenza su ogni macchina (se si desidera, è anche possibile risincronizzare l'intero albero delle porte, anziché utilizzare csup su ciascun nodo).
Utilizzare un host di build, creare pacchetti e installarli.
Una soluzione molto migliore rispetto alla creazione su ogni singolo computer: utilizzare un host di build per creare pacchetti e indirizzare gli strumenti su tali pacchetti.
Ciò significa mantenere un host di build in giro per ogni architettura eseguita (o cross-compilazione), ma alla fine è più bello per le macchine target (nessun lavoro di compilazione di grandi dimensioni, una garanzia di coerenza)
Utilizzare uno strumento di configurazione / gestione del sistema.
Questa è la soluzione che mi è venuta in mente: creo un'immagine server standard e la utilizzo nel mio ambiente radmind
. Puoi fare cose simili con Puppet o Chef . Ciò ha tutti i vantaggi dell'utilizzo di un host di build (coerenza, meno carico sui singoli server) e aggiunge il vantaggio della gestione della configurazione.
Avvertenza: funziona davvero bene solo se le tue macchine sono "identiche" - Cioè puoi installare lo stesso set di porte su tutte. Esso può funzionare se a diversi gruppi di porte, ma che aumenta sostanzialmente il carico amministrativo.
Disclaimer: sono il manutentore della porta per sysutils/radmind
. Sì, mi piace così tanto che l'ho adottato.
Tutto questo si basa sulla mia esperienza nella gestione di ambienti FreeBSD di varie dimensioni (che vanno da 1-2 macchine a oltre 100). Gli strumenti di configurazione / gestione del sistema che spingono e mantengono un'immagine standardizzata sono davvero il modo migliore per gestirlo nella mia esperienza.