Mario Serra Blog

(Microsoft MVP Directory Services - MCITP - MCTS - MCSA - MCP)
posts - 137, comments - 750, trackbacks - 0

My Links

News

Avatar

Logo MVP

Logo SysAdmin.it SysAdmin.it Staff


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative 

Commons 

Deed


Logo 

MCP

Logo 

MCDST

Logo 

MCTS

Logo 

MCITP

wordpress com stats


Mario Serra



Article Categories

Archives

Post Categories

Blogs

Microsoft Site

Work's Favorites

Hyper-V : Export e backup di Virtual Machine con Powershell

 

Da Agosto ho installato Windows Server 2008 R2 sul mio laptop di lavoro per prendere confidenza col prodotto. Ho installato Hyper-V sulla parent partition e lavoro con una serie di virtual machine in cui c’è anche quella di produzione che è una VM con Windows 7. Una delle cose che ogni sistemista dovrebbe sempre fare è quella di pensare ad una soluzione di backup. Mi sono chiesto quindi come, e se era possibile fare un backup a costo zero delle mie virtual machine in modo da poter ripristinare il tutto se dovesse succedere un danno hardware o software. Insieme al mio amico ed ex collega Ermanno e ad un mio attuale collega Vincenzo abbiamo studiato un metodo che sfrutta Powershell per eseguire, tramite script, un backup di tutte le VM presenti in Hyper-V.

Seguendo questo post è quindi possibile comporre uno script per fare uno shutdown e un export di una virtual machine per eseguire un’efficace backup in ambiente Microsoft con Hyper-V, copiando poi il tutto su tape o si HD esterni.

La prima operazione da fare è quella di di aggiungere alcune cmdlet a Hyper-V per poter disporre di funzionalità aggiuntive come lo shutdown e l’export delle VM.

Posso trovare il file e la guida questo link http://pshyperv.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27002.

    1. Scaricare il file Hyperv.zip scompattarlo, e lanciare, come amministratore, il file “install.cmd”

image

    2. Creare una cartella c:\MyScript\Backup_VM

    3. Creare un file in c:\MyScript\Backup_VM  e chiamarlo Backup_vm.cmd

    4. Copiare dento il seguente codice :

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -noexit C:\MyScript\Backup_VM\Script.ps1
pause

   5. Creare un file in c:\MyScript\Backup_VM  e chiamarlo script.ps1 e copiarle dentro il seguente codice :

REM Hyper-V:Procedura di Backup delle Virtual Machine

Import-Module "C:\Program Files\modules\HyperV"

REM Shutdown virtual machines
Invoke-VMShutdown xpsp3 -force wait

REM Export virtual machines
Export-vm xpsp3 c:\temp\export -Wait –copystate


REM Start virtual machines
start-vm xpsp3 -HeartBeatTimeOut 300

  image

   6. Lanciare il file Backup_vm.cmd, la procedura eseguirà uno shutdown della VM “XPSP3”, la esporterà in C:\temp\export e la riaccenderà.

   7. Una volta finita l’esportazione, copiare tutto il contenuto di c:\temp\export su tape o su un HD esterno.

Per altre opzioni o approfondimenti fare riferimento alla documentazione in pdf (PSHyperV-v2.pdf) prelevabile a questo link : http://pshyperv.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27002#DownloadId=82246

Alcune considerazioni : ovviamente questa procedura è ottimale se posso permettermi di fermare una VM di produzione in quanto con lo shutdown ho la assoluta certezza della consistenza della Virtual Machine. Se non fosse possibile eseguire uno shutdown è possibile ricorrere ad un backup dei file e dello stato del sistema dall’interno della macchina con il programma di Backup di Windows (NtBackup o Windows Backup) o soluzioni di terze parti o ancora ricorrendo alle snaphot. Va molto bene ad esempio per File Server.

Inoltre va ricordato che se si hanno Virtual Machine con Exchange o Sql utilizzando questa procedura NON si azzerano i log delle transazioni. Consiglio quindi anche in questi casi di ricorrere quotidianamente al backup con il backup di Windows (NtBackup o Windows Server Backup) o soluzioni di terze parti per azzerare i Log e saltuariamente all’esportazione della VM completa.

Per Sql usare gli script all’interno del programma in caso di versione Express (si veda http://blogs.sysadmin.it/ermannog/archive/0001/01/01/schedulare-un-backup-in-sql-server-express-2005-again.aspx) e dei tool di backup per la versione completa (vedere questo articolo http://technet.microsoft.com/en-us/library/cc966495.aspx)

Print | posted on Sunday, November 15, 2009 3:12 PM | Filed Under [ Sistemistica ]

Powered by:
Powered By Subtext Powered By ASP.NET