Migrazione SYSVOL da FRS a DFSR: guida completa, stati DFSRMIG, rischi e troubleshooting

Se dfsrMig /getmigrationstate riporta “Global state (Start)” e nei Domain Controller vedi solo la condivisione SYSVOL (senza cartella SYSVOL_DFSR), la migrazione non è mai partita. Qui trovi una guida operativa, chiara e sicura, per passare da FRS a DFSR senza interruzioni dei criteri di gruppo.

Indice

Sintomi e diagnosi rapida

  • dfsrMig /getmigrationstate restituisce: “All domain controllers have migrated successfully to the Global state (Start)”.
  • È visibile soltanto la condivisione SYSVOL; la cartella SYSVOL_DFSR non esiste.
  • Sui DC risultano in esecuzione sia File Replication Service (FRS) sia DFS Replication (DFSR).

Questi indizi indicano che non è stato avviato alcun passaggio: Start (valore 0) è lo stato iniziale predefinito di tutti i domini che usano ancora FRS per replicare SYSVOL.

Perché migrare: FRS vs DFSR, vantaggi concreti

FRS è obsoleto: non è più supportato per nuove promozioni di DC nelle versioni recenti di Windows Server e, in ambienti misti, rappresenta una fonte di rischi e complessità. DFSR introduce un motore di replica più resiliente e scalabile, con compressione, gestione efficiente della larghezza di banda, ripresa delle copie e log diagnostici molto più ricchi. Migrare significa:

  • Stabilità: minore probabilità di divergenze dei GPO tra siti.
  • Performance: replica differenziale e compressa.
  • Futuro: possibilità di aggiungere DC moderni (2019/2022/2025) senza blocchi di promozione.

Interpretazione degli stati DFSRMIG

ValoreNome statoSignificato operativo
0StartSYSVOL replicato da FRS (situazione attuale)
1PreparedCreata SYSVOL_DFSR e popolata via DFSR; FRS continua a servire GPO
2RedirectedDFSR diventa l’origine condivisa di SYSVOL; FRS rimane copia di sicurezza
3EliminatedFRS disattivato; solo DFSR replica SYSVOL (irreversibile)

Cosa accade dietro le quinte

  • Start: i DC servono \<dc>\SYSVOL dalla path classica C:\Windows\SYSVOL\domain. Il servizio DFSR può essere avviato, ma non gestisce SYSVOL.
  • Prepared: viene creata C:\Windows\SYSVOL_DFSR\domain e sincronizzata in background tramite DFSR, ma la condivisione effettiva resta quella storica gestita da FRS. È la fase sicura per testare la salute DFSR.
  • Redirected: la condivisione SYSVOL punta fisicamente alla path in SYSVOL_DFSR. FRS resta in piedi come rete di sicurezza.
  • Eliminated: FRS viene disabilitato e non parte più. L’unico motore di replica per SYSVOL è DFSR.

Prerequisiti e verifiche preliminari

  • Requisiti di versione: tutti i DC devono eseguire Windows Server 2008 o superiore. Dalla generazione 2019 in poi non è consentito promuovere DC se il dominio usa ancora FRS.
  • Livello funzionale del dominio: almeno Windows Server 2008.
  • Replica AD sana: nessun errore di replica in repadmin o nei log.
  • FRS in salute: niente back-log o Journal Wrap; log eventi puliti.
  • Backup: stato del sistema di tutti i DC e backup del contenuto dei GPO.
  • Spazio: sufficiente per creare e sincronizzare la nuova cartella SYSVOL_DFSR.
  • Esclusioni antivirus: escludi SYSVOL, SYSVOL_DFSR e le cartelle DFSRPrivate dall’AV in tempo reale.
  • Ora/DNS: servizio w32time e DNS correttamente configurati.

Check rapidi (consigliato eseguirli tutti)

# Elenco DC e stato replica AD
Get-ADDomainController -Filter * | Select-Object HostName,Site,OperatingSystem

repadmin /replsummary
repadmin /showrepl * /csv > C:\Temp\showrepl.csv

Test di pubblicazione e SYSVOL

dcdiag /e /test:sysvolcheck /test:advertising

Stato servizi sui DC

Get-Service -Name DFSR, NtFrs

Backlog DFSR per SYSVOL (da un DC)

dfsrdiag backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /sendingmember: /receivingmember:

Condivisioni effettive

net share 

Procedura operativa guidata

La migrazione va eseguita una fase alla volta, procedendo alla successiva solo quando tutti i DC hanno raggiunto lo stesso stato (convergenza). È normale che i log DFSR si popolino di eventi informativi durante i passaggi.

Impostazione degli stati

dfsrMig /setGlobalState 1   # Prepared
dfsrMig /getGlobalState
dfsrMig /getMigrationState  # Attendere finché tutti i DC sono in "Prepared"

dfsrMig /setGlobalState 2   # Redirected
dfsrMig /getMigrationState  # Attendere convergenza completa

dfsrMig /setGlobalState 3   # Eliminated (irreversibile)
dfsrMig /getMigrationState  # Verificare stato finale </code></pre>

