Veeam Backup for Microsoft Office 365: Scenari di Disaster Recovery

Premessa

Veeam Backup for Microsoft Office 365 è una soluzione che consente di eseguire il backup e il ripristino dei dati di Microsoft 365: elementi di Exchange Online e di SharePoint Online, documenti OneDrive, strutture di Teams (Team, canali, schede, item), oltre ai dati di installazioni on-premises di Exchange Server e SharePoint Server. Il prodotto è in grado di gestire più tenant Microsoft 365 e più organizzazioni locali simultaneamente, agevolando la protezione di scenari complessi da un’unica console.

Veeam Backup per Microsoft Office 365 può archiviare i dati di backup in uno o più repository definiti dall’utente, sia on-prem che su cloud:

  • Directory locali
  • Direct Attached Storage (DAS)
  • Storage Area Network (SAN)
  • Network Attached Storage, esclusivamente via SMB 3.0
  • Object Storage compatibile S3, Amazon S3, Microsoft Azure Blob Storage, IBM Cloud Object Storage.

È possibile sfogliare e ripristinare granularmente gli elementi sottoposti a backup (cassette postali, cartelle, messaggi, attività, contatti, documenti, elenchi, post, e così via) direttamente in produzione o di esportarli per una rapida consultazione offline.

Scopo di questo articolo è descrivere le operazioni da effettuare per ripristinare l’accesso ai dati di backup nel caso in cui il (o i) server di Veeam Backup for Microsoft Office 365 siano stati impattati da un disastro che ne ha reso inaccessibili i servizi.

Poiché darò per scontata una conoscenza pregressa del prodotto, per eventuali necessità di approfondimento sulle relative funzionalità e sulle modalità di installazione e configurazione, vi rimando alla registrazione della sessione “Protezione cloud-to-cloud per Microsoft 365 con Veeam” trasmessa nel corso della #POWERCON2021: https://www.youtube.com/watch?v=FP60noJLMJI

Inizieremo comunque con una rapida rassegna dell’architettura di Veeam Backup for Microsoft Office 365 e alcuni riferimenti ai ruoli principali, Backup Server, Proxy Server e Repository, per poi affrontare 3 scenari “catastrofici” che possono avere un impatto su tali ruoli.

Brevi cenni sull’architettura

Come detto, con Veeam Backup for Microsoft Office 365 è possibile proteggere i carichi di lavoro di Office 365 e le installazioni on-prem di Exchange e SharePoint ed è possibile utilizzare sia repository lolcai che Object Storage come destinazione dei backup.

Prima di descrivere i ruoli di Veeam Backup for Microsoft Office 365 esaminiamo come funzionano i flussi di backup e di ripristino.

Questo è il flusso di dati da Microsoft Office 365 e dai server Exchange e SharePoint locali a Veeam Backup for Microsoft Office 365, quindi a un repository di backup locale:

Come si nota dallo schema, i dati finiscono direttamente nel repository locale.

Quando si desidera salvare i backup su Object Storage, il flusso diventa un po’ più complesso. I dati di backup vengono prima elaborati in RAM e i relativi metadati vengono scritti in un repository locale in un’area chiamata cache locale, mentre i dati veri e propri vengono scritti nel repository Object Storage:

Una copia della suddetta cache viene trasferita anch’essa nel repository Object Storage e questo, come vedremo, è molto d’aiuto in caso di disastro!

Ed ecco il flusso del ripristino dei dati:

Quando si recuperano i dati dallo storage on-prem, tutto il flusso di dati avviene tra Veeam Backup for Microsoft Office 365 e il repository stesso.

In caso di ripristino dei dati collocati su Object Storage, invece, le operazioni di ricerca e navigazione avvengono nel repository “cache”, e non nel repository Object Storage. Una volta identificati i dati che si desidera ripristinare e avviato il processo di restore, solo questi vengono effettivamente scaricati dal Cloud senza generare traffico aggiuntivo.

I ruoli coinvolti

Backup Server: questo è il ruolo più importante della nostra infrastruttura in quanto è responsabile della creazione e della gestione di tutti i processi di backup e ripristino. Tramite questo ruolo si aggiungono le organizzazioni locali o i tenant Microsoft 365 all’infrastruttura Veeam, si configurano le notifiche, si accede ai report, ecc.

In questo server operano tre componenti:

Queste tre componenti corrispondono ai tre servizi qui elencati:

Proxy Server: questo ruolo viene installato automaticamente insieme al Backup Server ed è responsabile dell’esecuzione di backup e ripristini. Recupera i dati da Office 365 e dalle organizzazioni locali e li archivia nei repository. Durante le operazioni di ripristino, legge i dati dal repository e li scrive direttamente nella destinazione.

