Condividi tramite


Eseguire la migrazione da Linux a una distribuzione cloud ibrida con Sincronizzazione file di Azure

Questo articolo sulla migrazione è uno dei diversi elementi che coinvolgono le parole chiave NFS e Sincronizzazione file di Azure. Controllare se questo articolo si applica al proprio scenario:

  • Origine dati: dispositivo NAS
  • Route di migrazione: Server Linux con SAMBA ⇒ Windows Server 2012R2 o versione successiva ⇒ si sincronizzano con Condivisioni file di Azure
  • Memorizzazione nella cache dei file in locale: Sì, l'obiettivo finale è una distribuzione di Sincronizzazione file di Azure.

Se lo scenario è diverso, esaminare la tabella delle guide alla migrazione.

Sincronizzazione file di Azure funziona nelle istanze di Windows Server con archiviazione collegata diretta (DAS). Non supporta la sincronizzazione da e verso i client Linux, una condivisione SMB (Server Message Block) remota o condivisioni NFS (Network File System).

Di conseguenza, la trasformazione dei servizi file in una distribuzione ibrida rende necessaria una migrazione a Windows Server. Questo articolo illustra la pianificazione e l'esecuzione di tale migrazione.

Si applica a

Tipo di condivisione file SMB NFS
Condivisioni file Standard (GPv2), archiviazione con ridondanza locale/archiviazione con ridondanza della zona Sì No
Condivisioni file Standard (GPv2), archiviazione con ridondanza geografica/archiviazione con ridondanza geografica della zona Sì No
Condivisioni file Premium (FileStorage), archiviazione con ridondanza locale/archiviazione con ridondanza della zona Sì No

Obiettivi della migrazione

L'obiettivo è spostare le condivisioni presenti nel server Samba di Linux in un'istanza di Windows Server. Usare quindi Sincronizzazione file di Azure per una distribuzione cloud ibrida. Questa migrazione deve essere eseguita in modo da garantire l'integrità dei dati di produzione e della disponibilità durante la migrazione. Quest'ultimo aspetto richiede un tempo di inattività minimo, in modo da poter rientrare o superare leggermente le normali finestre di manutenzione.

Eseguire la migrazione della soluzione in SQL Data Warehouse

Come accennato nell'articolo Panoramica della migrazione di File di Azure, l'uso dello strumento di copia e dell'approccio corretto è importante. Il server Samba di Linux espone le condivisioni SMB direttamente nella rete locale. Robocopy, integrato in Windows Server, è il modo migliore per spostare i file in questo scenario di migrazione.

Se non si esegue Samba nel server Linux e si vuole eseguire la migrazione delle cartelle a una distribuzione ibrida in Windows Server, è possibile usare strumenti di copia Linux anziché Robocopy. Tenere presente le funzionalità di fedeltà dello strumento di copia. Vedere la sezione Informazioni di base sulla migrazione nell'articolo di panoramica della migrazione per informazioni su cosa cercare in uno strumento di copia.

Fase 1: Determinare il numero di condivisioni file di Azure necessarie

In questo passaggio verrà determinato il numero di condivisioni file di Azure necessarie. Una singola istanza di Windows Server (o cluster) può sincronizzare fino a 30 condivisioni file di Azure.

Potrebbero essere presenti più cartelle nei volumi attualmente condivisi in locale come condivisioni SMB per gli utenti e le app. Il modo più semplice per eseguire l'immagine di questo scenario consiste nell'immaginare una condivisione locale che esegue il mapping 1:1 a una condivisione file di Azure. Se si dispone di un numero sufficientemente piccolo di condivisioni, inferiore a 30 per una singola istanza di Windows Server, è consigliabile eseguire un mapping 1:1.

Se sono presenti più di 30 condivisioni, il mapping di una condivisione locale 1:1 a una condivisione file di Azure spesso non è necessario. Valutare le opzioni seguenti.

Raggruppamento di condivisioni

Ad esempio, se il reparto risorse umane (HR) ha 15 condivisioni, valutare l’archiviazione di tutti i dati delle risorse umane in una singola condivisione file di Azure. L'archiviazione di più condivisioni locali in un’unica condivisione file di Azure non impedisce di creare le 15 condivisioni SMB normali nell'istanza locale di Windows Server. Significa solo che si organizzano le cartelle radice di queste 15 condivisioni come sottocartelle in una cartella comune. Si sincronizza, quindi, questa cartella comune con una condivisione file di Azure. In questo modo, è necessaria solo una singola condivisione file di Azure nel cloud per questo gruppo di condivisioni locali.

Sincronizzazione di volumi

Sincronizzazione file di Azure supporta la sincronizzazione della radice di un volume con una condivisione file di Azure. Se si sincronizza la radice del volume, tutte le sottocartelle e i file passeranno nella stessa condivisione file di Azure.

La sincronizzazione della radice del volume non è sempre l'opzione migliore. La sincronizzazione di più posizioni offre alcuni vantaggi. In questo modo, ad esempio, è possibile mantenere inferiore il numero di elementi per ambito di sincronizzazione. Vengono testate le condivisioni file di Azure e Sincronizzazione file di Azure con 100 milioni di elementi (file e cartelle) per condivisione. Ma una procedura consigliata consiste nel cercare di mantenere il numero inferiore a 20 milioni o 30 milioni in una singola quota. La configurazione di Sincronizzazione file di Azure con un numero inferiore di elementi non è utile solo per la sincronizzazione file. Un numero inferiore di elementi offre benefici anche in scenari come i seguenti:

  • L'analisi iniziale del contenuto cloud può essere completata più rapidamente, riducendo a sua volta l'attesa della visualizzazione dello spazio dei nomi in un server abilitato per Sincronizzazione file di Azure.
  • Il ripristino lato cloud da uno snapshot di condivisione file di Azure sarà più veloce.
  • Il ripristino di emergenza di un server locale può accelerare notevolmente.
  • Le modifiche apportate direttamente in una condivisione file di Azure (al di fuori della sincronizzazione) possono essere rilevate e sincronizzate più velocemente.

