A/I Orange Book (1.0): Un how-to sulla replicazione e distribuzione di una rete resistente di server autogestiti | ||
---|---|---|
Indietro | Capitolo 1. Introduzione | Avanti |
La configurazione descritta in questo documento è stata progettata e realizzata in funzione di linee guida che si crede possano rispondere con successo alle necessità appena indicate. Queste sono precisamente:
Deve essere possibile sostituire rapidamente la macchina che ha il ruolo di "master" con un'altra equivalente: per questo motivo tutta la configurazione "statica" (i files in /etc per esempio, ma anche i database delle utenze e delle mailbox, i siti web, gli archivi ftp) è replicata su tutti i server, uno dei quali viene dichiarato essere il principale. La presenza di una copia aggiornata dappertutto permette di sostituire questa macchina con una modifica molto rapida.
I dati particolarmente "sensibili" (come le mailbox, o le mailing list) vanno invece suddivisi tra le varie macchine, anche casualmente, il criterio in realtà non è molto importante dato che non è il load balancing che si vuole ottenere. Deve comunque essere possibile modificare, nei database, l'assegnazione di una mailbox ad una particolare macchina, nel caso in cui quest'ultima non sia più operativa, nel tempo più breve possibile. Recuperare i dati perduti sulla prima macchina non è considerata una priorità.
Perché un modello di questo genere sia efficace, è necessario che tutte le macchine coinvolte siano fondamentalmente simili, configurate allo stesso modo, e intercambiabili (e, presumibilmente, gestite centralmente dalle stesse persone).
Questo documento descrive tre cose sostanzialmente differenti, benché profondamente correlate tra loro:
la configurazione dei vari servizi di comunicazione (posta, web, mailing list) in modo da supportare la suddivisione degli utenti per macchina mantenendo un'unica "presenza" virtuale (gli indirizzi di posta, ad esempio, saranno @dominio.org anziché @server1.dominio.org, @server2.dominio.org, etc.) di modo che l'esperienza dell'utente sia comunque quella di aver a che fare con un oggetto "unico";
l'implementazione di un meccanismo per gestire centralmente tutte queste configurazioni e manipolarle non più al livello della singola macchina ma utilizzando una maggiore astrazione (affinché la complessità di gestione risulti semplificata rispetto alla gestione diretta di N singole macchine);
gli accorgimenti che è necessario adoperare per rendere anonime le operazioni effettuate mediante tale infrastruttura.
Ovviamente ci sono molti modi per realizzare quanto descritto, quello da noi prescelto è solamente uno tra i tanti: non intendiamo proporlo come migliore, o neanche come esempio di pratiche corrette. In generale, ci siamo fatti guidare nelle nostre scelte dalle considerazioni esposte qua sopra, dalla nostra esperienza collettiva e eventualmente dalla maggiore familiarità con alcuni strumenti piuttosto che altri.
Tutto il software utilizzato è Free Software (l'infrastruttura si basa su sistemi Debian).
I prossimi capitoli introdurranno ciascuno la configurazione di una parte del software.