domenica 12 settembre 2010

Duplicare un server Debian

Oggi ci occupiamo di come duplicare un server Debian running, ma prima dobbiamo definire la parola "duplicare"... per duplicare non si intende clonare completamente la macchina (quindi compresa la configurazione), ma ottenere un sistema installato da nuovo con gli stessi pacchetti che sono sulla macchina presa come master.
Ricordo che come per tutte le operazioni critiche è sempre consigliabile fare un backup dei dati vitali... anche se non dovrebbero esserci eventi imprevisti, in questo modo si è certi di non perdere dati vitali qualunque comando venga lanciato.
I passi che seguiremo sono i seguenti:
  1. installare e configurare un sistema secondo le proprie necessità;
  2. creare una lista dei pacchetti installati;
  3. installare un sistema base sulla nuova macchina;
  4. usare la lista dei pacchetti generata in precedenza per ottenerne un sistema in grado di svolgere le stesse funzioni.
A questo punto sappiamo che il punto di partenza è avere un sistema installato come quello che vogliamo creare, ed utilizzeremo quindi la lista dei pacchetti installati su questo per generare il nostro duplicato dato che con alte probabilità saranno stati aggiunti e rimossi determinati pacchetti.
Un punto importante da considerare è il tipo di distribuzione installata; da un sistema stable noi possiamo clonare/generare un sistema testing, ma da un sistema testing non possiamo generare un sistema stable, o meglio, potrebbero esserci dei problemi a causa della presenza di un maggiore numero di pacchetti nella distribuzione testing e non presenti nella stable.
Avendo un sistema di partenza dobbiamo prelevare la lista dei pacchetti presenti e per operare con i pacchetti la distribuzione Debian, o altre debian-like, si affidano all'utilizzo del comando "dpkg"; quindi per prelevare la lista dei pacchetti installati procediamo nella seguente maniera:

  • dpkg --get-selections > /tmp/installed.pkg
Questo comando restituisce la lista dei pacchetti installati e la scrive all'interno del file /tmp/installed.pkg; di questo file ne avremo bisogno in seguito.
Ora dobbiamo installare la nuova macchina, ma non mi occuperò di questo procedimento in quanto ci sono molti tutorial che spiegano come procedere... il nostro scopo è solamente quello di arrivare ad avere un sistema base installato da cui proseguire per ottenere il nostro duplicato.
Una volta installato il sistema base, procediamo all'aggiornamento dei pacchetti già installati con i comandi:
  • apt-get update && apt-get upgrade
A questo punto possiamo occuparci dell'installazione, o rimozione, secondo i pacchetti presenti sul sistema master e, supponendo che il file generato in precedenza sia di nuovo posizionato in /tmp, è necessario eseguire i seguenti comandi:
  • dpkg --set-selections < /tmp/installed.pkg && apt-get -u dselect-upgrade
La prima parte del comando esegue il preselect dei pacchetti presenti nella lista, mentre la seconda parte utilizza apt-get per aggiornare il sistema in base alla lista dei pacchetti forniti da dpkg. A questo punto c'è solamente da aspettare il download e l'installazione, o rimozione, dei pacchetti desiderati.
L'ultima operazione da eseguire per avere il nuovo sistema funzionante è la configurazione di tutti i pacchetti necessari; qui è possibile procedere in due modi:
procedere manualmente alla configurazione dei singoli pacchetti;
eseguire un diff tra i vecchi file di configurazione ed i nuovi, eseguendo sui file solamente le modifiche "appprovate";
copiare i file di configurazione dal sistema master su di questo nuovo.
Il primo sistema è quello più pulito (non vengono trasferite configurazioni obsolete), ma anche il più lungo; il secondo sistema è un buon compromesso, permettendo di agire manualmente sulle singole modifiche e/o decidere quali trasferire; mentre l'ultimo sistema potrebbe lasciare un sistema sporco, trasferendo file obsoleti o non più necessari alla configurazione di determinati pacchetti.
Ed anche per oggi direi che è tutto, buona clonazione dei sistemi!

P.S.: clonare può anche essere letto come backup del sistema... e come si suol dire: "A buon intenditore, poche parole!"

Nessun commento:

Posta un commento