Suggerimento

Se non si conosce il numero di file e cartelle esistenti, consultare lo strumento TreeSize di JAM Software GmbH.

Approccio strutturato a una mappa di distribuzione

Prima di distribuire l'archiviazione nel cloud in un passaggio successivo, è importante creare una mappa tra le cartelle locali e le condivisioni file di Azure. Questo mapping consentirà di appurare quante e quali risorse del gruppo di sincronizzazione di Sincronizzazione file di Azure verranno sottoposte a provisioning. Un gruppo di sincronizzazione collega la condivisione file di Azure e la cartella nel server e stabilisce una connessione di sincronizzazione.

Per decidere il numero di condivisioni file di Azure necessarie, esaminare i limiti e le procedure consigliate seguenti. In questo modo, sarà possibile ottimizzare la mappa.

  • Un server in cui è installato l'agente di Sincronizzazione file di Azure può eseguire la sincronizzazione con un massimo di 30 condivisioni file di Azure.

  • Una condivisione file di Azure viene distribuita in un account di archiviazione. Questa disposizione rende l'account di archiviazione una destinazione di scalabilità per i numeri correlati alle prestazioni come operazioni di I/O al secondo e velocità effettiva.

    Quando si distribuiscono condivisioni file di Azure, prestare attenzione alle limitazioni di un account di archiviazione in termini di operazioni di I/O al secondo. L’ideale sarebbe eseguire il mapping 1:1 delle condivisioni file con gli account di archiviazione. Tuttavia, ciò non sempre è possibile, a causa dei diversi limiti e restrizioni imposti dalla propria organizzazione e da Azure. Quando non è possibile distribuire una sola condivisione file per account di archiviazione, valutare quali condivisioni saranno particolarmente attive e quali lo saranno meno, in modo da non inserire le condivisioni file più utilizzate nello stesso account di archiviazione.

    Se si prevede di trasferire un'app in Azure che userà la condivisione file di Azure in modo nativo, potrebbe essere necessario ottenere prestazioni più elevate dalla condivisione file di Azure. Se questo tipo di uso è una possibilità, anche in futuro, è consigliabile creare una singola condivisione file standard di Azure nel proprio account di archiviazione.

  • Esiste un limite di 250 account di archiviazione per sottoscrizione e area di Azure.

Suggerimento

Alla luce di queste informazioni, spesso diventa necessario raggruppare più cartelle di primo livello nei volumi in una nuova directory radice comune. Si sincronizza, quindi, questa nuova directory radice e tutte le cartelle in essa raggruppate in una singola condivisione file di Azure. Questa tecnica consente di rimanere entro il limite di 30 sincronizzazioni di condivisioni file di Azure per server.

Questo raggruppamento in una radice comune non influisce sull'accesso ai dati. Gli ACL non vengono modificati. È sufficiente modificare i percorsi di condivisione (come condivisioni SMB o NFS) nelle cartelle del server locale che ora sono state modificate in una radice comune. Non occorrono altre modifiche.

Importante

Il vettore di scala più importante per Sincronizzazione file di Azure è il numero di elementi (file e cartelle) che devono essere sincronizzati. Per informazioni più dettagliate, esaminare Obiettivi di scalabilità di Sincronizzazione file di Azure.

È consigliabile mantenere basso il numero di elementi per ambito di sincronizzazione. Questo è un fattore importante da considerare nel mapping delle cartelle alle condivisioni file di Azure. Sincronizzazione file di Azure è testato con 100 milioni di elementi (file e cartelle) per condivisione. Molte volte, tuttavia, è preferibile cercare di mantenere il numero di elementi al di sotto di 20 milioni o 30 milioni in una singola quota. Suddividere lo spazio dei nomi in più condivisioni se si inizia a superare questi numeri. È possibile continuare a raggruppare più condivisioni locali nella stessa condivisione file di Azure se si rimane approssimativamente al di sotto di questi numeri. Questa pratica fornirà spazio per la crescita.

È possibile che, nella propria situazione, un set di cartelle possa essere sincronizzato logicamente con la stessa condivisione file di Azure (usando il nuovo approccio comune alle cartelle radice menzionato in precedenza). Potrebbe essere preferibile, tuttavia, raggruppare le cartelle in modo che vengano sincronizzate con due condivisioni file di Azure anziché una sola. È possibile usare questo approccio per mantenere bilanciato il numero di file e cartelle per condivisione file nel server. È anche possibile suddividere le condivisioni locali e la sincronizzazione tra più server locali, aggiungendo la possibilità di eseguire la sincronizzazione con altre 30 condivisioni file di Azure per ogni server aggiuntivo.

Scenari e considerazioni comuni di sincronizzazione dei file

# Scenario di sincronizzazione Supportata Considerazioni (o limitazioni) Soluzione (soluzione alternativa)
1 File server con più dischi/volumi e più condivisioni nella stessa condivisione file di Azure di destinazione (consolidamento) No Una condivisione file di Azure di destinazione (endpoint cloud) supporta la sincronizzazione con un solo gruppo di sincronizzazione.