<p><strong>Suggerimento:</strong> per accelerare la propagazione degli stati via AD, esegui una sincronizzazione di directory tra i DC:</p>
<pre><code>repadmin /syncall /AdeP
</code></pre>

<h3>Monitoraggio e eventi attesi</h3>
<p>Dopo ogni passaggio, controlla il Visualizzatore eventi &rarr; <em>Applications and Services Logs</em> &rarr; <em>DFS Replication</em> su ciascun DC. In particolare:</p>
<ul>
  <li><strong>Eventi 4602/4604</strong>: indicano che la replica SYSVOL è stata inizializzata e il DC sta servendo correttamente la condivisione (buon segno per avanzare di fase).</li>
  <li><strong>Evento 4612</strong>: “inizializzato e in attesa della replica iniziale”. Se persiste, <em>non</em> c’è convergenza: controlla la connettività e i partner.</li>
  <li><strong>Eventi 4012/2213</strong>: segnalano “contenuto stantio” o “dirty shutdown/content freshness”. Richiedono interventi di ripristino (vedi troubleshooting).</li>
</ul>

<h3>Controlli pratici dopo ogni fase</h3>
<ul>
  <li>La condivisione <code>SYSVOL</code> continua a essere disponibile dal punto di vista dei client (<code>\\dominio.fqdn\SYSVOL</code>).</li>
  <li>Da <strong>Redirected</strong> in avanti, <code>SYSVOL</code> punta a <code>...\SYSVOL_DFSR</code>:
    <pre><code class="language-powershell"># dove punta la condivisione
Get-SmbShare -Name SYSVOL | Format-List Name,Path
oppure
net share SYSVOL

Il comando dfsrMig /getmigrationstate mostra tutti i DC sincronizzati nello stesso stato.
Nessun errore critico di replica nei log DFSR/Directory Service/NTDS.

Verifiche aggiuntive in ogni stato

StatoCosa verificareAzioni consigliate
PreparedEsistenza di SYSVOL_DFSR e avvio della sincronizzazioneControlla backlog DFSR e l’evento 4602; niente modifiche massicce ai GPO
RedirectedSYSVOL mappato a SYSVOL_DFSRApplica piccole modifiche ai GPO per testare la replica end-to-end
EliminatedServizio FRS non attivo sui DCVerifica che FRS sia disabilitato; mantieni monitoraggio per qualche giorno

Troubleshooting mirato

“Bloccato” su Prepared o Redirected

  1. Esegui repadmin /replsummary e correggi eventuali errori di replica AD (un DC fuori sync può trattenere gli avanzamenti di stato).
  2. Verifica backlog DFSR fra tutte le coppie critiche: dfsrdiag backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /sendingmember:<DCA> /receivingmember:<DCB> Backlog elevati e stabili indicano problemi di connettività, filtro antivirus o file bloccati.
  3. Controlla eventi 4612/4614: se “in attesa di replica iniziale”, risolvi la comunicazione con il partner di replica.
  4. Escludi SYSVOL/SYSVOL_DFSR dall’AV e verifica I/O su disco.

Evento 4012: “Offline troppo a lungo”

DFS Replication interrompe la replica se un membro resta disconnesso oltre MaxOfflineTimeInDays (default 60). Tipiche soluzioni:

  • Non autorevole (D2) del DC indietro (ricrea da un partner sano). Utile quando i dati locali non sono affidabili.
  • Autorevole (D4) su un DC di riferimento (replica agli altri). Usalo se sei certo che il contenuto locale sia quello “giusto”.

Queste procedure richiedono modifiche in ADSI Edit (msDFSR-Enabled, msDFSR-Options) e attenzione ai dettagli; eseguirle seguendo un runbook collaudato. Dopo D2/D4, cerca gli eventi 4114 (replica SYSVOL disabilitata) e 4602/4604 (inizializzazione completata).

SYSVOL/NETLOGON non visibili su un nuovo DC

Su DC appena promossi con DFSR, l’assenza delle condivisioni spesso è dovuta a inizializzazione incompleta (4612/4614). Forza la lettura della configurazione con:

dfsrdiag PollAD

e verifica che il servizio DFSR sia avviato, la rete raggiungibile e DNS corretto. Non procedere alla fase successiva finché non appare l’evento 4604.

Eliminated raggiunto ma un DC rimane indietro

Se lo stato globale è “Eliminated” ma un DC mostra ancora “Preparing” o non espone SYSVOL, può essere stato escluso dalla propagazione dello stato. Riporta quel DC a salute:

  1. Correggi replica AD (repadmin).
  2. Valuta un D2 non autorevole sul DC problematico.
  3. Riesegui dfsrdiag PollAD e monitora 4602/4604.

Best practice operative

  • Una fase alla volta: imposta lo stato, verifica convergenza (dfsrMig /getmigrationstate), poi procedi.
  • Finestra di quiete sui GPO: durante il passaggio da Prepared a Redirected riduci le modifiche pesanti ai criteri.
  • Documenta: annota orari, eventi e output chiave (utile in caso di rollback fra stati 2→1 o 1→0).
  • Monitoraggio: oltre ai log DFSR, valuta un report periodico (dfsr health report) e alert su 4012/5002/5008.
  • Evita reboot non necessari: il passaggio di stato non richiede riavvii dei DC.

