Backup di Lotus Domino per Windows usando i VMware Tools e non VSS

0 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 0 Email -- 0 Flares ×

Per un responsabile della data protection, VSS è probabilmente una delle migliori funzioni che Microsoft ha introdotto negli ultimi 10 anni. A partire dalla sua introduzione questa funzione del sistema operativo ha consentito negli anni di realizzare backup consistenti degli applicativi, ma soprattutto di non dover più ricorrere a numerosi agenti specializzati per i singoli applicativi: è sufficiente che un programma sia compatibile con VSS, e un programma di backup può genericamente invocare le librerie VSS del sistema operativo, le quali dialogheranno con i vari applicativi registrati in VSS appunto.

Esistono oggigiorno numerosi applicativi compatibili con VSS, ovviamente tutti quelli Microsoft (Exchange, SQL, e anche Active Directory ad esempio), ma anche programmi di terze parti con ad esempio Oracle DB (a partire dalla versione 11g).

Purtroppo, esistono anche numerosi applicativi che dopo 10 anni appunto, ancora non supportano le librerie VSS. Nel mio caso specifico, ho dovuto realizzare un backup applicativo di Lotus Dominio, che non supporta VSS. Questo articolo quindi ha un doppio scopo: mostrarvi come si realizza il backup “application-aware” di Lotus Domino, e più in generale come si possono utilizzare i VMware Tools per aggirare in parte la mancanza del supporto VSS.

Innanzitutto, come indicato implicitamente nel titolo e nella precedente frase, la virtual machine di cui dobbiamo realizzare il backup deve avere i VMware tools installati e in esecuzione. I tools permettono al programma di backup di invocare due script, detti genericamente pre-freeze e post-thaw, tramite i quali è possibile compiere alcune operazioni rispettivamente prima e dopo l’esecuzione della snapshot da parte di vSphere. In questo modo, si può fare in modo che l’applicativo non compatibile con VSS venga messo in uno stato “quieto” senza dati pendenti, e in questo modo garantirne la consistenza.

Verificato il prerequisito dei tools, dovremo creare la nuova directory C:\Program Files\VMware\VMware Tools\backupscripts.d\. Se è già presente, è possibile che sia stata creata precedentemente da qualche agent di backup installato.

In questa directory, è possibile tecnicamente creare un unico script contenente tutti i comandi necessari. Io per comodità ho sempre lavorato in modo diverso: creo uno script generico, che chiamo master.bat, che contiene i puntatori per eseguire i due script finali di pre-freeze e post-thaw. Ecco il suo codice:

In questo modo, la parte di invocazione degli script è ultimata, ed è possibile testare i vari comandi pre e post job editando i due script specifici, migliorandoli e correggendoli dopo ogni prova. Mi è sempre sembrato un modo più pulito di gestire la quiescenza realizzata con i VMware Tools, ma ovviamente non è una regola assoluta.

Terminata la parte generale, veniamo ai due script. In molti casi, la quiescenza di un applicativo purtroppo deve essere realizzata arrestandolo completamente e riavviandolo dopo la snapshot, e Lotus Domino non fa differenza. Troverete pertanto in rete molti esempi in cui i due script non contengono altro che “net stop servizio” e “net start servizio”. Nel caso di Lotus Dominio, lo script di pre-freeze è più complesso dato che dopo aver arrestato il servizio verifica che non vi siano più processi attivi, e nel caso procede al loro arresto forzato. Ecco il codice:

pre-freeze.bat

Per verificare che lo script abbia fatto il suo dovere, scriviamo nel file freeze.log la data di esecuzione. L’unico parametro da variare è il tempo di Sleep: nell’esempio è impostato a 5 minuti, e potrebbe essere necessario aumentarlo in presenza di server di grandi dimensioni o particolarmente lenti.

Lo script di riavvio è ovviamente molto più semplice:

post-thaw.bat

I due comandi vengono automaticamente invocati dai VMware tools in fase di creazione della snapshot della virtual machine, specificatamente prima e dopo la realizzazione della stessa. In questo modo, l’applicativo è fermo mentre la virtual machine viene congelata, e i suoi dati sono quindi consistenti. Il fermo può durare alcuni secondi o diversi minuti, in dipendenza di quali attività prevede lo script e dalla velocità dell’infrastruttura vSphere che ospita la virtual machine stessa. Bisogna quindi pianificare bene “quando” realizzare questo tipo di backup, perchè arrestando i servizi si crea un disservizio agli utenti.

Per testare lo script, è sufficiente realizzare una snapshot da vCenter scegliendo di utilizzare appunto la quiescence tramite VMware Tools. Noterete che l’esecuzione della snapshot, che solitamente impiegherebbe pochi secondi, in questo caso impiega molto più tempo, appunto per il tempo necessario ad eseguire lo script. Questo invece è lo stesso fenomeno visto dall’interno di un software di backup come Veeam.

VMware Tools snashot takes some time

0 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 0 Email -- 0 Flares ×

5 thoughts on “Backup di Lotus Domino per Windows usando i VMware Tools e non VSS

  1. Ciao Luca,
    a volte penso che siamo quasi telepatici anche se non ci conosciamo/frequentiamo. Sarà la decima volta che ho necessità di trovare una soluzione per un’ attività , studio il problema, trovo qualche soluzione ed il giorno stesso trovo sul tuo sito una pubblicazione fresca che spiega/sviscera l’argomento, ovviamente con una soluzione elegante. Di questo passo seguiro il tuo esempio e appena ho un po’ di tempo libero la mia knowledge base.
    Complimenti per il post e per l’articolo.

    P.S.
    Sto ridisegnando il processo di backup di un sistema complesso con centinaia di vm, una quindicina di host e 4 cluster vsphere. Di applicazioni che non supportano VSS ne ho a decine pertanto la tua guida è ottima per risolvere tale attività anche se userò un backup server appliance diverso da Veeam.

  2. Ciao, non sono un esperto Notes, abbiamo ricevuto queste indicazioni da un consulente e le abbiamo applicate allo script.

I commenti sono chiusi.