Un gruppo di sincronizzazione supporta un solo endpoint server per ogni server registrato.
1) Iniziare con la sincronizzazione di un solo disco (relativo volume radice) alla condivisione file di Azure di destinazione. Cominciare dal disco/volume più grande sarà utile per i requisiti di archiviazione locale. Configurare il cloud a livelli per suddividere in livelli tutti i dati nel cloud, liberando spazio sul disco del file server. Spostare i dati da altri volumi/condivisioni nel volume corrente che esegue la sincronizzazione. Continuare i passaggi uno per uno fino a quando tutti i dati vengono suddivisi in livelli nel cloud o nella migrazione.
2) Specificare come destinazione un solo volume radice (disco) alla volta. Usare il cloud a livelli per suddividere in livelli tutti i dati per la condivisione file di Azure di destinazione. Rimuovere l'endpoint server dal gruppo di sincronizzazione, ricreare l'endpoint con il volume/disco radice successivo, sincronizzare e ripetere il processo. Nota: potrebbe essere necessario reinstallare l'agente.
3) Consigliare l'uso di più condivisioni file di Azure di destinazione (account di archiviazione identico o diverso in base ai requisiti di prestazioni)
2 File server con singolo volume e più condivisioni nella stessa condivisione file di Azure di destinazione (consolidamento) Non è possibile avere più endpoint server per ogni server registrato che esegue la sincronizzazione con la stessa condivisione file di Azure di destinazione (uguale a quella precedente) Sincronizzare la radice del volume che contiene più condivisioni o cartelle di primo livello. Per altre informazioni, fare riferimento a Concetto di raggruppamento delle condivisioni e Sincronizzazione di volumi.
3 File server con più condivisioni e/o volumi in più condivisioni file di Azure con un singolo account di archiviazione (mapping 1:1 della condivisione) Una singola istanza di Windows Server (o cluster) può sincronizzare fino a 30 condivisioni file di Azure.

Un account di archiviazione è una destinazione di scalabilità per le prestazioni. Le operazioni di I/O al secondo e la velocità effettiva vengono condivise tra le condivisioni file.

Mantenere il numero di elementi per gruppo di sincronizzazione entro 100 milioni di elementi (file e cartelle) per condivisione. L’ideale sarebbe rimanere al di sotto di 20 o 30 milioni di elementi per condivisione.
1) Usare più gruppi di sincronizzazione (numero di gruppi di sincronizzazione = numero di condivisioni file di Azure da sincronizzare).
2) In questo scenario è possibile sincronizzare solo 30 condivisioni alla volta. Se esistono più di 30 condivisioni in tale file server, usare il Concetto di raggruppamento delle condivisioni e Sincronizzazione di volumi per ridurre il numero di cartelle radice o di primo livello nell'origine.
3) Usare server di Sincronizzazione file aggiuntivi in locale e dividere/spostare i dati in questi server per aggirare le limitazioni nel server Windows di origine.
4 File server con più condivisioni e/o volumi in più condivisioni file di Azure con un account di archiviazione differente (mapping 1:1 della condivisione) Una singola istanza di Windows Server (o cluster) può sincronizzare fino a 30 condivisioni file di Azure (account di archiviazione identico o differente).

Mantenere il numero di elementi per gruppo di sincronizzazione entro 100 milioni di elementi (file e cartelle) per condivisione. L’ideale sarebbe rimanere al di sotto di 20 o 30 milioni di elementi per condivisione.
Stesso approccio illustrato in precedenza
5 Più file server con singolo (condivisione o volume radice) nella stessa condivisione file di Azure di destinazione (consolidamento) No Un gruppo di sincronizzazione non può usare l'endpoint cloud (condivisione file di Azure) già configurato in un altro gruppo di sincronizzazione.

Anche se un gruppo di sincronizzazione può avere endpoint server in file server diversi, i file non possono essere distinti.
Seguire le indicazioni riportate nello scenario 1 precedente con considerazioni aggiuntive sulla destinazione di un solo file server alla volta.

Creare una tabella di mapping

Diagramma che mostra un esempio di tabella di mapping. Scaricare il file seguente per sperimentare e usare il contenuto di questa immagine.

Usare le informazioni precedenti per determinare il numero di condivisioni file di Azure necessarie e quali parti dei dati esistenti finiranno nelle varie condivisioni file di Azure.

Creare una tabella che registra le considerazioni effettuate in modo da potervi fare riferimento quando è necessario. Rimanere organizzati è importante perché può essere facile perdere i dettagli del piano di mapping quando si esegue il provisioning di molte risorse di Azure contemporaneamente. Scaricare il file di Excel seguente da usare come modello per facilitare la creazione del mapping.


Icona di Excel che imposta il contesto per il download. Scaricare un modello di mapping dello spazio dei nomi.

Fase 2: Effettuare il provisioning di un'istanza di Windows Server appropriata in locale

  • Creare un'istanza di Windows Server 2022 come macchina virtuale o server fisico. Windows Server 2012 R2 è il requisito minimo. È supportato anche un cluster di failover di Windows Server.

  • Effettuare il provisioning o aggiungere l'archiviazione collegata diretta. L'archiviazione NAS (Network Attached Storage) non è supportata.

    La quantità di spazio di archiviazione di cui si effettua il provisioning può essere inferiore a quella attualmente usata nel server Samba di Linux, se si usa la funzionalità di cloud a livelli di Sincronizzazione file di Azure.

