Configurare Azure File Sync con Windows Server 2019

Azure File Sync è un servizio cloud che permettere di mantenere aggiornate e centralizzate le cartelle e i file ospitati nei file server on-premises, mantenendo l’accesso tramite i protocolli di condivisione più comuni, come SMB, NFS e FTPs.

L’idea è quella di avere un “centro stella” nel cloud (utilizzando Azure File Share) e sincronizzare il contenuto con tutti i file server locali della vostra organizzazione, che fungeranno da cache per i file e le cartelle ospitati dalla Azure File Share.

Le Azure File Share vengono create negli Storage Account. Potete creare fino a 250 Storage Account in ogni regione di Azure e ogni sottoscrizione, fino ad un massimo di 2 PiB di contenuti, utilizzando una banda in ingresso di 5 Gbps e in uscita di 50 Gbps nelle regioni europee!

Per maggiori dettagli vi rimando alla lettura dell’articolo https://docs.microsoft.com/it-it/azure/storage/files/storage-files-scale-targets

Un tipico scenario di utilizzo è quello mostrato nella figura sotto:

Figura 1: Scenario di utilizzo di Azure File Sync

La sincronizzazione del file server locali può avvenire anche se le cartelle sono condivise oppure sono replicate con il DFS (Distributed File System). Tutte le cartelle rimarranno aggiornate, su tutti i file server, mantenendo anche le Windows ACL (Access Control List), cioè i permessi di accesso che avete impostato. Al momento le Windows ACL non sono ancora supportate se accedete ai file direttamente dal Cloud (dalla Azure File Share).

Attualmente sono supportate le seguenti versioni di Windows Server:

Versione SKU supportati Opzioni di distribuzione supportate
Windows Server 2019 Datacenter e Standard Completa (server con un’interfaccia utente)
Windows Server 2016 Datacenter e Standard Completa (server con un’interfaccia utente)
Windows Server 2012 R2 Datacenter e Standard Completa (server con un’interfaccia utente)

Io utilizzerò Windows Server 2019, ma la procedura è identica anche  per le precedenti versioni di Windows supportate.

In Windows Server 2016 e Windows Server 2019 è stato inserito anche il supporto alla Data Deduplication. Abilitando la deduplica su un volume che è gestito col Cloud Tiering è possibile effettuare cache di un numero maggiore di file, senza aggiungere spazio disco on-premises.

Per tutte le novità di Febbraio 2019 relative all’Azure File Sync Agent vi rimando alla pagina https://support.microsoft.com/it-it/help/4459989/azure-file-sync-agent-v5-release-february-2019

Implementazione di Azure File Sync

Per abilitare Azure File Sync è necessario:

  1. Creare uno storage account
  2. Creare una Azure File Share
  3. Creare un Azure File Sync
  4. Creare un Sync Group
  5. Aggiungere un Registered Server
  6. Aggiungere le cartella da sincronizzare

Creazione dello Storage Account

Per creare uno Storage Account è sufficiente andare nel portale di Azure e cercare Storage Accocunt. Creare lo Storage Account nella sottoscrizione e nella regione che preferite e scegliete a chi volete concedere l’accesso, filtrando eventualmente le virtual network a cui collegarlo, come mostrato in figura:

Figura 2: Creazione dello Storage Account

Figura 3: Scelta del filtro delle virtual network abilitare alla connessione allo storage account

Figura 4: Review della creazione dello Storage Account

Terminata la creazione dello storage account cliccate su Files e create una nuova File Share. Decidete come chiamare la share e decidete anche la dimensione massima che potrà avere, espressa in Gib, come mostrato in figura:

Figura 5: Creazione della Azure File Share

Creazione di Azure File Sync

Il passaggio successivo consiste nel creare una nuova risorsa Azure File Sync. Date un nome alla risorsa, scegliete la sottoscrizione e la regione dove volete che venga creata e fate clic su Create.

Figura 6: Azure File Sync

Figura 7: Creazione della Azure File Sync

Terminata la creazione della Azure File Sync dovrete creare un Sync Group. Il Sync Group definisce in che modo i file e le cartelle debbano essere sincronizzati tra il Cloud Endpoint (la Azure File Share che avete creato) e i Registered Server Endpoint, cioè le cartelle presenti nei file server on-premises, che faranno da cache per i file sincronizzati.

Create un Sync Group scegliendo il Nome e lo storage account, con relativa Azure File Share, come mostrato in figura:

Figura 8: Creazione di un Sync Group

Il passaggio successivo consiste nell’aggiungere un Registered Server, cioè il vostro file server on-premises. Per registrare un server dovete scaricare l’ Azure File Sync agent ed installarlo in tutti i server on-premises che volete registrare.

Figura 9: Per aggiungere un Registered Server è necessario installare nel server on-premises l’Azure File Sync agent

Figura 10: Daownload dell’Azure File Sync agent per Windows Server 2019

Procedete all’installazione seguendo i passaggi del wizard mostrati nelle figure sotto:

Figura 11: Wizard per il setup dello Storage Sync Agent

Figura 12: Accettazione della licenza

Figura 13: Scelta del percorso di installazione

Figura 14: Configurazione di un eventuale proxy per la connessione INternet

Figura 15: Verifica delle impostazioni scelte

Figura 16: Completamento dell’installazione dello Storage Sync Agent

