DFS Namespaces ve DFS Replication ile Coğrafi Yedeklilik Tasarımı

DFS Namespaces ve DFS Replication ile Coğrafi Yedeklilik Tasarımı
Yazı Özetini Göster

DFS Namespaces ve DFS Replication ile Coğrafi Yedeklilik Tasarımı

Distributed File System (DFS), kurum içi ve çok lokasyonlu yapılarda dosya erişimini mantıksal bir ad alanında (namespace) birleştirir ve verileri siteler arası çoğaltarak (DFSR) kesintisiz erişim sağlar. Bu rehberde, çok bölgeli (branch + HQ) senaryolarda DFS Namespaces (DFSN) ve DFS Replication (DFSR) kullanarak coğrafi yedeklilik, yük devretme ve bant genişliği kontrollü replikasyon tasarımını adım adım ele alıyoruz.

Neden DFS ile Coğrafi Yedeklilik?

  • Tek mantıksal adres: \\domain.local\Kurumsal gibi tek bir kök altında çok sayıda dosya sunucusunu şeffaflaştırır.
  • Yerel okuma: Kullanıcılar kendi sitesindeki kopyadan okur; gecikme azalır.
  • Arızaya dayanıklılık: Bir düğüm devre dışı kalırsa istemci diğer hedefe yönlenir.
  • Planlı WAN kullanımı: DFSR, Remote Differential Compression (RDC) ile yalnız değişen blokları taşır; zamanlamayla ve kotalarla yönetilir.

Mimari Bileşenler

  • DFSN Kökü (Namespace Root): Domain-based (önerilir) veya Stand-alone.
  • Folder Targets: Aynı klasörün farklı sunuculardaki hedefleri.
  • DFSR Replikasyon Grupları: Birden çok üye ve replikasyon klasörü.
  • Active Directory Sites & Services: Site/link topolojisi ve maliyetler istemci hedef seçimini etkiler.

Ön Koşullar ve En İyi Uygulamalar

  • Windows Server 2019/2022 + güncel etki alanı/ormanı, doğru Site/Subnet tanımları.
  • DFS ad alanı ve DFSR için yeterli disk, NTFS/ReFS ve ayrı staging alanı.
  • Antivirüs staging, conflictanddeleted ve replikasyon köklerini dışlama.
  • DFS kökünü çok sunuculu (namespace server) kurarak yüksek erişilebilirlik sağlayın.

Adım 1 – DFS Rolleri Kurulumu

# PowerShell (hedef sunucularda)
Install-WindowsFeature FS-DFS-Namespace, FS-DFS-Replication -IncludeManagementTools

Adım 2 – Domain-based Namespace Oluşturma

# Örnek: \\domain.local\Kurumsal
New-DfsnRoot -TargetPath "\\HQ-FS01\Kurumsal$" `
             -Path "\\domain.local\Kurumsal" `
             -Type DomainV2 -EnableSiteCosting $true

İkinci bir namespace sunucusu ekleyerek kökü çoklayın:

New-DfsnRootTarget -Path "\\domain.local\Kurumsal" -TargetPath "\\HQ-FS02\Kurumsal$"

Adım 3 – Klasör ve Hedeflerin Tanımı

# Mantıksal klasörler
New-DfsnFolder -Path "\\domain.local\Kurumsal\Paylasimlar" -TargetPath "\\HQ-FS01\Paylasimlar$"
New-DfsnFolderTarget -Path "\\domain.local\Kurumsal\Paylasimlar" -TargetPath "\\BR-FS01\Paylasimlar$"
# Site'lara göre hedef sırası (Referral Ordering)
Set-DfsnFolder -Path "\\domain.local\Kurumsal\Paylasimlar" -TargetPriorityClass GlobalHigh

Adım 4 – DFSR Replikasyon Grubu Tasarımı

HQ ve Branch arasında iki yönlü çoğaltma genellikle yeterlidir. Hub-and-Spoke (Merkez çok şube) veya Full Mesh (az düğüm) topolojisi tercih edilir.

# Replikasyon grubu
New-DfsReplicationGroup -GroupName "RG-Paylasimlar"
Add-DfsrMember -GroupName "RG-Paylasimlar" -ComputerName "HQ-FS01","BR-FS01"

# Replike edilecek klasör
New-DfsReplicatedFolder -GroupName "RG-Paylasimlar" -FolderName "Paylasimlar"

# Üye klasörlerinin yeri
Set-DfsrMembership -GroupName "RG-Paylasimlar" -FolderName "Paylasimlar" `
  -ContentPath "D:\Data\Paylasimlar" -ComputerName "HQ-FS01" -StagingPath "D:\DFSR\Staging"
Set-DfsrMembership -GroupName "RG-Paylasimlar" -FolderName "Paylasimlar" `
  -ContentPath "E:\Data\Paylasimlar" -ComputerName "BR-FS01" -StagingPath "E:\DFSR\Staging"