La quantità di spazio di archiviazione di cui si effettua il provisioning può essere inferiore a quella attualmente usata nel server Samba di Linux. Questa scelta di configurazione richiede anche l'uso della funzionalità di cloud a livelli di Sincronizzazione file di Azure. Tuttavia, quando si copiano i file dallo spazio del server Samba di Linux più grande al volume di Windows Server più piccolo in una fase successiva, sarà necessario lavorare in batch:

  1. Spostare un set di file che si adattano al disco.
  2. Consentire l'interazione tra sincronizzazione file e il cloud a livelli.
  3. Quando viene creato più spazio libero nel volume, procedere con il batch successivo di file. In alternativa, esaminare il comando RoboCopy nella prossima sezione RoboCopy per l'uso del nuovo commutatore /LFSM. L'uso di /LFSM può semplificare in modo significativo i processi RoboCopy, ma non è compatibile con altri commutatori RoboCopy da cui si potrebbe difendere.

È possibile evitare questo approccio di invio in batch effettuando il provisioning dello spazio equivalente nell'istanza di Windows Server occupato dal server Samba di Linux. Valutare la possibilità di abilitare la deduplicazione in Windows. Se non si vuole eseguire il commit permanente di questa quantità elevata di spazio di archiviazione nell'istanza di Windows Server, è possibile ridurre le dimensioni del volume dopo la migrazione e prima di modificare i criteri di suddivisione in livelli nel cloud. In questo modo viene creata una cache locale più piccola delle condivisioni file di Azure.

La configurazione delle risorse (calcolo e RAM) dell'istanza di Windows Server distribuita dipende principalmente dal numero di elementi (file e cartelle) che verranno sincronizzati. In caso di problemi, è consigliabile una configurazione con prestazioni più elevate.

Informazioni su come ridimensionare un'istanza di Windows Server in base al numero di elementi (file e cartelle) da sincronizzare.

Nota

L'articolo collegato in precedenza presenta una tabella con un intervallo per la memoria server (RAM). È possibile orientarsi verso il numero più piccolo per il server, ma in tal caso la sincronizzazione iniziale potrà richiedere molto più tempo.

Fase 3: Distribuire la risorsa cloud di Sincronizzazione file di Azure

Per completare questo passaggio, sono necessarie le credenziali della sottoscrizione di Azure.

La risorsa principale da configurare per Sincronizzazione file di Azure è denominata Servizio di sincronizzazione archiviazione. È consigliabile una sola distribuzione per tutti i server che sincronizzano lo stesso set di file ora o in futuro. Creare più servizi di sincronizzazione archiviazione solo se esistono set distinti di server che non devono mai scambiare dati. Ad esempio, potrebbero esistere server che non devono mai sincronizzare la stessa condivisione file di Azure. In caso contrario, l'uso di un singolo Servizio di sincronizzazione archiviazione è la procedura consigliata.

Scegliere un'area di Azure per il Servizio di sincronizzazione archiviazione vicino alla propria località. Tutte le altre risorse cloud devono essere distribuite nella stessa area. Per semplificare la gestione, creare un nuovo gruppo di risorse nella sottoscrizione che ospita risorse di sincronizzazione e archiviazione.

Per altre informazioni, vedere la sezione sulla distribuzione del Servizio di sincronizzazione archiviazione nell'articolo sulla distribuzione di Sincronizzazione file di Azure. Seguire solo questa sezione dell'articolo. Nei passaggi successivi saranno disponibili collegamenti ad altre sezioni dell'articolo.

Fase 4: Distribuire le risorse di archiviazione di Azure

In questa fase, consultare la tabella di mapping della fase 1 e usarla per eseguire il provisioning del numero corretto di account di archiviazione e condivisioni file di Azure.

Una condivisione file di Azure è archiviata nel cloud in un account di archiviazione di Azure. Un altro livello di considerazioni sulle prestazioni si applica qui.

Se esistono condivisioni molto attive (condivisioni usate da molti utenti e/o applicazioni), due condivisioni file di Azure potrebbero raggiungere il limite di prestazioni di un account di archiviazione.

È preferibile distribuire gli account di archiviazione con una sola condivisione file ciascuno. È possibile raggruppare più condivisioni file di Azure nello stesso account di archiviazione se si dispone di condivisioni di archiviazione o si prevede un'attività giornaliera bassa.

Queste considerazioni si applicano maggiormente all'accesso al cloud diretto (tramite una macchina virtuale di Azure) rispetto a Sincronizzazione file di Azure. Se si prevede di usare solo Sincronizzazione file di Azure in queste condivisioni, il raggruppamento di più condivisioni in un singolo account di archiviazione di Azure è accettabile.

Se è stato creato un elenco delle condivisioni, è necessario eseguire il mapping di ogni condivisione all'account di archiviazione in cui si troverà.

Nella fase precedente è stato determinato il numero appropriato di condivisioni. In questo passaggio si ha un mapping degli account di archiviazione alle condivisioni file. A questo punto, distribuire il numero appropriato di account di archiviazione di Azure con il numero appropriato di condivisioni file di Azure.

Accertarsi che l'area di ogni account di archiviazione sia la stessa e corrisponda all'area della risorsa del servizio di sincronizzazione archiviazione già distribuita.

Attenzione

Se si crea una condivisione file di Azure con un limite di 100 TiB, tale condivisione può usare solo le opzioni di ridondanza di archiviazione con ridondanza locale o ZRS. Considerare le esigenze di ridondanza dell'archiviazione prima di usare 100 condivisioni file TiB.

Le condivisioni file di Azure vengono comunque create con un limite di 5 TiB per impostazione predefinita. Seguire la procedura descritta in Creare una condivisione file di Azure per creare una condivisione file di grandi dimensioni.