Terminata l’installazione dello Storage Sync Agent si potrà procedere alla sua configurazione. Uno dei prerequisiti è che sul server on-premises dove state installato lo Storage Sync Agnent sia installato il modulo PowerShell AzureRM oppure il nuovo modulo Azure PowerShell Az, di cui ho avuto modo di parlare nell’articolo Modulo Azure PowerShell Az: la rivoluzione della riga di comando per interagire con Microsoft Azure. Nel caso il modulo non fosse installato riceverete un messaggio di errore come quello mostrato in figura 17.

Figura 17: Nel file server on-premises non è installato il modulo PowerShell AzureRM

Procedete all’installazione del modulo Azure Powershell con il comando Install-Module -Name AzureRM

Figura 18: Installazione del modulo Azure PowerShell AzureRM

Completata l’installazione del modulo PowerShell, ritornate nella pagina di configurazione dello Storage Sync Agent e cliccando su Retry sarà possibile procedere alla Server Registration. Dopo aver effettuato il login ad Azure, scegliete la sottoscrizione, il resource group e lo Storage Sync Service a cui volete collegare il vostro File Server on-premises.

Figura 19: Login a Microsoft Azure

Figura 20: Scelta dello Storage Sync Service

Figura 21: Registrazione del server on-premises completata

Il file server on-premises sarà quindi visibile nella scheda Registered Servers. Ho notato che il sistema visualizzato è Windows Server 2016, anche se io sto utilizzando Windows Server 2019!

Figura 22: Il file server on-premises è visibile nella scheda Registered Servers

Connessione del File Server on-premises al Sync Group

Adesso è possibile aggiungere al Sync Group il server che avete registrato. Selezionate il Sync Group a cui volete collegare il server e scegliete Add server endpoint. Nel blade che si aprirà scegliete il Registered Server e la cartella locale (nel mio caso ho scelto E:\immagini) che volete sincronizzare. Il server endpoint rappresenta proprio la specifica cartella che intendete sincronizzare. È importante ricordare che questa cartella non si deve trovare su un disco rimovibile.

Potete anche abilitare il Cloud Tiering, che vi permette di specificare quanto spazio libero volete che sia sempre disponibile nel server on-premises. Grazie al Cloud Tiering se dovesse terminare lo spazio disponibile sui dischi dei file server on-premise, i file verranno rimossi e mantenuti solo online. Il Cloud Tiering non può essere abilitato sul disco di sistema.

Figura 23: Aggiunta del Server Endpoint

Figura 24: Il server Endpoint è visible nel Sync Group

Nel momento in cui il server mostrerà lo stato di Health potrete andare a verificare nella Azure File Share del vostro Storage Account che i dati che avete on-premises siano stati sincronizzati.

Figura 25: I dati presenti on-premises sono stati sincronizzati nella Azure File Share dello Storage Account

Aggiunta di un secondo Registered Server

Supponiamo che vogliate aggiungere un secondo Registered Server al Sync Group, magari un file server che si trova in una sede remota della vostra azienda. La procedura da seguire è esattamente quella vista prima: scaricate l’ Azure File Sync agent ed installarlo nel secondo server on-premises che volete registrare. Terminata la procedura di registrazione, il secondo server sarà disponibile tra i server registrati, come mostrato in figura:

Figura 26: Aggiunta di un secondo Registered Server

Aggiungete quindi al Sync Group la cartella del secondo server che volete sincronizzare. Nel mio caso ho scelto la cartella F:\images e ho deciso di mantenere solo il 20% di spazio libero sul secondo server, sfruttando il Cloud Tiering. Ho scelto volutamente di utilizzare un disco ed una cartella con un nome differente dal primo file server solo per farvi vedere che non è obbligatorio scegliere gli stessi percorsi o gli stessi nomi di cartella.

Figura 27: Aggiunta del secondo server endpoint al Sync Group

Verifica della replica delle Windows ACL

Potete verificare che si siano replicate le Windows ACL semplicemente andando a visualizzare il tab Security delle cartelle che avete deciso di aggiungere come Server Endpoint. Nella figura sotto è possibile vederne il confronto.

Figura 28: Windows ACL nel primo File Server

Figura 29: Windows ACL nel secondo File Server

Purtroppo, come già detto prima, le ACL non sono (ancora) disponibili se accedete direttamente ai file tramite Azure File Share. È infatti possibile montare la Azure File Share montandola come disco locale su Windows, Linux e MacOS. Selezionate la File Share dallo Storage Account e cliccate su Connect. Scegliete, in base al vostro sistema operativo, il metodo che preferite per connettervi.

Figura 30: Connessione alla Azure File Share utilizzando il protocollo SMB

Figura 31: Le Windows ACL non sono disponibili se accedete direttamente alla Azure File Share

Conclusioni

Azure File Sync è decisamente interessante per diversi scenari. Quello che è più evidente è la possibilità di tenere sincronizzati i file e le cartelle tra diversi file server e con il cloud. Il Cloud Tiering permette anche di liberare i file server on-premises dei file meno utilizzati (cold data) e di mantenerli solo nello Storage Account in Azure. Nel momento in cui devono essere acceduti vengono poi scaricati automaticamente. La sincronizzazione permette di tenere facilmente aggiornati i file server che se si trovano nelle sedi remote dell’azienda.

Avete ancora dubbi? Allora leggete le Domande frequenti su File di Azure