# Bağlantı (Connection) ve zamanlama
Add-DfsrConnection -GroupName "RG-Paylasimlar" -SourceComputerName "HQ-FS01" `
  -DestinationComputerName "BR-FS01" -Schedule "Always" -DisableRDC:$false

Başlangıç Senkronizasyonu (Pre-seeding)

WAN yükünü azaltmak için ilk kopyayı robocopy ile taşıyın:

robocopy D:\Data\Paylasimlar \\BR-FS01\E$\Data\Paylasimlar /MIR /COPY:DATSO /R:2 /W:5 /MT:32

Bant Genişliği ve Zamanlama

Düşük bant genişliği saatlerinde çoğaltın; gündüz kısıtlayın.

# Örnek: 08:00-20:00 arası %25, diğer zamanlar %100
Set-DfsrConnection -GroupName "RG-Paylasimlar" `
  -SourceComputerName "HQ-FS01" -DestinationComputerName "BR-FS01" `
  -Priority Medium
# Ayrıntılı takvim için GUI'de Schedule 15 dakikalık bloklarla ayarlanır.

Adım 5 – İstemci Yönlendirmesi ve Site Farkındalığı

  • EnableSiteCosting açık olduğunda istemciler en düşük maliyetli (kendi sitesi) hedefe yönlenir.
  • Referral Ordering: Local target → same-site → other-site sırası.
  • Target Failback: Birincil hedef geri gelince otomatik dönüş (opsiyonel) – dosya sunucusu yük dengesini etkiler.

Sağlık Kontrolü ve İzleme

# Giden/gelen backlog
dfsrdiag backlog /rgname:RG-Paylasimlar /rfname:Paylasimlar `
  /sendingmember:HQ-FS01 /receivingmember:BR-FS01

# Replikasyon durumu
Get-DfsrState

# Olay günlüğü
Get-WinEvent -LogName "DFS Replication" -MaxEvents 20 | Format-Table TimeCreated,Id,Message -Auto

DFS Management → Create Diagnostic Report ile ayrıntılı Health Report üretin. Çok lokasyonlu yapılarda raporu düzenli alıp arşivleyin.

Çatışmalar ve Sürümleme

  • DFSR son yazar kazanır mantığıyla çalışır; Conflict and Deleted klasöründe 30–60 gün tutma politikası önerilir.
  • Dosya kilidi gereken senaryolarda uygulama taraflı document locking veya tek yazma–çok okuma desenini kullanın.

Staging, Boyutlandırma ve Temizlik

  • Staging size: replike klasör boyutunun %10–20’si (büyük dosya akışlarında daha yüksek).
  • Antivirüs dışlamaları: staging, conflictanddeleted, dfsrprivate.
  • Disk izleme: Staging dolarsa replikasyon yavaşlar; Quota ve temizleme eşiklerini kontrol edin.

Topoloji Örnekleri

# Hub-and-Spoke (Merkez: HQ)
HQ-FS01  ←→  BR1-FS01
    ║           ↑
    ║           └── BR2-FS01
    ╚══════════════ BR3-FS01

Not: Şube–şube arası trafiği engellemek için Hub-and-Spoke tercih edilir. Az sayıda düğümde Full Mesh düşük gecikmede iyi sonuç verir.

Felaket Kurtarma ve Geri Yükleme

  • Read-only üyeler: Şube tarafında yanlışlıkla silmeleri önlemek için bazı hedefleri ReadOnly yapabilirsiniz.
  • Düğüm kaybı: Yeni sunucuyu gruba ekleyip pre-seed uygulayın; sonra DFSN hedefini ekleyerek geçiş yapın.
  • NTFS anlık görüntüler: Shadow Copies ile kullanıcı tabanlı geri yükleme (Previous Versions).

Güvenlik ve Yetkilendirme

  • DFS ad alanı ve hedeflerde NTFS izinleri tutarlı olmalı; Least Privilege.
  • Access-based enumeration (ABE) açın; kullanıcı görmemesi gereken klasörü görmesin.
  • Yönetim erişimini ayrı bir gruba atayın; değişiklikler GPO ile denetlenebilir.

Performans İpuçları

  • Büyük dosyalarda RDC etkin bırakın; ufak dosya fırtınalarında kapatmak daha iyi olabilir.
  • WAN optimizasyon cihazı varsa DFSR bant planı ile çakışmayacak şekilde kurgulayın.
  • Disk alt yapısını NVMe/SAS ile hızlandırın; kurumsal projelerde Premium VDS ve Sunucu Barındırma seçenekleri replikasyon penceresini daraltır.

Sonuç

DFS Namespaces + DFS Replication ile tek bir mantıksal yol üzerinden yerel okuma, bant genişliği dostu çoğaltma ve otomatik yük devretme elde edilir. Doğru topoloji, staging boyutu, RDC ve zamanlama ayarlarıyla coğrafi yedeklilik güvenli ve verimli çalışır. Kurumsal ölçekte esnek, hızlı ve dayanıklı bir dosya hizmeti için HostLigo altyapılarıyla mimarinizi ölçekleyebilirsiniz.

Bir Yorum Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer Yazılar