È possibile avere più server proxy gestiti da un unico server di backup, per motivi di scalabilità (maggiori info qui: https://bp.veeam.com/vbo/guide/design/).

In questo ruolo è presente un solo servizio Veeam, il Veeam Backup Proxy Service:

Repository: è fondamentalmente una directory, una cartella, accessibile da parte da un server Proxy. Si può trovare su un disco locale piuttosto che su un DAS connesso al server Proxy, storage Windows o Linux.

È possibile utilizzare anche una Storage Area Network: in questo caso il server Veeam deve essere connesso al fabric SAN tramite hardware, HBA virtuale o initiatior iSCSI software.

È possibile anche utilizzare una Network Attached Storage via SMB 3.0 (maggiori info: https://helpcenter.veeam.com/docs/vbo365/guide/br_smb.html?ver=50).

I volumi di archiviazione che ospitano i repository di backup devono essere formattati con NTFS o ReFS.

La “cache”

Veeam Backup for Microsoft Office 365 utilizza la succitata cache per recuperare la struttura degli oggetti di cui è stato eseguito il backup. Questa struttura viene quindi caricata nel pannello di inventario dei Veeam Explorer in modo da poter navigare all’interno di essa senza scaricare alcun dato da Object Storage. La cache, quindi, consente di ridurre i tempi di accesso (e i costi cloud!) durante la lettura o la scrittura di dati da o verso i repository Object Storage.

La cache viene salvata in una directory chiamata PersistentCache su storage locale (nella forma di database JET) e poi replicata nel repository Object Storage. La posizione della directory PersistentCache viene specificata quando aggiungiamo un nuovo repository che sfrutta l’archiviazione su Object Storage (https://helpcenter.veeam.com/docs/vbo365/guide/vbo_adding_repository.html?ver=50):

Per ottenere migliori prestazioni, si consiglia di posizionare la cache su DAS o su storage SAN.

Tutto chiaro. Ed ora?

Andiamo ora ad analizzare tre scenari di disastro che potrebbero mettere a dura prova la nostra infrastruttura Veeam Backup for Microsoft Office 365:

  1. Si utilizzano repository locali, il server Veeam è inaccessibile (esploso, rubato, formattato accidentalmente, e così via) ma è ancora possibile accedere a tutti i backup su storage locale
  2. Si utilizzano repository Object Storage, il server Veeam è OK ma la cache locale è andata persa
  3. Si utilizzano repository Object Storage, nessuno spazio di archiviazione locale e il server Veeam è inaccessibile

Scenario di disastro #1

In questo scenario si utilizzano repository di backup locali ma sfortunatamente il server Veeam non è più accessibile.

Ad esempio, i backup sono ospitati in una condivisione di rete ed è ancora possibile accedere in sicurezza a tutti i file di backup:

Un primo modo per “agganciare” rapidamente ai dati di backup ed eseguire un ripristino urgente è:

  1. Installare un nuovo server Veeam Backup for Microsoft Office 365 con tutti gli Explorer
  2. Eseguire l’Explorer relativo al tipo di dati che occorre ripristinare, ad esempio Exchange
  3. Sfogliare lo storage che contiene il backup di cui si ha bisogno e che era utilizzato dal server Veeam non più funzionante
  4. Aprire uno dei file .adb
  5. Sfogliare i punti di ripristino, trovare quello richiesto e iniziare a ripristinare

Se, invece, si desidera eseguire un’operazione di ripristino completa e permanente dell’infrastruttura Veeam:

  1. Installare un nuovo server Veeam Backup for Microsoft Office 365 con tutti gli Explorer
  2. Aggiungere gli stessi tenant ed organizzazioni locali che erano gestiti con il server Veeam non più accessibile
  3. Aggiungere un nuovo repository che punti a una delle cartelle contenenti i backup precedenti
  4. Ripetere per tutte le cartelle/repository restanti

Anche senza creare alcun job di backup, sarà possibile sfogliare i punti di ripristino esistenti e recuperare i dati:

Si può persino creare un nuovo job di backup che punti al repository ripristinato: qualsiasi backup successivo verrà aggiunto alla catena di backup esistente.

Scenario di disastro #2

Il server Veeam gode di ottima salute, ma la cache locale è stata danneggiata in qualche modo o è stata eliminata, però tutti i backup sono ancora al sicuro nel repository Object Storage: magia del Cloud!

Questa volta è davvero facile! Dando un’occhiata ai repository nella console di Veeam Backup for Microsoft Office 365 si noterà che uno o più di essi mostra il messaggio “Out of Sync“.

Soluzione: basta fare clic con il pulsante destro del mouse sul repository “Out of Sync” e selezionare Syncronize. Tutto qui!

Scenario di disastro #3

Il server Veeam Backup for Microsoft Office 365 è inaccessibile, ma ancora una volta abbiamo i nostri backup al sicuro nel repository Object Storage!

Anche in questo caso, per un ripristino totale in produzione, anzitutto installare un nuovo server Veeam Backup for Microsoft Office 365 con tutti gli Explorer e aggiungere gli stessi tenant ed organizzazioni locali che erano gestiti con l’ex server Veeam.

Ecco il trucco: creare un nuovo repository Object Storage che punti allo stesso spazio Object Storage (bucket S3, Blob) utilizzato dal server Veeam ormai defunto.

Secondo passaggio, creare un nuovo repository di backup configurando l’opzione “Offload backup data to object storage” in modo che punti al repository Object Storage appena creato:

Terzo passaggio… due clic in due message box!

La prima, chiede se vogliamo confermare l’appropriazione di un repository Object Storage che sembra essere in uso da parte di un altro server Proxy.

Clic su Yes.

La seconda message box, chiede se confermiamo la sincronizzazione tra la cache situata nel repository cloud e il repository locale. Come abbiamo detto, una copia della cache locale è infatti presente (e non a caso) su Object Storage.

Clic su Yes.

Quarto passaggio, avviare l’Explorer relativo al tipo di dati che occorre ripristinare e navigare tra i punti di ripristino. Anche senza creare un nuovo job di backup sarà possibile recuperare i dati.

Infine, si può creare un nuovo job di backup che punti al repository ripristinato: qualsiasi backup successivo verrà aggiunto alla catena di backup esistente.

Conclusioni

L’idea di questo articolo mi è venuta parlando con un utente di Veeam Backup for Microsoft Office 365 che mi ha detto: “Mi piace questo prodotto. È semplice da implementare e semplice da usare. Ma… cosa succede se perdo il server Veeam? Ho anche visto che posso salvare i dati su cloud. Ma cosa succede se perdo la cache locale? Potrò ancora ripristinare i miei dati?

La risposta rapida è stata: “sì”.

La risposta lunga è questo articolo.