Una delle novità introdotte dalla SP1 di exchange 2010 nell’ambito dell’alta affidabilità, riguarda una nuova forma di continuous replication denominata “block mode”. Questo tipo di replica, non va a sostiture quella tradizionale (chiamata “file mode”) presente in RTM, ma solo ad affiancarla e viene attivata automaticamente.

Continuous replication - file mode 
Richiede che ogni file del transaction sia chiuso prima di essere copiato su tutti server che ospitano una copia passiva del database
Continuous replication - block mode
Tutte le modifiche che vengono scritte nel log buffer della copia attiva del DAG, vengono replicate su tutti i nodi passivi che hanno una copia del database. Quando il log buffer è pieno, viene verificato, applicato e successivamente creato un nuovo log

L’utilizzo del modello di replica in Block Mode riduce di molto la latenza nel processo di replica e di conseguenza l’eventuale perdita di modifiche non committate in caso di fail non programmato. Se il block mode è attivo in caso di fail, il nodo passivo è in grado di utilizzare le informazioni presenti nel log buffer locale per avviare il processo di ativazione

Il processo inziale si avvia sempre in file mode, questo vuol dire che l’allineamento dei dati fra i nodi del DAG avviene tramite la copia dei file di log già chiusi sul nodo attivo. Quando la copia dei file è terminata e viene raggiunto il log buffer (il file che attualmente è attivo e su cui vengono scritte le modifiche) allora la replica passa in automatico da file mode a block mode

Per determinare lo stato della replica si puo utilizare il performance couter Continuous replication – block mode Active sotto MSExchange Replication. Li sono presenti tutti i database ed il valore del counter è 0 se in file mode è 1 se in block mode

In alternativa si puo utilizzare il comando
Get-Counter -ComputerName <DAGMemberName> -Counter "\MSExchange Replication(*)\Continuous replication - block mode Active" Get-WMIObject -ComputerName <DAGMemberName> Win32_PerfRawData_MSExchangeReplication_MSExchangeReplication | Where-Object {$_.ContinuousReplicationBlockModeActive -eq "1"} | Where-Object {$_.name -ne "_total"} | format-table Name,ContinuousReplicationBlockModeActive