Product SiteDocumentation Site

3.2. Come migrare

Al fine di garantire la continuità dei servizi, ogni migrazione di computer deve essere pianificata ed eseguita secondo il piano. Qualunque sia il sistema operativo usato, questo principio non cambia mai.

3.2.1. Rilevamento e identificazione dei servizi

Per quanto sembri semplice, questo passo è essenziale. Un amministratore scrupoloso conosce veramente i ruoli principali di ogni server, ma tali ruoli possono cambiare e talvolta utenti esperti possono aver installato servizi non “autorizzati”. Sapere che esistono permette almeno di decidere cosa farne, piuttosto che eliminarli inconsapevolmente.
Per questo scopo, è saggio informare di questo progetto i propri utenti prima di migrare il server. Per coinvolgerli nel progetto, può essere utile installare i programmi liberi più comuni sui loro computer prima della migrazione, quelli che saranno incontrati di nuovo dopo la migrazione a Debian; OpenOffice.org e la suite Mozilla ne sono i migliori esempi.

3.2.1.1. Rete e processi

Lo strumento nmap (nel pacchetto con lo stesso nome) identificherà velocemente i servizi Internet ospitati da una macchina connessa alla rete senza nemmeno aver bisogno di accedervi. Basta semplicemente eseguire il seguente comando su un'altra macchina connessa alla stessa rete:
$ nmap mirlaine
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 16:36 CET
Interesting ports on mirlaine (192.168.1.99):
Not shown: 1694 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
79/tcp  open  finger
111/tcp open  rpcbind

Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds
Se il server è una macchina Unix che offre account di shell agli utenti, è interessante determinare se i processi sono eseguiti sullo sfondo in assenza del loro proprietario. Il comando ps auxw mostra un elenco di tutti i processi con l'identità degli utenti. Confrontando queste informazioni con l'output del comando who, che mostra un elenco degli utenti collegati, è possibile identificare server non autorizzati o programmi in esecuzione sullo sfondo. Guardare i crontab (tabelle che elencano le azioni automatiche programmate dagli utenti) fornirà spesso informazioni interessanti sulle funzioni ricoperte dal server (una spiegazione completa di cron è disponibile in Sezione 9.7, «Pianificare attività con cron e atd»).
In ogni caso è essenziale fare il backup dei propri server: questo permette il recupero di informazioni a posteriori, quando gli utenti segnaleranno problemi specifici dovuti alla migrazione.

3.2.2. Fare il backup della configurazione

È saggio conservare la configurazione di ogni servizio identificato al fine di essere in grado di installare quello equivalente sul server aggiornato. Il minimo indispensabile è stampare i file di configurazione e farne una copia di backup.
Per le macchine Unix, i file di configurazione si trovano solitamente in /etc/, ma possono trovarsi in una sotto-directory di /usr/local/. Questo è il caso quando un programma è stato installato dai sorgenti, piuttosto che da un pacchetto. Si possono trovare, in alcuni casi, sotto /opt/.
Per i servizi che gestiscono dati (come i database), è fortemente consigliato di esportarli in un formato standard che sarà facilmente importato dal nuovo software. Un tale formato è solitamente in modalità testo e documentato; può essere, per esempio, un dump SQL per un database o un file LDIF per un server LDAP.
Backup di database

Figura 3.2. Backup di database


Il software di ogni server è differente ed è impossibile fornire dettagli su tutti i casi esistenti. Consultare la documentazione del software nuovo e di quello attuale per identificare le porzioni esportabili (perciò re-importabili) e quelle che richiedono manipolazioni manuali. La lettura di questo libro chiarirà la configurazione dei principali programmi per server Linux.

3.2.3. Prendere il controllo di un server Debian esistente

Si può analizzare una macchina che già esegue Debian per prendere efficacemente il controllo della sua manutenzione.
Il primo file da controllare è /etc/debian_version, che solitamente contiene il numero di versione per il sistema Debian installato (fa parte del pacchetto base-files). Se indica codename/sid, significa che il sistema è stato aggiornato con pacchetti provenienti da una delle distribuzioni di sviluppo (testing oppure unstable).
Il comando apt-show-versions (dal pacchetto Debian con lo stesso nome) controlla l'elenco dei pacchetti installati e identifica le versioni disponibili. aptitude può anche essere usato per questi compiti, anche se in maniera meno sistematica.
Un'occhiata al file /etc/apt/sources.list mostrerà da dove probabilmente provengono i pacchetti Debian installati. Se appaiono molte sorgenti sconosciute, l'amministratore può scegliere di reinstallare completamente il sistema del computer per assicurare una compatibilità ottimale con il software fornito da Debian.
Il file sources.list è spesso un buon indicatore: la maggior parte degli amministratori mantiene, almeno nei commenti, l'elenco delle fonti APT usate precedentemente. Ma non si dimentichi che le fonti usate in passato potrebbero essere state eliminate e che dei pacchetti qualsiasi scaricati da Internet potrebbero essere stati installati (con il comando dpkg). In questo caso la macchina è fuorviante nella sua apparenza di Debian “standard”. Questo è il motivo per cui si dovrebbe fare attenzione a ogni indizio della presenza di pacchetti esterni (presenza di file deb in directory non usuali, numeri di versione dei pacchetti con suffissi che indicano che hanno avuto origine all'esterno del progetto Debian, come ubuntu o ximian, ecc.)
Allo stesso modo, è interessante analizzare il contenuto della directory /usr/local/, che ha lo scopo di contenere programmi compilati e installati manualmente. Elencare il software installato in questa maniera è istruttivo dal momento che solleva interrogativi sulle ragioni per cui non è stato usato il pacchetto Debian corrispondente, se un tale pacchetto esiste.

3.2.4. Installazione di Debian

Ora che tute le informazioni del server attuale sono conosciute, possiamo spegnerlo e installarci Debian.
Per scegliere la versione appropriata, si deve conoscere l'architettura del computer. Se è un PC, molto probabilmente è i386. In altri casi si possono ridurre le scelte possibili in base al sistema usato precedentemente.
Installazione della versione appropriata di Debian

Figura 3.3. Installazione della versione appropriata di Debian


Tabella 3.1 non ha la pretesa di essere completa ma può essere utile. In ogni caso, la documentazione originale del computer è la fonte più affidabile per trovare questa informazione.

Tabella 3.1. Sistema operativo e architettura corrispondente

Sistema operativo Architettura
DEC Unix (OSF/1) alpha, mipsel
HP Unix hppa
IBM AIX powerpc
Irix mips
MacOS powerpc, m68k, i386, amd64
MVS s390
Solaris, SunOS sparc, m68k, i386
Ultrix mips
VMS alpha
Windows NT i386, alpha, mipsel
Windows XP / Windows Server 2008 i386, ia64, amd64
Windows Vista / Windows 7 i386, amd64

3.2.5. Installazione e configurazione dei servizi scelti

Una volta che Debian è installata, è necessario installare e configurare uno ad uno i servizi che questo computer deve ospitare. La nuova configurazione deve tenere in considerazione quella precedente per assicurare una transizione indolore. Tutte le informazioni raccolte nei primi due passi sono utili per completare con successo questa parte.
Installazione dei servizi scelti

Figura 3.4. Installazione dei servizi scelti


Prima di gettarsi a capofitto, è fortemente consigliato di leggere il resto di questo libro. Dopo di ciò si avrà una comprensione più precisa di come configurare i servizi attesi.