Veeam Backup Free Edition: ora con PowerShell!

Vladimir EreminQuesto è un post di Vladimir Eremin, Product Manager di Veeam.Vladimir è molto attivo sui Forum di Veeam , su Twitter e in Spiceworks. Una delle competenze di Vladimir è PowerShell e ce lo spiega passo passo qui, in questo post del blog. Per qualsiasi domanda sui componenti di PowerShell menzionati in questo post, usate i Forum Veeam per partecipare alla discussione. Potete anche scaricare lo script di esempio qui per VMware e lo script di esempio qui per Hyper-V e discutere l’argomento nei Forum di Veeam.

Veeam Backup Free Edition è stato lo strumento gratuito di Veeam più diffuso, soprattutto grazie alla funzionalità VeeamZIP di eseguire backup full interattivi di un numero illimitato di VM. Tuttavia, VeeamZIP ha sempre avuto un limite, piccolo ma fastidioso: l’incapacità di programmare l’esecuzione dei backup. In realtà, grazie al fatto che VeeamZIP può essere attivato solo in modo interattivo, semplicemente non c’è modo nell’interfaccia utente di programmarlo con job di backup regolari. Se vi riconoscete in questa situazione, sarete contenti di sapere che, a partire dall’Update 2, questo limite è stato rimosso!  Grazie ai vostri commenti sui Forum di Veeam, su Twitter e in altre occasioni abbiamo potuto riconoscere il problema e abbiamo deciso di affrontarlo rendendo disponibile il cmdlet di Powershell Start-VBRZip nella Free Edition.

Come funziona

Come già evidenziato in precedenza, la funzionalità principale di Veeam Backup Free Edition è la possibilità di eseguire backup VeeamZIP delle VM (e, naturalmente, di ripristinare VM, file guest e singoli oggetti applicativi da questi backup). VeeamZIP genera sempre un file di backup full (.vbk) che agisce come un punto di ripristino indipendente. La Free Edition vi consente di archiviare il file di backup in un backup repository, in una cartella locale o su una share di rete.

Quando eseguite VeeamZIP, potete avviare il processo di backup per la VM selezionata immediatamente. Questo tipo di backup richiede impostazioni minime, in quanto è estremamente facile da attivare manualmente.

image

Con l’Update 2, è possibile scrivere un semplice script di PowerShell (qui per VMware e qui per Hyper-V) che avvia l’attività di VeeamZIP per una VM selezionata e configura la pianificazione desiderata tramite lo Scheduler di Windows. Abbiamo generato il seguente script di esempio che non solo attiva i backup VeeamZIP delle VM richieste, ma vi invia un report formattato con i risultati del backup!

Parametri dello script

Lo script è in grado di eseguire un backup ad hoc delle VM selezionate che risiedono su host, cluster o vCenter. Prima di eseguire lo script è necessario fornire tre parametri obbligatori: i nomi delle VM di cui eseguire il backup, l’host su cui si trovano e la directory in cui i file di backup devono essere archiviati. Nota: questo script è stato aggiornato il 18/5 in seguito ai feedback ricevuti.

 

##################################################################

# Variabili definite dall'utente

##################################################################

# Nomi delle VM di cui eseguire il backup separati da una virgola (obbligatorio). Ad esempio, $VMNames = “VM1”,”VM2”

$VMNames = ""

# Nome del vCenter o dell'host indipendente su cui risiedono le VM di cui eseguire il backup (obbligatorio)

$HostName = ""

# Directory di destinazione dei backup della VM (obbligatorio; ad esempio, C:\Backup)

$Directory = ""

 

È possibile modificare il livello di compressione e la retention desiderata, disabilitare VMware in quiescenza, abilitare la crittografia e anche le importazioni delle notifiche:

# Livello di compressione desiderato (facoltativo; valori possibili: 0 - Nessuno, 4 - Dedupe-friendly, 5 - Ottimale, 6 - Alto, 9 - Estremo)

$CompressionLevel = "5"

# Lasciate in quiescenza la VM quando eseguite lo snapshot (facoltativo; nel sistema operativo guest sono richiesti gli strumenti di VMware o i componenti di integrazione di Hyper-V; valori possibili: $True/$False)

$EnableQuiescence = $True

# Proteggete il backup risultante con una chiave di crittografia (facoltativo; $True/$False)

$EnableEncryption = $False

# Chiave di crittografia (facoltativo; percorso verso una stringa sicura)

$EncryptionKey = ""

# Impostazioni di retention (facoltativo; per impostazione predefinita, i file VeeamZIP non vengono rimossi e rimangono nella posizione specificata per un periodo di tempo indefinito.

# Valori possibili: Never, Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month)

$Retention = "Never"

 

Se volete ricevere un report una volta completato il backup, dovete riempire anche le seguenti impostazioni di notifica.

##################################################################

# Impostazioni di notifica

##################################################################

# Abilita notifica (facoltativo)

$EnableNotification = $True

# E-mail al server SMTP

$SMTPServer = ""

# E-mail DA

$EmailFrom = ""

# E-mail A

$EmailTo = ""

# Oggetto e-mail

$EmailSubject = ""
Il report via e-mail risultante avrà il seguente aspetto:

Name Start Time End Time Result Details
CentOS-tiny_2015-03-26T180459 3/26/2015 6:04:59 PM 3/26/2015 6:07:17 PM Warning Processing finished with warnings at 3/26/2015 6:07:13 PM Cannot use VMware Tools quiescence because VMware Tools are not found.
CentOS-tiny_replica_2015-03-26T180720 3/26/2015 6:07:20 PM 3/26/2015 6:11:20 PM Success Processing finished at 3/26/2015 6:11:18 PM

