AutoReseed nedir, neyi çözer?
DAG (Database Availability Group) üyesi bir sunucuda, bir veritabanı kopyasını taşıyan disk arızalanır ya da bozulursa, ilgili kopya FailedAndSuspended durumuna düşer. AutoReseed; ortamda hazır bekleyen yedek (spare) disk varsa, bu diski otomatik hazırlayıp (format/mount), veritabanı kopyasını yeniden tohumlayarak (reseed) yedekliliği insan müdahalesi olmadan geri getirir.
Kısacası: Dizayn doğruysa, disk arızası → spare diske otomatik geçiş → reseed → kopya tekrar sağlıklı.
Önemli not: AutoReseed fiziksel disk takma/çıkarma işini yapmaz. Donanım değişimi yine yöneticinin sorumluluğunda; AutoReseed, yazılım tarafındaki otomasyonu sağlar.
Temel çalışma mantığı
- MSExchangeRepl servisi periyodik olarak kopyaları tarar.
- Kopya FailedAndSuspended ise, hızlı “resume/suspend” denemelerinden sonuç alamazsa spare diski Disk Reclaimer ile hazırlar.
- Hedef mount point’e InPlaceSeed yapar (gerekirse var olan dosyaları güvenli temizleyerek).
- Kopya senkronize olur, Content Index toparlanır, DAG yedekliliği geri gelir.
Tasarımın kalbi: Dizayn ilkeleri ve klasör/mount şablonu
1. Standart kök yollar
AutoReseed’in beklediği varsayılan şablon:
- C:\ExchangeVolumes → Tüm veri ve spare volume’lar bunun altında mount edilir.
- C:\ExchangeDatabases → Her veritabanı için mount point klasörleri ve altında DB/LOG klasörleri burada yer alır.
2. Her DB için zorunlu klasör adlandırma
Her veritabanı için aynı isim kalıbı kullanılmalı:
C:\ExchangeDatabases\<DB_ADI>\<DB_ADI>.db
C:\ExchangeDatabases\<DB_ADI>\<DB_ADI>.log
Bu isim/konumlandırma kritiktir. Farklı isim ya da yol kullanırsanız AutoReseed tetiklenmez.
3. 1 DB = 1 Volume
Performans, izolasyon ve basitlik için en yaygın pratik: Her disk üzerinde tek bir DB (DB ve LOG aynı volümde).
- Dosya sistemi: ReFS
- Allocation Unit: 64K
- RAID yerine JBOD (DAG ile birlikte ölçekli tasarım).
4. Spare (yedek) disk
Her DAG üyesinde en az 1 boş volume’u C:\ExchangeVolumes altında mount edilmiş ve kullanılmaya hazır tutun. Arıza anında AutoReseed bu diski otomatik devreye alır.
DAG üzerinde AutoReseed parametrelerini tanımlama
1. Kök yolları ve kapasite (DB/volume)
# DAG adınızı değiştirin
$Dag = "DAG01"
# Kök klasörler
Set-DatabaseAvailabilityGroup $Dag `
-AutoDagDatabasesRootFolderPath "C:\ExchangeDatabases" `
-AutoDagVolumesRootFolderPath "C:\ExchangeVolumes"
# Her volume üzerindeki DB kopyası sayısı (öneri: 1)
Set-DatabaseAvailabilityGroup $Dag -AutoDagDatabaseCopiesPerVolume 1
# AutoReseed / Disk Reclaimer / Otomatik yeniden dağıtım
Set-DatabaseAvailabilityGroup $Dag `
-AutoDagAutoReseedEnabled $true `
-AutoDagDiskReclaimerEnabled $true `
-AutoDagAutoRedistributeEnabled $true # 2016+ varsayılan genelde true
Doğrulama:
Get-DatabaseAvailabilityGroup $Dag | fl *auto*
2. (İsteğe bağlı) BitLocker / MCDB
- Diskleri şifreleyecekseniz DAG seviyesinde AutoDagBitlockerEnabled’ı planlayın.
- Exchange 2019’un MCDB (Metacache DB) senaryolarında Disk Reclaimer/AutoReseed ilişkisini göz önünde bulundurun.
Sunucu tarafı hazırlık (her DAG üyesinde)
1. Kök klasörler
md C:\ExchangeDatabases
md C:\ExchangeVolumes
2. Volume’ları mount etme
Disk Yönetimi veya mountvol ile her veri ve spare disk için mount point oluşturun:
mountvol C:\ExchangeVolumes\Volume1 \\?\Volume{GUID-OF-VOLUME1}\
mountvol C:\ExchangeVolumes\Volume2 \\?\Volume{GUID-OF-VOLUME2}\
...
Hangi GUID hangi disk? mountvol çıktısından ya da Disk Yönetimi’nden görebilirsiniz.
3. Veritabanı mount point’leri
Örneğin 2 DB + 1 spare senaryosunda:
md C:\ExchangeDatabases\db001
md C:\ExchangeDatabases\db002
mountvol C:\ExchangeDatabases\db001 \\?\Volume{GUID-OF-VOLUME1}\
mountvol C:\ExchangeDatabases\db002 \\?\Volume{GUID-OF-VOLUME2}\
md C:\ExchangeDatabases\db001\db001.db
md C:\ExchangeDatabases\db001\db001.log
md C:\ExchangeDatabases\db002\db002.db
md C:\ExchangeDatabases\db002\db002.log
Spare volume için C:\ExchangeVolumes altında mount edili olması yeterli; AutoReseed gerektiğinde onu kullanacaktır.
Veritabanlarını şablona göre oluşturma (örnek)
New-MailboxDatabase `
-Name "db001" `
-Server "MBX01" `
-EdbFilePath "C:\ExchangeDatabases\db001\db001.db\db001.edb" `
-LogFolderPath "C:\ExchangeDatabases\db001\db001.log"
# DAG’e kopya ekleme (klasik DAG operasyonu)
Add-MailboxDatabaseCopy -Identity db001 -MailboxServer MBX02 -ActivationPreference 2
Diğer DB’ler için aynı kalıbı uygulayın; ActivationPreference ile aktif olmasını istediğiniz sunucu sırasını belirleyin.
AutoReseed nasıl tetiklenir, nasıl izlenir?
1. İzleme komutları
# Genel kopya durumu
Get-MailboxDatabaseCopyStatus * |
ft Name,Status,CopyQueueLength,ReplayQueueLength,ContentIndexState -Auto
# Reseed ilerleme bilgileri
Get-MailboxDatabaseCopyStatus * | ft Name,Status,DatabaseSeedStatus -Auto
2. Sağlık testleri
Test-ReplicationHealth
3. Olay günlükleri
Uygulama günlüğünde (Application) MSExchangeRepl ve ilgili kaynak adlarıyla AutoReseed/Disk Reclaimer adımlarını görebilirsiniz. Arıza → spare disk hazırlığı → reseed → tamamlanma akışı burada kayıt altına alınır.
Gerçek hayatta doğrulama/test (lab önerisi)
Üretimde kesinlikle önerilmez. Lab ortamında AutoReseed davranışını görmek için:
- İlgili volume’ü offline edip kopyayı FailedAndSuspended durumuna düşürün.
- Spare volume’un hazır olduğundan emin olun.
- MSExchangeRepl birkaç denemeden sonra spare diski hazırlayıp reseed etmeli.
Get-MailboxDatabaseCopyStatusile DatabaseSeedStatus alanından ilerlemeyi izleyin.
Sık yapılan hatalar ve pratik çözümler
1) AutoReseed hiç tetiklenmiyor
- Klasör/isim şablonuna uymadınız:
C:\ExchangeDatabases\<DB>\<DB>.dbve<DB>.logzorunlu. - DB ve LOG aynı volume üzerinde olmalı (tasarım gereği).
- Spare disk C:\ExchangeVolumes altında mount edilmiş olmalı.
2) “Spare var ama kullanılmıyor”
- Spare volume’ın içinde veri bırakmayın; boş olmalı.
- Mount point yolunu ve izinleri kontrol edin.
- Disk Reclaimer’ın zamanlaması nedeniyle kısa gecikmeler normaldir.
3) Reseed sonrası içerik indeksi (CI) sorunları
- CI bazen yeniden oluşturulmayı isteyebilir:
Update-MailboxDatabaseCopy DB01\MBX02 -CatalogOnly
4) Reseed kaynağını değiştirme (bant genişliği/mesafe)
Update-MailboxDatabaseCopy DB01\MBX02 -SourceServer MBX03 -DeleteExistingFiles
5) Manuel kurtarma gerekirse
Suspend-MailboxDatabaseCopy DB01\MBX02
Update-MailboxDatabaseCopy DB01\MBX02 -DeleteExistingFiles
Resume-MailboxDatabaseCopy DB01\MBX02
Gelişmiş ayarlar ve ince ayar
- Otomatik yeniden dağıtım sıklığı (2016+):
Set-DatabaseAvailabilityGroup DAG01 -PreferenceMoveFrequency 01:00:00
- BitLocker:
AutoReseed/DisK Reclaimer ile birlikte çalışacaksa DAG seviyesinde planlayın; yedek disklerin otomatik hazırlanması sürecinde etkileşim vardır. - MCDB (Exchange 2019):
MCDB kullanıyorsanız disk planlamasını AutoReseed/DisK Reclaimer mantığına uygun yapın.
Kapasite ve operasyon planlama
- Spare disk sayısı: En az 1 önerilir; birden fazla disk aynı anda arızalanırsa, spare sayısını artırın.
- İzleme: Reseed trafiği, DAG replikasyon trafiği ve disk IO’yu izleyin (özellikle üretimde).
- Bakım penceresi: Büyük reseed’lerde ağ/disk yoğunluğu artar; planlı bakım aralıkları tanımlayın.
- Dokümantasyon: DAG ayarları, volume/DB eşleşmeleri, ActivationPreference değerleri ve runbook’u güncel tutun.
Örnek Topoloji
- Sürüm: Exchange 2019/SE (AutoReseed + MCDB destekli).
- DAG:
DAG01 - Sunucular:
MBX01,MBX02,MBX03(her DB için 3 kopya: 1 aktif + 2 pasif) - DB sayısı: 25 (DB01…DB25)
- Disk modeli: 1 DB = 1 Volume (ReFS, 64K AU, JBOD)
- Mount şablonu
- Volume kökü:
C:\ExchangeVolumes\VolumeXX - DB mount noktası:
C:\ExchangeDatabases\DBXX - DB içi klasörler:
C:\ExchangeDatabases\DBXX\DBXX.dbC:\ExchangeDatabases\DBXX\DBXX.log
- Volume kökü:
- BitLocker: Veri ve MCDB volume’larında TPM+Recovery (anahtarları AD’ye/GPO ile yedekle)
- MCDB (SSD): Her sunucuda en az 2 SSD volume (ör.
MCDB01,MCDB02) – mount:C:\ExchangeMCDB\MCDB01,C:\ExchangeMCDB\MCDB02 - Spare yaklaşımı: Fiziksel disk arızasında yedek (spare) volume tak-çalıştır. Windows’ta önceden
C:\ExchangeVolumes\Spare01,Spare02mount klasörlerini hazır tut (disk takılınca bu mount path’e bağlayacaksın). Böylece “25 diskli” başlangıçta korunur; arıza anında yeni disk takıp spare rolüyle bağlayarak AutoReseed’e yakıt verirsin.
Not: AutoReseed disk takıp bağlayınca çalışır. Boş “spare” volume’un mount path’i hazır olsa da fiziksel diskin gerçekten takılması gerekir.
Aktivasyon (ActivationPreference) Planı
Denge için 25 DB’i 3 sunucuya dağıt:
- MBX01 aktif: DB01–DB09
- MBX02 aktif: DB10–DB17
- MBX03 aktif: DB18–DB25
Kopyalar karşı düğümlerde olacak (her DB’de toplam 3 kopya). ActivationPreference sıralamasıyla bunu netleştireceğiz.
DAG/AutoReseed/BitLocker/MCDB Tasarım Parametreleri
- Kök dizinler:
C:\ExchangeDatabasesC:\ExchangeVolumes- (MCDB için)
C:\ExchangeMCDB
- DAG AutoReseed parametreleri:
AutoDagDatabasesRootFolderPath = C:\ExchangeDatabasesAutoDagVolumesRootFolderPath = C:\ExchangeVolumesAutoDagDatabaseCopiesPerVolume = 1AutoDagAutoReseedEnabled = $trueAutoDagDiskReclaimerEnabled = $trueAutoDagAutoRedistributeEnabled = $true- BitLocker:
AutoDagBitlockerEnabled = $true(BitLocker politikalarını/GPO’yu hazırla)
- Volume’lar: ReFS, 64K Allocation Unit, Label:
EXVOL01…EXVOL25(MCDB’ler SSD üzerinde:MCDB01…)
Güvenli Kurulum Sırası
- Hazırlık (00-VolumePrep.ps1)
- Kök klasörleri oluştur.
- Diskleri ReFS/64K biçimlendir, etiketle (EXVOL01–25).
- İki mount path ver:
C:\ExchangeVolumes\VolumeXX(Disk Reclaimer’in beklediği)C:\ExchangeDatabases\DBXX(DB’nin mount path’i)
- Alt klasörler:
DBXX.db,DBXX.log - BitLocker: TPM+Recovery ile etkinleştir, recovery anahtarlarını AD’ye gönder (GPO).
- MCDB SSD’leri için mount path’leri hazırla ve şifrele.
- DAG/AutoReseed Ayarı (01-DAG-AutoReseed.ps1)
- Yukarıdaki DAG parametrelerini ayarla.
- DB’leri oluştur/kopyala (02-DB-CreateAndCopy.ps1)
- DB01–DB25’i (ör. MBX01 üzerinde) oluştur.
- Kopyaları MBX02/MBX03’e ekle.
- ActivationPreference’ı plana göre ayarla.
- Doğrulama (03-Validation.ps1)
Get-MailboxDatabaseCopyStatus/Test-ReplicationHealth- “DatabaseSeedStatus”, Event log’lar, BitLocker durumu.
- Lab’da arıza senaryosu simülasyonu (mountvol offline/online) ile AutoReseed gözlemi.
PowerShell: 00-VolumePrep.ps1 (Sunucu başına)
Amaç: 25 veri volume’unu biçimlendir, mount et, DB klasörlerini oluştur, BitLocker’ı aç.
Girdi: Disk eşlemelerini bir CSV’de tut (her sunucu farklı olabilir).
CSV örneği (Server üzerinde çalıştırılacak):
DiskNumber,DbName,VolLabel
3,DB01,EXVOL01
4,DB02,EXVOL02
...
27,DB25,EXVOL25
Script:
param(
[Parameter(Mandatory=$true)] [string]$CsvPath,
[switch]$SkipFormat, # Diskler önceden formatlıysa
[switch]$SkipBitLocker # BitLocker'ı sonra açmak istersen
)
$DbRoot = "C:\ExchangeDatabases"
$VolRoot = "C:\ExchangeVolumes"
$McdbRoot = "C:\ExchangeMCDB"
# Kök klasörler
$null = New-Item -ItemType Directory -Path $DbRoot -ErrorAction SilentlyContinue
$null = New-Item -ItemType Directory -Path $VolRoot -ErrorAction SilentlyContinue
$null = New-Item -ItemType Directory -Path $McdbRoot -ErrorAction SilentlyContinue
# CSV yükle
$map = Import-Csv $CsvPath
function Ensure-Dir($p){ if(-not (Test-Path $p)){ New-Item -ItemType Directory -Path $p | Out-Null } }
foreach($row in $map){
$diskNo = [int]$row.DiskNumber
$dbName = $row.DbName.Trim()
$label = $row.VolLabel.Trim()
$volPath1 = Join-Path $VolRoot ("Volume" + $dbName.Substring(2)) # Volume01…Volume25
$dbPath = Join-Path $DbRoot $dbName # C:\ExchangeDatabases\DB01
Ensure-Dir $volPath1
Ensure-Dir $dbPath
# Alt klasörler
Ensure-Dir (Join-Path $dbPath "$dbName.db")
Ensure-Dir (Join-Path $dbPath "$dbName.log")
if(-not $SkipFormat){
$disk = Get-Disk -Number $diskNo -ErrorAction Stop
if($disk.PartitionStyle -eq 'RAW'){
Initialize-Disk -Number $diskNo -PartitionStyle GPT -PassThru | Out-Null
}
$part = Get-Partition -DiskNumber $diskNo -ErrorAction SilentlyContinue
if(-not $part){
$part = New-Partition -DiskNumber $diskNo -UseMaximumSize -IsActive:$true
}
# ReFS 64K
Format-Volume -Partition $part -FileSystem ReFS -NewFileSystemLabel $label -AllocationUnitSize 65536 -Force -Confirm:$false
}
# Mount path 1 (C:\ExchangeVolumes\VolumeXX)
$part = (Get-Partition -DiskNumber $diskNo | Sort-Object -Property Size -Descending | Select-Object -First 1)
if(-not ($part.AccessPaths -contains $volPath1)){
Add-PartitionAccessPath -DiskNumber $diskNo -PartitionNumber $part.PartitionNumber -AccessPath $volPath1
}
# Mount path 2 (C:\ExchangeDatabases\DBXX)
if(-not ($part.AccessPaths -contains $dbPath)){
Add-PartitionAccessPath -DiskNumber $diskNo -PartitionNumber $part.PartitionNumber -AccessPath $dbPath
}
if(-not $SkipBitLocker){
# BitLocker: TPM + RecoveryPassword, anahtarı AD'ye yedeklemek için GPO kullanın.
# Aşağıdaki komut, recovery parolasını otomatik oluşturur ve AD'ye yedekler (GPO doğru ise).
# Alternatif: manage-bde -on $dbPath -RecoveryPassword
try {
$status = (Get-BitLockerVolume -MountPoint $dbPath -ErrorAction Stop)
if($status.ProtectionStatus -eq 'Off'){
Enable-BitLocker -MountPoint $dbPath -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector -RecoveryPasswordProtector | Out-Null
Write-Host "BitLocker başlatıldı: $dbName ($dbPath)"
}
} catch {
Write-Warning "BitLocker hata: $dbName ($dbPath) -> $_"
}
}
}
# MCDB SSD volume'ları (elle/dışarıdan) ekleyeceksin; mount path'leri burada oluşturuluyor
1..2 | ForEach-Object {
$p = Join-Path $McdbRoot ("MCDB{0:D2}" -f $_)
Ensure-Dir $p
}
Write-Host "00-VolumePrep tamam."
Not: Disk numaraları/etiketler ortama göre değişir. MCDB SSD’lerini de benzer yöntemle biçimlendirip C:\ExchangeMCDB\MCDB01/02’ye mount edip BitLocker açın.
PowerShell: 01-DAG-AutoReseed.ps1
param(
[string]$Dag = "DAG01",
[string]$DbRoot = "C:\ExchangeDatabases",
[string]$VolRoot = "C:\ExchangeVolumes"
)
Set-DatabaseAvailabilityGroup $Dag `
-AutoDagDatabasesRootFolderPath $DbRoot `
-AutoDagVolumesRootFolderPath $VolRoot `
-AutoDagDatabaseCopiesPerVolume 1 `
-AutoDagAutoReseedEnabled $true `
-AutoDagDiskReclaimerEnabled $true `
-AutoDagAutoRedistributeEnabled $true `
-AutoDagBitlockerEnabled $true
Get-DatabaseAvailabilityGroup $Dag | fl Name,*auto*,AutoDag*
Write-Host "01-DAG-AutoReseed tamam."
PowerShell: 02-DB-CreateAndCopy.ps1
Amaç: DB’leri oluştur, kopyaları ekle, ActivationPreference ayarla.
Girdi: DB–Sunucu–Path haritası (CSV ya da kod içi tablo).
CSV örneği (her DB için EDB/LOG mount path’leri):
DbName,ActiveServer,EdbPath,LogPath
DB01,MBX01,C:\ExchangeDatabases\DB01\DB01.db\DB01.edb,C:\ExchangeDatabases\DB01\DB01.log
DB02,MBX01,C:\ExchangeDatabases\DB02\DB02.db\DB02.edb,C:\ExchangeDatabases\DB02\DB02.log
...
DB09,MBX01, ...
DB10,MBX02, ...
...
DB17,MBX02, ...
DB18,MBX03, ...
...
DB25,MBX03, ...
Script:
param(
[Parameter(Mandatory=$true)] [string]$CsvPath,
[string[]]$PassiveServers = @("MBX02","MBX03") # Sıra önemli değil, AP ile düzenleyeceğiz
)
$items = Import-Csv $CsvPath
foreach($row in $items){
$db = $row.DbName
$act = $row.ActiveServer
$edb = $row.EdbPath
$log = $row.LogPath
if(-not (Get-MailboxDatabase -Identity $db -ErrorAction SilentlyContinue)){
New-MailboxDatabase -Name $db -Server $act -EdbFilePath $edb -LogFolderPath $log -IsExcludedFromProvisioning $false
Mount-Database $db
} else {
Write-Host "$db zaten mevcut."
}
# Kopyaları ekle
foreach($srv in $PassiveServers){
if($srv -ne $act){
if(-not (Get-MailboxDatabaseCopyStatus "$db\$srv" -ErrorAction SilentlyContinue)){
Add-MailboxDatabaseCopy -Identity $db -MailboxServer $srv -SeedingPostponed:$false
}
}
}
}
# ActivationPreference (AP) planı
# AP=1 aktif sunucu, AP=2 ve AP=3 pasifler (dağılım planına göre ayarla)
function Set-AP($db,$ap1,$ap2,$ap3){
Set-MailboxDatabaseCopy -Identity "$db\$ap1" -ActivationPreference 1
Set-MailboxDatabaseCopy -Identity "$db\$ap2" -ActivationPreference 2
Set-MailboxDatabaseCopy -Identity "$db\$ap3" -ActivationPreference 3
}
# Örnek dağılım: MBX01 aktif DB01-DB09; MBX02 aktif DB10-DB17; MBX03 aktif DB18-DB25
1..9 | % { $d="DB{0:D2}" -f $_; Set-AP $d "MBX01" "MBX02" "MBX03" }
10..17 | % { $d="DB{0:D2}" -f $_; Set-AP $d "MBX02" "MBX03" "MBX01" }
18..25 | % { $d="DB{0:D2}" -f $_; Set-AP $d "MBX03" "MBX01" "MBX02" }
Write-Host "02-DB-CreateAndCopy tamam."
İsterseniz -SeedingPostponed:$true ile seed sonra başlatırsın büyük ortamlarda bant genişliği planlaması için yararlı.
PowerShell: 03-Validation.ps1
# DAG replike sağlık
Test-ReplicationHealth | ft Check,Result,Error -Auto
# Kopya durumları
Get-MailboxDatabaseCopyStatus * |
ft Name,Status,CopyQueueLength,ReplayQueueLength,ContentIndexState,DatabaseSeedStatus -Auto
# BitLocker
Get-BitLockerVolume | ft MountPoint,VolumeType,ProtectionStatus,EncryptionMethod,EncryptionPercentage -Auto
# Son Exchange ilgili uyarı/hatalar
Get-WinEvent -LogName Application -MaxEvents 200 |
? {$_.ProviderName -like "*Exchange*" -and $_.LevelDisplayName -match "Warning|Error"} |
select TimeCreated,ProviderName,Id,LevelDisplayName,Message | more
MCDB Notları (Plan/Pratik)
- Donanım: Düşük gecikmeli SSD (NVMe tercih), her sunucuya en az 2 MCDB volume.
- Mount:
C:\ExchangeMCDB\MCDB01,MCDB02(ReFS + 64K + BitLocker). - Yerleşim: MCDB veri taşımıyor; ESE metadata’yı SSD’de önbellekler → IO düşer, gecikme azalır.
- AutoReseed entegrasyonu: SSD değişiminde de aynı AutoReseed/Disk Reclaimer mimarisi çalışır (SSD’yi önceden mount path’ine bağlayın).
- Boyutlandırma: Metadata hacmi, posta kutusu sayısı ve database büyüklüklerine göre değişir; SSD’de fazladan boşluk bırak.
- Operasyon: SSD arızasında yeni SSD’yi aynen aynı mount path’e tak/biçimlendir/şifrele; Exchange otomatik toparlar.
MCDB’yi açma/kapama ve ileri ayarlar üretim belgelerine göre yapılmalıdır; burada mount/şifreleme/AutoReseed entegrasyon kısmı standartlaştırıldı.
Doğrulama Checklist’i
A. Dosya/Disk Yapısı
C:\ExchangeDatabases&C:\ExchangeVolumes&C:\ExchangeMCDBmevcut- Her DB için:
C:\ExchangeDatabases\DBXX\DBXX.dbveDBXX.logvar - Her veri diski ReFS/64K ve iki mount path’e bağlı:
C:\ExchangeVolumes\VolumeXXC:\ExchangeDatabases\DBXX
- BitLocker ProtectionStatus=On (DB ve MCDB volume’ları)
- (Opsiyon)
Spare01/Spare02mount klasörleri hazır (disk takılınca mount edilecek)
B. DAG/AutoReseed
Get-DatabaseAvailabilityGroup DAG01 | fl *auto*→ kök yollar/Flags doğruAutoDagDatabaseCopiesPerVolume = 1AutoDagAutoReseedEnabled = True,AutoDagDiskReclaimerEnabled = True,AutoDagBitlockerEnabled = True
C. DB ve Kopyalar
Get-MailboxDatabaseCopyStatus *→ Healthy/Mounted/CIS=HealthyActivationPreferenceplanlandığı gibi (MBX01: DB01–09 vs.)DatabaseSeedStatusnormal (başlangıçta tohumlandı/bitmek üzere)
D. Sağlık ve Loglar
Test-ReplicationHealthtüm kontroller Passed- Application log’da MSExchangeRepl uyarıları yok (veya bilinen önemsiz)
- MCDB SSD’lerinde BitLocker açık, mount path’ler doğru
E. Lab Arıza Simülasyonu (Üretime uygulama)
- Disk offline/çıkartma → yeni disk tak/format/mount → AutoReseed log akışı gözlemlendi
- Reseed sonrası CopyQueue/ReplayQueue ~ 0, CIS=Healthy