Script di verifica rapida (facoltativo)

Questo frammento interroga tutti i DC e mostra lo stato di condivisione SYSVOL e il servizio DFSR. Eseguilo su un DC con RSAT/AD Module.

$dcs = Get-ADDomainController -Filter * | Select-Object -ExpandProperty HostName
$result = foreach($dc in $dcs){
  $shares = (Invoke-Command -ComputerName $dc -ScriptBlock { net share } 2>$null) -join "`n"
  $dfsr   = (Invoke-Command -ComputerName $dc -ScriptBlock { (Get-Service DFSR).Status } 2>$null)
  [pscustomobject]@{
    DC        = $dc
    SYSVOL    = if($shares -match 'SYSVOL'){'OK'}else{'Assente'}
    NETLOGON  = if($shares -match 'NETLOGON'){'OK'}else{'Assente'}
    DFSR      = $dfsr
  }
}
$result | Format-Table -Auto

Domande frequenti

Posso tornare indietro? Fino a Redirected puoi tornare a Prepared o Start se necessario. Dopo Eliminated non è possibile tornare a FRS.

Quanto dura la migrazione? Dipende dalla topologia, link WAN e backlog iniziale. Procedi per fasi e monitora gli eventi: è l’unica misura affidabile.

È necessario disinstallare FRS? Nelle versioni moderne FRS non è presente; dove esiste ancora, lo stato Eliminated ne impedisce l’avvio. Non è essenziale “rimuoverlo”, è sufficiente che resti disabilitato.

RODC e siti remoti lenti? Pianifica più tempo di convergenza e controlli mirati sul backlog. Evita di avanzare di stato se un RODC è ancora in attesa (4612).

Rischi e mitigazioni

RischioMitigazione
Replica parziale o DC inattivi durante la migrazioneEsegui la fase successiva solo dopo che tutti i DC riportano lo stesso stato con dfsrMig /getmigrationstate e log coerenti.
Impossibilità di tornare indietro dallo stato 3Testa in laboratorio o su un DC non critico; assicurati di avere backup aggiornati prima di Eliminated.
Interruzioni GPOLimita modifiche ai GPO durante il passaggio da Prepared a Redirected; verifica subito l’applicazione su client campione.

Procedura consigliata (riassunto esecutivo)

  1. Verifiche preliminari
    • Tutti i DC ≥ Windows Server 2008; livello funzionale del dominio ≥ 2008.
    • Replica AD sana (repadmin) e FRS senza errori.
    • Backup di stato del sistema e GPO esistenti.
  2. Esegui la migrazione per fasi dfsrMig /setGlobalState 1 # Prepared dfsrMig /getMigrationState # attende convergenza dfsrMig /setGlobalState 2 # Redirected dfsrMig /getMigrationState dfsrMig /setGlobalState 3 # Eliminated dfsrMig /getMigrationState
  3. Controlli post-fase
    • Eventi 4602/4604 indicano inizializzazione e servizio SYSVOL attivo.
    • Dallo stato 2, la condivisione SYSVOL punta a ...\SYSVOL_DFSR.
    • Assenza di errori DFSR/4012; backlog a zero.

Note importanti sugli eventi

  • 4602/4604: positivi — DFSR ha inizializzato/sta servendo SYSVOL.
  • 4612: non significa “convergenza”, ma che il DC attende la replica iniziale. Se persiste, indaga i partner di replica.
  • 4012: replica fermata per eccessivo periodo offline; valuta D2/D4.

Checklist finale e pulizia

  • dfsrMig /getmigrationstate mostra tutti i DC allo stato Eliminated.
  • La condivisione SYSVOL mappa SYSVOL_DFSR su ogni DC interessato.
  • Sui DC legacy, FRS è in stato Disabled: sc query NtFrs sc qc NtFrs
  • Documenta il cambio e aggiorna le procedure interne (promozione nuovi DC, ripristini, esclusioni AV).

Conclusione

Il dominio è fermo allo stato iniziale Start; non è stata avviata alcuna migrazione reale. Per passare in sicurezza da FRS a DFSR imposta in sequenza gli stati 1 → 2 → 3, avanzando solo dopo convergenza completa. Con prerequisiti rispettati, monitoraggio degli eventi (4602/4604) e attenzione ai possibili blocchi (4612/4012), il percorso è lineare e non impatta la continuità del servizio dei GPO. Al termine, l’ambiente sarà allineato alle best practice moderne e pronto ad accogliere DC di ultima generazione.


Appendice: comandi utili

# Stato globale e di migrazione
dfsrMig /getGlobalState
dfsrMig /getMigrationState

Forza lettura config DFSR

dfsrdiag PollAD

Riepilogo replica AD

repadmin /replsummary

Verifica condivisione e path

Get-SmbShare -Name SYSVOL
net share

Verifica backlog DFSR SYSVOL

dfsrdiag backlog /rgname:"Domain System Volume" /rfname:"SYSVOL Share" /sendingmember: /receivingmember: 
Indice