Un'altra considerazione quando si distribuisce un account di archiviazione riguarda la ridondanza di Archiviazione di Azure. Vedere Opzioni di ridondanza di Archiviazione di Azure.

Anche i nomi delle risorse sono importanti. Ad esempio, se si raggruppano più condivisioni per il reparto risorse umane in un account di archiviazione di Azure, è necessario assegnare un nome appropriato all'account di archiviazione. Analogamente, quando si assegna un nome alle condivisioni file di Azure, è consigliabile usare nomi simili a quelli usati per le controparti locali.

Fase 5: Distribuire l’agente di Sincronizzazione file di Azure

In questa sezione viene installato l'agente di Sincronizzazione file di Azure nell'istanza di Windows Server.

La guida alla distribuzione spiega che è necessario disattivare Configurazione sicurezza avanzata di Internet Explorer. Questa misura di sicurezza non è applicabile con Sincronizzazione file di Azure. La disattivazione consente di eseguire l'autenticazione in Azure senza problemi.

Aprire PowerShell. Installare i moduli PowerShell necessari usando i comandi seguenti. Accertarsi di installare il modulo completo e il provider NuGet quando viene chiesto.

Install-Module -Name Az -AllowClobber
Install-Module -Name Az.StorageSync

Se si verificano problemi durante il raggiungimento di Internet dal server, è il momento di risolverli. Sincronizzazione file di Azure usa qualunque connessione di rete disponibile a Internet. È supportata anche la richiesta di un server proxy per raggiungere Internet. È possibile configurare ora un proxy a livello di computer o, durante l'installazione dell'agente, specificare un proxy che verrà usato solo da Sincronizzazione file di Azure.

Se la configurazione un proxy implica la necessità di aprire i firewall per il server, questo approccio potrebbe essere accettabile per l'utente. Al termine dell'installazione del server, dopo aver completato la registrazione del server, un report di connettività di rete mostrerà gli URL degli endpoint esatti in Azure con cui Sincronizzazione file di Azure deve comunicare per l'area selezionata. Il report indica anche perché è necessaria la comunicazione. È possibile usare il report per bloccare i firewall intorno al server a URL specifici.

È anche possibile adottare un approccio più conservativo in cui non si aprono i firewall. È possibile, invece, limitare il server a comunicare con spazi dei nomi DNS di livello superiore. Per altre informazioni, vedere Impostazioni di proxy e firewall di Sincronizzazione file di Azure. Seguire le procedure di rete consigliate.

Al termine dell'installazione guidata del server, verrà aperta una procedura guidata di registrazione del server. Registrare il server nella risorsa di Azure del servizio di sincronizzazione archiviazione precedente.

Questi passaggi sono descritti in modo più dettagliato nella guida alla distribuzione, che include i moduli di PowerShell da installare per primi: Installazione dell'agente di Sincronizzazione file di Azure.

Usare l'agente più recente. È possibile scaricarlo dall'Area download MicrosoftAgente di Sincronizzazione file di Azure.

Dopo aver completato correttamente l'installazione e la registrazione del server, è possibile controllare se questo passaggio è stato completato correttamente. Passare alla risorsa del Servizio di sincronizzazione archiviazione nel portale di Azure. Nel menu a sinistra, passare a Server registrati. Verrà visualizzato l'elenco del server.

Fase 6: Configurare Sincronizzazione file di Azure nella distribuzione Windows Server

Per questo processo, l'istanza di Windows Server locale registrata deve essere pronta e connessa a Internet.

Questo passaggio collega tutte le risorse e le cartelle configurate nell'istanza di Windows Server durante i passaggi precedenti.

  1. Accedere al portale di Azure.
  2. Individuare la risorsa del Servizio di sincronizzazione archiviazione.
  3. Creare un nuovo gruppo di sincronizzazione all'interno della risorsa del Servizio di sincronizzazione archiviazione per ogni condivisione file di Azure. Nella terminologia di Sincronizzazione file di Azure, la condivisione file di Azure diventerà un endpoint cloud nella topologia di sincronizzazione che si sta descrivendo con la creazione di un gruppo di sincronizzazione. Quando si crea il gruppo di sincronizzazione, assegnargli un nome familiare in modo da riconoscere il set di file sincronizzato. Accertarsi di fare riferimento alla condivisione file di Azure con un nome corrispondente.
  4. Dopo aver creato il gruppo di sincronizzazione, verrà visualizzata una riga nell'elenco dei gruppi di sincronizzazione. Selezionare il nome (un collegamento) per visualizzare il contenuto del gruppo di sincronizzazione. La condivisione file di Azure verrà visualizzata in Endpoint cloud.
  5. Individuare il pulsante Aggiungi endpoint server. La cartella nel server locale di cui è stato effettuato il provisioning diventerà il percorso per questo endpoint server.

Importante

Il cloud a livello è la funzionalità di Sincronizzazione file di Azure che consente al server locale di avere una capacità di archiviazione inferiore a quella archiviata nel cloud, ma ha lo spazio dei nomi completo disponibile. I dati interessanti localmente vengono memorizzati nella cache anche in locale per prestazioni di accesso rapido. La suddivisione in livelli nel cloud è una funzionalità facoltativa per ogni endpoint server di Sincronizzazione file di Azure.

Avviso

Se è stato effettuato il provisioning di meno spazio di archiviazione nei volumi di Windows Server rispetto ai dati usati nel server Samba di Linux, il cloud a livelli è obbligatorio. Se non si attiva la suddivisione in livelli nel cloud, il server non libera spazio per archiviare tutti i file. Impostare i criteri di suddivisione in livelli, temporaneamente per la migrazione, sul 99% dello spazio disponibile per un volume. Assicurarsi di tornare alle impostazioni di suddivisione in livelli nel cloud dopo il completamento della migrazione e impostare i criteri su un livello più utile per il lungo termine.