Tutti i parametri di cui sopra possono essere configurati impostando alcune variabili. Ad esempio, per abilitare la crittografia, dovete impostare il valore $True (booleano) sulla variabile $EnableEncryption e fornire la chiave di crittografia (vedere il capitolo successivo). Inoltre, se volete che i file di backup vengano eliminati dopo due settimane, dovete impostare il valore “In2Weeks” (stringa) sulla variabile $Retention, ecc. Non c’è bisogno di ricordare cosa fa ogni singola variabile e quali valori sono accettabili; per vostra comodità, lo script di esempio comprende una breve descrizione per ogni variabile.

Crittografia

Tornando alla crittografia, la sicurezza dei dati è una parte fondamentale della strategia di backup. I dati di backup devono essere protetti dall’accesso non autorizzato, in particolare quando i dati sensibili di una VM vengono memorizzati in una postazione off-site o archiviati su nastro. Per proteggere i dati, potete crittografarli con VeeamZIP. Come abbiamo indicato sopra, questa operazione richiede la scelta di un file contenente la password da utilizzare per la crittografia.

Naturalmente è possibile anche inserire la password nello script come una normale stringa di testo. Tenete presente però che le normali stringhe non sono sicure, dal momento che vengono memorizzate come testo normale. Di conseguenza, la maggior parte dei cmdlet di PowerShell semplicemente non accetta password in questo formato.

Un stringa sicura è la scelta migliore. Questo tipo di stringa non è diversa dalle solite, se non che il suo contenuto è crittografato in memoria. Utilizza la crittografia reversibile cosicché la password possa essere decrittografata quando necessario, e solo dall’entità che ha crittografata. Per creare una stringa sicura è necessario aprire la console PS e immettere le due righe seguenti. A questo punto, il codice chiederà di inserire una password e quindi di salvarla in un file come stringa sicura:

$SecurePassword = Read-Host -Prompt "Enter password" -AsSecureString

$SecurePassword | ConvertFrom-SecureString > “Directory where secure string should be stored; C:\SecureString.txt, for instance”

In seguito, specificate il percorso verso il file appena creato nello script principale:
# Proteggete il backup risultante con una chiave di crittografia (facoltativo; $True/$False)

$EnableEncryption = $True

# Chiave di crittografia (facoltativo; percorso verso una stringa sicura)

$EncryptionKey = "C:\SecureString.txt"

Pianificazione dello script

Prima di pianificare lo script, provate ad avviarlo manualmente per accertarvi che funzioni come vi aspettate.

Il modo più semplice di programmare lo script per eseguire automaticamente il backup periodico è di utilizzare il Task Scheduler di Windows. Basta andare allo strumento Task Scheduler e creare una nuova attività di base:

image

Assegnate un nome e una descrizione in modo che possiate ricordare facilmente il suo compito.

La prossima pagina è il Task Trigger. È piuttosto semplice ed autoesplicativo. Le opzioni disponibili sono abbastanza flessibili (tutto è possibile, dall’esecuzione dei backup diverse volte al giorno fino a una volta al mese), per cui impostate i valori che soddisfano le vostre esigenze di RPO. La maggior parte degli utenti utilizza backup giornalieri:

image

Impostate l’ora d’inizio dell’attività al di fuori dell’orario lavorativo. In questo esempio, l’attività viene eseguita ogni sera alle 22:00 a partire dal 22 aprile 2015.

image

Nella pagina seguente Action (Azione), specificate di volere l’attività pianificata Start a program (Avvia un programma), quindi fate clic su Avanti.

clip_image002

Nel riquadro Start a Program (Avvia un programma), inserite il seguente comando in Program/script:

Powershell –file “Path to Veeamzip.ps1 file”

clip_image004

Tutto qui! Potete però aprire l’attività dopo averla creata per effettuare un paio di modifiche aggiuntive. Per farlo, selezionate Open the Properties dialog for this task when I click Finish (Apri la finestra di dialogo proprietà per questa attività quando clicco su Fine):

clip_image006

Dal momento che questa attività viene eseguita su server, sul quale un utente può non essere loggato nel momento in cui l’attività si svolge, vale la pena di consentire l’attività indipendentemente dal fatto che l’utente sia loggato o meno associando le credenziali dell’utente a questa attività.

clip_image008

A questo punto, Fate clic con il pulsante destro del mouse sul job e selezionate Run (Esegui) per avere la certezza che l’attività venga completata correttamente:

clip_image009

PowerShell offre agli utenti ciò che hanno sempre desiderato da Veeam Backup Free Edition!

Ora che avete a disposizione questa nuova, straordinaria funzionalità dovreste essere in grado di conseguire l’obiettivo: eseguire backup pianificati con Veeam Backup Free Edition, che offre molte più funzionalità di backup e ripristino delle soluzioni di backup gratuite basate su script.

Lingua dell'articolo
Similar Blog Posts
Technical | 13/7/2021
Technical | 1/6/2021
Technical | 21/5/2020
Stay up to date on the latest tips and news
Con l'iscrizione, accetti che le tue informazioni personali siano gestite in conformità con i termini delle Disposizioni sulla privacy di Veeam.
You're all set!
Watch your inbox for our weekly blog updates.
OK
Veeam Data Platform
Free trial
Veeam Data Platform
We Keep Your Business Running