Windows Server 2003 – Backup e Restore del Database DHCP

Ciao a tutti!

Ci sono diversi modi per effettuare backups e ripristinare il database del vostro server DHCP Windows 2003. Il metodo più immediato e user-friendly è l’utilizzo dell’interfaccia grafica (MMC); alternativamente è possibile usare delle istruzioni da riga di comando.

Recentemente abbiamo lavorato su uno di quei cosiddetti “problemi impossibili”. Il cliente aveva effettuato correttamente un backup via MMC, ma non era più riuscito a ripristinarlo. Durante il troubleshooting abbiamo avuto la possibilità di scoprire alcuni aspetti interessanti, che non sono specificati nella documentazione ufficiale e che vale la pena condividere con voi in questo post.

Effettuare un backup e ripristinarlo via MMC è molto semplice: è sufficiente cliccare con il tasto destro sul nome del server, selezionare “Backup” e scegliere la cartella dove si vuole vengano salvati i files.

image

Per ripristinare il database bisogna effettuare una operazione molto simile, sempre cliccando con tasto destro sul server e selezionando questa volta “Restore”, andando infine a selezionare la cartella da dove vogliamo caricare i files.

In questo modo è anche possibile importare un backup su un altro DHCP server a patto che supporti la stessa versione di Windows Server e il sistema operativo abbia la stessa lingua.

Queste informazioni sono riportate nella guida ufficiale sul Technet.

http://technet.microsoft.com/en-us/library/cc736344(WS.10).aspx

Un’aspetto importante che però non è citato nella documentazione, che era risultato essere la causa del nostro problema di non riuscire a ripristinare il database, riguarda un requisito sul path dove vengono salvati i dati.

Di default il path utilizzato dal servizio è C:\Windows\System32\dhcp mentre il nostro utente l’aveva personalizzato in D:\dhcp per poter sfruttare le risorse di storage un disco esterno.

Quando si tentava di re-importare i dati, l’utente aveva usato un nuovo DHCP server in tutto e per tutto uguale al precedente ma che stava utilizzando il path di default nella system32. In queste condizioni è impossibile ripristinare il database. La MMC non segnala alcun errore (semplicemente, non re-importa gli scope) mentre nell’event viewer troviamo il seguente evento:

image

Se il backup viene effettuato su un DHCP server che ha i files salvati in un certo path, quando andiamo a ripristinarlo il DHCP server di destinazione deve essere impostato, ancora prima del Restore, a contenere i suoi files in quello stesso path (indipendentemente da quale cartella andiamo a “pescare” quando selezioniamo il restore dalla MMC). Le informazioni sul path sono contenute all’interno dei files di backup stessi e non possono essere modificate.

Per completezza, ricordo che il path si può modificare dalle proprietà avanzate del DHCP

image

NOTA BENE: la procedura fallisce, come confermato da test effettuati in laboratorio, anche se cerchiamo di re-importare i files utilizzando il disco D:\ come un drive di rete mappato (per simulare la presenza del secondo disco). Non è possibile effettuare queste operazioni utilizzando share di rete ma bisogna usare path locali. L’unica soluzione nel caso specifico era quindi utilizare un disco aggiuntivo D:\

In ogni caso, se tentiamo di utilizzare un percorso di rete come Database path, la MMC solleverà il seguente errore:

 

image

 

Anche per evitare di incorrere in tutti questi problemi, vi consigliamo di effettuare il backup e restore del DHCP tramite istruzioni da riga di comando. Esistono molteplici modi per farlo, quelli che Microsoft consiglia sono

per effettuare backup:

netsh dhcp server export <nomefile> all

per ripristinarlo:

netsh dhcp server import <nomefile> all

il parametro all indica che vogliamo esportare tutta la configurazione. Se si vuole limitarsi ad alcuni scope, bisogna inserirvi l’indicativo dello scope.

esempio: netsh dhcp server export c:\exportfile.txt 192.168.0.0

Un ulteriore vantaggio dell’uso di netsh è la possibilità di poter reimportare le configurazioni anche su DHCP server di altre versioni come ad esempio Windows server 2008 R2; è questo infatti proprio il metodo con cui vengono effettuate le migrazioni.

Il seguente articolo di Knowledge Base fornisce maggiori dettagli sull’import/export del database DHCP via command line.

http://support.microsoft.com/kb/325473

Per ulteriori informazioni, potete fare riferimento alla guida in linea di netsh

http://technet.microsoft.com/it-it/library/cc787375(WS.10).aspx

Grazie per l’attenzione e alla prossima!

Stefano Gagliardi
Support Engineer
Microsoft Enterprise Platform Support