Ripetere i passaggi di creazione del gruppo di sincronizzazione e di aggiunta della cartella server corrispondente come endpoint server per tutte le condivisioni file di Azure e i percorsi del server che devono essere configurati per la sincronizzazione.

Dopo aver creato tutti gli endpoint server, la sincronizzazione entra in funzione. È possibile creare un file di test e visualizzarlo sincronizzato dal percorso del server alla condivisione file di Azure connessa (come descritto dall'endpoint cloud nel gruppo di sincronizzazione).

Entrambe le posizioni, le cartelle del server e le condivisioni file di Azure, sono altrimenti vuote e in attesa di dati. Nel passaggio successivo si inizierà a copiare i file nell'istanza di Windows Server per permettere a Sincronizzazione file di Azure di spostarli nel cloud. Se è stata abilitata la suddivisione in livelli nel cloud, il server inizierà a organizzare in livelli i file se si esaurisce la capacità nei volumi locali.

Fase 7: Robocopy

L'approccio di base alla migrazione consiste nell'usare Robocopy per copiare i file e usare Sincronizzazione file di Azure per eseguire la sincronizzazione.

Eseguire la prima copia locale nella cartella di destinazione di Windows Server:

  1. Identificare il primo percorso nel server Samba Linux.
  2. Identificare la cartella corrispondente nell'istanza di Windows Server in cui Sincronizzazione file di Azure è già configurata.
  3. Avviare la copia usando Robocopy.

Il comando RoboCopy seguente copia i file dalla risorsa di archiviazione del server Samba di Linux alla cartella di destinazione di Windows Server. Windows Server li sincronizzerà con le condivisioni file di Azure.

Se è stato effettuato il provisioning di meno spazio di archiviazione nell'istanza di Windows Server rispetto allo spazio dei file nel server Samba di Linux, è stato configurato il cloud a livelli. Quando il volume locale di Windows Server è pieno, si avvierà il cloud a livelli per i file già sincronizzati. Il cloud a livelli genererà spazio sufficiente per continuare la copia dal server Samba di Linux. Il cloud a livelli effettua una verifica una volta all'ora per controllare cosa sia stato sincronizzato e liberare spazio su disco così da raggiungere il criterio de 99% di spazio disponibile per un volume.

È possibile che RoboCopy sposti i file più velocemente di quanto sia possibile eseguire la sincronizzazione con il cloud e il livello in locale, esaurendo così lo spazio su disco locale. Robocopy avrà quindi esito negativo. È consigliabile usare le condivisioni in una sequenza che impedisce il problema. Si consideri, ad esempio, di non avviare processi Robocopy per tutte le condivisioni contemporaneamente. In alternativa, prendere in considerazione lo spostamento di condivisioni che rientrano nella quantità corrente di spazio disponibile nell'istanza di Windows Server. Se il processo Robocopy non riesce, è sempre possibile eseguire di nuovo il comando purché si usi l'opzione di mirror/ripulitura seguente:

robocopy <SourcePath> <Dest.Path> /MT:20 /R:2 /W:1 /B /MIR /IT /COPY:DATSO /DCOPY:DAT /NP /NFL /NDL /XD "System Volume Information" /UNILOG:<FilePathAndName> 
Commutatore Significato
/MT:n Consente l'esecuzione di Robocopy in multithreading. L’impostazione predefinita per n è 8. Il massimo è di 128 thread. Anche se un numero elevato di thread facilita la saturazione della larghezza di banda disponibile, non è detto che la migrazione sarà sempre più veloce con più thread. I test con File di Azure tra 8 e 20 dimostrano prestazioni bilanciate per l'esecuzione di una copia iniziale. Le esecuzioni successive di /MIR sono progressivamente influenzate dal rapporto tra calcolo disponibile e la larghezza di banda di rete disponibile. Per le esecuzioni successive, il valore del conteggio dei thread dovrà avvicinarsi al numero di core del processore e al conteggio dei thread per core. Valutare se i core devono essere riservati ad altre eventuali attività di un server di produzione. I test con File di Azure hanno dimostrato che fino a 64 thread producono prestazioni ottimali, ma solo se i processori possono mantenerli attivi contemporaneamente.
/R:n Numero massimo di nuovi tentativi per un file che non viene copiato al primo tentativo. Robocopy proverà n volte prima che il file non riesca a copiare definitivamente nell'esecuzione. È possibile ottimizzare le prestazioni dell'esecuzione: scegliere un valore pari a due o tre se si ritiene che i problemi di timeout abbiano causato errori in passato. Ciò può essere più comune rispetto ai collegamenti WAN. Scegliere nessun nuovo tentativo o un valore di uno se si ritiene che la copia del file non sia riuscita perché era attivamente in uso. Un nuovo tentativo dopo alcuni secondi potrebbe non essere sufficiente per lo stato in uso del file da modificare. Gli utenti o le app che contengono il file aperto potrebbero richiedere più ore. In questo caso, accettando che il file non è stato copiato e recuperandolo in una delle successive esecuzioni di Robocopy pianificate, la copia del file potrebbe avvenire correttamente. Ciò consente all'esecuzione corrente di terminare più velocemente senza ritardi dovuti a molti tentativi che alla fine finiscono nella maggior parte in errori di copia a causa di file ancora aperti oltre il timeout di ripetizione dei tentativi.
/W:n Specifica il tempo in cui Robocopy rimane in attesa prima di provare a ripetere un'operazione di copia di un file che ha avuto esito negativo in un tentativo precedente. n è il numero di secondi di attesa tra i tentativi. /W:n viene spesso usato insieme a /R:n.
/B Esegue Robocopy nella stessa modalità che verrebbe usata da un'applicazione di backup. Questa opzione consente a Robocopy di spostare i file per cui l'utente corrente non dispone delle autorizzazioni. L'opzione di backup dipende dall'esecuzione del comando di Robocopy in una console con privilegi elevati di amministratore o in una finestra di PowerShell. Se si usa Robocopy per File di Azure, accertarsi di montare le condivisioni file di Azure usando la chiave di accesso dell'account di archiviazione e non usare un'identità di dominio. In caso contrario, i messaggi di errore potrebbero impedire una risoluzione del problema in modo intuitivo.
/MIR (Mirror da origine a destinazione.) Consente a Robocopy di copiare solo i delta tra origine e destinazione. Le sottodirectory vuote verranno copiate. Gli elementi (file o cartelle) modificati o non presenti nella destinazione verranno copiati. Gli elementi presenti nella destinazione ma non nell'origine verranno rimossi (eliminati) dalla destinazione. Quando si usa questa opzione, le strutture delle cartelle di origine e di destinazione devono essere identiche. Corrispondenza significa copiare dal livello corretto di origine e cartella al livello di cartella corrispondente nella destinazione. Solo a questo punto una copia "di recupero" può avere esito positivo. Quando l'origine e la destinazione non corrispondono, l'uso di /MIR causerà eliminazioni e creazione di nuove copie su larga scala.
/IT Verifica che venga mantenuta la fedeltà in determinati scenari di mirror.
Ad esempio, se si verifica un cambiamento di ACL e un aggiornamento degli attributi in un file tra due esecuzioni di Robocopy, il file viene contrassegnato come nascosto. Senza /IT, Robocopy potrebbe non rilevare il cambiamento di ACL e la modifica potrebbe non essere trasferita alla posizione di destinazione.
/COPY:[copyflags] La fedeltà della copia del file. Impostazione predefinita: /COPY:DAT. Flag di copia: D= Dati, A= Attributi, T= Timestamp, S= Sicurezza = NTFS ACL, O= Informazioni sul proprietario, U= Informazioni di controllo. Le informazioni di controllo non possono essere archiviate in una condivisione file di Azure.
/DCOPY:[copyflags] Fedeltà per la copia delle directory. Impostazione predefinita: /DCOPY:DA. Flag di copia: D= Dati, A= Attributi, T= Timestamp.
/NP Specifica che non verrà visualizzato l'avanzamento della copia per ogni file e cartella. La visualizzazione dell'avanzamento riduce notevolmente le prestazioni di copia.
/NFL Specifica che i nomi dei file non vengono registrati. Aumenta le prestazioni di copia.
/NDL Specifica che i nomi delle directory non vengono registrati. Aumenta le prestazioni di copia.
/XD Specifica le directory da escludere. Quando si esegue Robocopy nella radice di un volume, considerare l'esclusione della cartella System Volume Information nascosta. Se usato come progettato, tutte le informazioni contenute sono specifiche del volume esatto su questo sistema esatto e possono essere rigenerare su richiesta. La copia di queste informazioni non sarà utile nel cloud o quando i dati vengono copiati in un altro volume di Windows. Lasciare questo contenuto dietro non deve essere considerato come perdita di dati.
/UNILOG:<file name> Scrive lo stato nel file di log come Unicode. (Sovrascrive il log esistente.)
/L Solo per un'esecuzione di test
I file devono essere solo elencati. Non verranno copiati o eliminati e non verranno applicati timestamp. Spesso usato con /TEE per l'output della console. Potrebbe essere necessario rimuovere i flag dello script di esempio, come /NP, /NFL e /NDL, per ottenere risultati di test correttamente documentati.
/LFSM Solo per le destinazioni con archiviazione a livelli. Non supportato quando la destinazione è una condivisione SMB remota.
Specifica che Robocopy opera in "modalità spazio disponibile insufficiente". Questa operazione è utile solo per le destinazioni con archiviazione a livelli che potrebbero esaurire la capacità locale prima del completamento di Robocopy. È stata aggiunta appositamente per l'uso con una destinazione abilitata per cloud a livelli di Sincronizzazione file di Azure. Può essere usata indipendentemente da Sincronizzazione file di Azure. In questa modalità Robocopy viene sospeso ogni volta che lo spazio libero del volume di destinazione scende al di sotto di un valore minimo a causa di una copia del file. Questo valore può essere specificato dalla forma /LFSM:n del flag. Il parametro n è specificato in base 2: nKB, nMB o nGB. Se /LFSM viene specificato senza un valore di limite minimo esplicito, il limite minimo viene impostato sul 10% delle dimensioni del volume di destinazione. La modalità spazio libero insufficiente non è compatibile con /MT, /EFSRAW o /ZB. Il supporto per /B è stato aggiunto in Windows Server 2022. Vedere la sezione Windows Server 2022 e RoboCopy LFSM di seguito per altre informazioni, incluse informazioni dettagliate su un bug e una soluzione alternativa correlati.
/Z Usare con cautela
Copia i file in modalità di riavvio. Questa operazione è consigliata solo in un ambiente di rete instabile. Riduce significativamente le prestazioni di copia a causa della registrazione aggiuntiva.
/ZB Usare con cautela
Usa la modalità di riavvio. Se viene negato l'accesso, questa opzione usa la modalità di backup. Questa opzione riduce significativamente le prestazioni di copia a causa del checkpoint.

Importante

È consigliabile l'uso di Windows Server 2022. Quando si usa Windows Server 2019, accertarsi che sia installato il livello di patch più recente o almeno l’aggiornamento del sistema operativo KB5005103. Contiene correzioni importanti per determinati scenari di Robocopy.

Fase 8: Cutover utente

Quando si esegue il comando Robocopy per la prima volta, gli utenti e le applicazioni accedono ancora ai file nel server Samba di Linux e possono potenzialmente modificarli. È possibile che Robocopy abbia elaborato una directory, passi alla successiva e che quindi un utente nel percorso di origine (Linux) aggiunga, modifichi o elimini un file che ora non verrà elaborato in questa esecuzione corrente di Robocopy. Si tratta di un comportamento previsto.

La prima esecuzione consiste nello spostare la maggior parte dei dati nell'istanza di Windows Server e nel cloud tramite Sincronizzazione file di Azure. La prima copia può richiedere molto tempo, a seconda di quanto segue:

  • La larghezza di banda.
  • Larghezza di banda in upload.
  • La velocità della rete locale e il numero ottimale di thread Robocopy corrispondenti.
  • Numero di elementi (file e cartelle) che Robocopy e Sincronizzazione file di Azure devono elaborare.

Al termine dell'esecuzione iniziale, eseguire di nuovo il comando.

Termina più velocemente la seconda volta perché deve trasportare solo le modifiche apportate dopo l'ultima esecuzione. Durante questa seconda esecuzione, nuove modifiche possono ancora accumularsi.

Ripetere questo processo fino a quando non si è soddisfatti che la quantità di tempo necessario per completare un'operazione Robocopy per una posizione specifica sia all'interno di una finestra accettabile per quanto riguarda il tempo di inattività.

Quando si considera accettabile il tempo di inattività e si è quindi pronti a portare offline la posizione di Linux, è possibile modificare gli elenchi di controllo di accesso nella radice della condivisione in modo che gli utenti non possano più accedere alla posizione. In alternativa, è possibile eseguire qualsiasi altro passaggio appropriato che impedisca la modifica del contenuto in questa cartella nel server Linux.

Eseguire un ultimo round di Robocopy. Raccoglierà eventuali modifiche che potrebbero essere state perse. Il tempo necessario per questo passaggio finale dipende dalla velocità dell'analisi Robocopy. È possibile stimare il tempo (uguale al tempo di inattività) misurando la durata dell'esecuzione precedente.

Creare una condivisione nella cartella di Windows Server ed eventualmente modificare la distribuzione DFS-N in modo che punti a essa. Assicurarsi di impostare le stesse autorizzazioni a livello di condivisione per le condivisioni SMB del server Samba di Linux. Se sono stati usati utenti locali nel server Samba di Linux, è necessario ricreare questi utenti come utenti locali di Windows Server. È anche necessario eseguire il mapping dei SID esistenti spostati da Robocopy all'istanza di Windows Server ai SID dei nuovi utenti locali di Windows Server. Se sono stati usati account ed elenchi di controllo di accesso di Active Directory, Robocopy li sposterà così come sono e non sono necessarie altre azioni.

È stata completata la migrazione di una condivisione o di un gruppo di condivisioni in una radice o un volume comune (a seconda del mapping dalla fase 1).

È possibile provare a eseguire alcune di queste copie in parallelo. È consigliabile elaborare l'ambito di una condivisione file di Azure alla volta.

Avviso

Dopo aver spostato tutti i dati dal server Samba di Linux all'istanza di Windows Server e dopo aver completato la migrazione, tornare a tutti i gruppi di sincronizzazione nel portale di Azure. Modificare la percentuale di spazio disponibile per il volume di suddivisione in livelli nel cloud in modo che sia più adatta per l'utilizzo della cache, ad esempio il 20%.

I criteri per lo spazio libero nel volume a livelli cloud agisce su un livello di volume con potenzialmente più endpoint server sincronizzati da quest'ultimo. Se ci si dimentica di regolare lo spazio libero in un solo endpoint server, la sincronizzazione continuerà ad applicare la regola più restrittiva e tenterà di mantenere lo spazio libero su disco del 99%. La cache locale potrebbe quindi non essere eseguita come previsto. Le prestazioni potrebbero essere accettabili se l'obiettivo è avere lo spazio dei nomi per un volume che contiene solo i dati di archiviazione a cui si accede raramente e si riserva il resto dello spazio di archiviazione per un altro scenario.

Risoluzione dei problemi

Il problema più comune è che il comando Robocopy ha esito negativo con Volume completo sul lato Windows Server. Il cloud a livelli agisce una volta ogni ora per evacuare il contenuto dal disco locale di Windows Server sincronizzato. L'obiettivo è raggiungere il 99% di spazio libero nel volume.

Consentire all'avanzamento della sincronizzazione e al cloud a livelli di liberare spazio su disco. È possibile osservarlo in Esplora file in Windows Server.

Quando l'istanza di Windows Server ha una capacità sufficiente, la ripetizione del comando risolverà il problema. Non succede nulla quando si arriva a questa situazione, è possibile procedere senza problemi. L'unico inconveniente è dover ripetere il comando.

Per la risoluzione dei problemi di Sincronizzazione file di Azure, vedere il collegamento nella sezione seguente.

Passaggi successivi

Gli articoli seguenti contengono opzioni avanzate, procedure consigliate e una guida alla risoluzione dei problemi per Sincronizzazione file di Azure.