Kullanıcıların bir dosya paylaşımına tek bir sunucu üzerinden eriştiği yapılarda, o sunucu kapandığında paylaşım da erişilemez hale gelir. DFS (Distributed File System) bu bağımlılığı iki bileşenle azaltır. DFS Namespaces (DFS-N), farklı sunuculardaki paylaşımları \\firatboyan.local\HomeFolders gibi tek bir Domain tabanlı yol altında toplar ve istemciyi erişilebilir bir sunucuya yönlendirir. DFS Replication (DFS-R) ise aynı klasörün içeriğini sunucular arasında eşitler. İkisi birlikte kullanıldığında bir dosya sunucusu kapansa bile istemci aynı yoldan diğer sunucudaki kopyaya ulaşır.
Bu yazıda iki Windows Server dosya sunucusu üzerinde DFS rol hizmetlerini kuruyor, Domain tabanlı bir Namespace ve iki yönlü bir Replication Group oluşturuyor, ardından bir sunucuyu kapatarak erişimin devam ettiğini test ediyorum. Örnek veri olarak Home Folders yapısını kullanıyorum. Kullanıcı verisinin DFS ile tutulmasında dikkat edilmesi gereken desteklenme sınırını da ilgili bölümde ayrıca anlatıyorum. Active Directory Site yapısının kurulması ve Home Folder'ların kullanıcılara Group Policy ile dağıtılması kapsam dışında.
Bu makale belirli bir Windows Server sürümüne bağlı değildir. DFS Namespaces ve DFS Replication rol hizmetleri Windows Server 2012'den Windows Server 2025'e kadar tüm sürümlerde bulunur ve makalede kullanılan DFS Management sihirbazları ile ayarlar bu sürümlerde aynıdır.
Ortamım şu şekilde: firatboyan.local Domain'inde Istanbul Site ve Antalya Site olarak iki Active Directory Site bulunuyor. Her Site'ta bir Domain Controller ve bir dosya sunucusu var. FILESRV001 ilk replikasyonda kaynak olacak sunucu, FILESRV002 ise ikinci üye.

1- DFS Namespaces ve DFS Replication Nasıl Çalışır?
DFS Namespaces, kullanıcının gördüğü yolu fiziksel sunuculardan ayırır. Domain tabanlı bir Namespace'in yapılandırması Active Directory'de tutulur. Namespace'i barındıran sunuculara Namespace Server denir. Namespace altındaki her klasör, bir veya birden fazla gerçek paylaşıma işaret eden Folder Target'lara sahiptir. İstemci bir yola eriştiğinde DFS Namespaces ona bir hedef listesi (Referral) verir. Listede istemcinin kendi Active Directory Site'ındaki hedefler önce ve kendi aralarında rastgele sırayla yer alır. Site dışındaki hedeflerin sırası Namespace'in Referral ayarına bağlıdır. İstemci listedeki ilk erişilebilir hedefe bağlanır, o hedef erişilemez olursa listedeki bir sonrakine geçer.
DFS Replication, bir Replication Group'taki üyeler arasında klasör içeriğini eşitler. Değişen dosyalar önce gönderen tarafta Staging klasöründe hazırlanır, ardından karşı tarafa aktarılır. 64 KB'tan büyük dosyalarda Remote Differential Compression (RDC) yalnızca değişen blokların gönderilmesini sağlar. Replikasyon çok yönlüdür (multi-master), yani her üyede yapılan değişiklik diğerlerine taşınır.
Bu yapıda HA iki ayrı katmanda sağlanır:
|
Katman |
HA Nasıl Sağlanır |
Bu Kurulumdaki Karşılığı |
|
Namespace kökü |
Namespace'in birden fazla Namespace Server'da barındırılması |
Adım 41 - İkinci Namespace Server'ın Eklenmesi |
|
Veri |
Klasörün birden fazla Folder Target'a sahip olması ve içeriğin DFS Replication ile eşitlenmesi |
7. bölümdeki Replication Group ve Adım 33 - Share and Publish in Namespace |
DFS Replication dosya kilitleme yapmaz. Aynı dosya iki sunucuda birbirinden habersiz değiştirilirse en son yazılan sürüm kalır, diğeri DfsrPrivate\ConflictAndDeleted klasörüne taşınır. Bu davranış, hangi verinin DFS ile nasıl tutulacağını doğrudan belirliyor.
Microsoft, DFS Replication ile replike edilen Home Folder ve Roaming Profile verisinin DFS Namespaces üzerinden ikinci sunucuya Failover edilmesini desteklemez. Bu makaledeki test, mekanizmayı göstermek içindir.
2- Ön Kontrol Listesi
Kuruluma başlamadan önce şu maddeleri doğruluyorum:
|
Kontrol |
Beklenen Durum |
|
Domain üyeliği ve Forest |
FILESRV001 ve FILESRV002 aynı Forest'taki Domain'lere üye. DFS Replication Workgroup'ta ve Forest'lar arasında çalışmaz |
|
Domain Functional Level |
En az Windows Server 2008 (Windows Server 2008 mode için) |
|
Active Directory replikasyonu |
Domain Controller'lar arasında hatasız |
|
Active Directory Site yapısı |
Istanbul Site ve Antalya Site tanımlı, Subnet'ler doğru Site'lara bağlı |
|
Yetki |
Kurulumu yapan hesap Domain Admins üyesi ya da Namespace ve Replication Group oluşturma yetkisi devredilmiş |
|
Dosya sistemi |
Replike edilecek klasörler NTFS Volume üzerinde, içinde EFS ile şifrelenmiş dosya yok |
|
Ağ |
DFS Replication üyeleri arasında TCP 135 ve dinamik RPC portları (TCP 49152-65535), istemcilerden her iki dosya sunucusuna TCP 445 açık |
|
Antivirüs |
Kullanılan antivirüs ürününün DFS Replication ile uyumlu olduğu üreticisiyle doğrulanmış |
Domain Functional Level Kontrolü
Namespace'i Windows Server 2008 mode ile oluşturacağım için Domain Functional Level'ın en az Windows Server 2008 olması gerekiyor. Bu mod Access-Based Enumeration desteği sağlar ve 5.000'den fazla klasörlü Namespace'lere izin verir. Kontrolü bir Domain Controller'da PowerShell ile yapıyorum.
Get-ADDomain | Select-Object DNSRoot, DomainMode
DomainMode değeri Windows2008Domain veya daha yüksek olmalı. Daha düşükse Namespace'i Windows Server 2008 mode olmadan oluşturmak ya da önce Domain Functional Level'ı yükseltmek gerekir.
Active Directory Replikasyon Kontrolü
Namespace ve Replication Group yapılandırması Active Directory'de tutulduğu için Domain Controller'lar arasında replikasyon hatası varsa yapılandırma diğer Site'taki sunucuya ulaşmaz. Kontrolü bir Domain Controller'da Command Prompt ile yapıyorum.
repadmin /replsummary
Çıktıdaki fails sütunu tüm Domain Controller'lar için 0 olmalı. Hata varsa DFS kurulumuna geçmeden önce Active Directory replikasyonunu düzeltiyorum.
Dosya Sistemi Kontrolü
DFS Replication yalnızca NTFS Volume'lerdeki klasörleri replike eder. Home Folders klasörünü oluşturacağım ikincil diskin dosya sistemini her iki sunucuda kontrol ediyorum. {Sürücü Harfi} yerine ikincil diskin harfini yazıyorum.
Get-Volume -DriveLetter {Sürücü Harfi} | Select-Object DriveLetter, FileSystemType
FileSystemType değeri NTFS olmalı.
Ağ Erişimi Kontrolü
DFS Replication, üyeler arasındaki replikasyon trafiğinde RPC kullanır ve TCP 135 ile dinamik RPC port aralığına (TCP 49152-65535) ihtiyaç duyar. TCP 445 (SMB) ise istemcilerin Namespace'e ve Folder Target'lara erişimi için gereklidir. Site'lar arasında bir firewall varsa replikasyon için gereken erişimi FILESRV001 üzerinden FILESRV002'ye, ardından ters yönde kontrol ediyorum.
Test-NetConnection -ComputerName FILESRV002 -Port 135
Dinamik RPC aralığı tek bir komutla test edilemediği için bu aralığın sunucular arasındaki firewall kuralında açık olduğunu ayrıca kontrol ediyorum. SMB erişimini ise istemci bilgisayardan her iki dosya sunucusuna doğru test ediyorum.
Test-NetConnection -ComputerName FILESRV001 -Port 445
Test-NetConnection -ComputerName FILESRV002 -Port 445
Tüm komutlarda TcpTestSucceeded değeri True olmalı. False dönerse ilgili yöndeki firewall kuralını düzeltiyorum.
3- Karar Tablosu
Sihirbazlarda vereceğim kararları kuruluma başlamadan önce topluyorum. Seçeneklerin ayrıntısı ilgili adımlarda yer alıyor.
|
Adım |
Ekran |
Verilecek Karar |
Bu Kurulumdaki Seçim |
|
Adım 13 |
Namespace Server |
Namespace'i ilk barındıracak sunucu |
FILESRV001 |
|
Adım 14 |
Namespace Name and Settings |
Namespace adı ve kök paylaşımın izinleri |
HomeFolders, Administrators have full access; other users have read and write permissions |
|
Adım 15 |
Namespace Type |
Domain-based veya Stand-alone, Windows Server 2008 mode |
Domain-based Namespace, Windows Server 2008 mode açık |
|
Adım 19 |
Replication Group Type |
Multipurpose veya Data Collection |
Multipurpose replication group |
|
Adım 21 |
Replication Group Members |
Replikasyona katılacak sunucular |
FILESRV001 ve FILESRV002 |
|
Adım 22 |
Topology Selection |
Hub and Spoke, Full Mesh veya No Topology |
Full Mesh |
|
Adım 23 |
Replication Group Schedule and Bandwidth |
Sürekli veya zamanlanmış replikasyon, bant genişliği |
Ortamın WAN kapasitesine göre belirlenir |
|
Adım 24 |
Primary Member |
İlk replikasyonda yetkili kaynak olacak üye |
FILESRV001 |
4- DFS Rol Hizmetlerinin Kurulması
DFS Namespaces ve DFS Replication rol hizmetlerini önce FILESRV001'e, ardından FILESRV002'ye kuruyorum.
Adım 1 - Add Roles and Features
Server Manager konsolunda Manage menüsünden Add Roles and Features seçeneğine tıklıyorum. Aynı sihirbaz Dashboard'daki Quick Start bölümünden de açılabilir.

Adım 2 - Installation Type
Select Installation Type ekranında Role-based or Feature-based Installation seçiliyken Next ile devam ediyorum.

Adım 3 - Server Selection
Select destination server ekranında rol hizmetlerinin kurulacağı sunucu olarak FILESRV001'i seçiyorum.

Adım 4 - Server Roles
Select server roles ekranında File and Storage Services, File and iSCSI Services altındaki DFS Namespaces ve DFS Replication rol hizmetlerini seçiyorum. DFS Namespaces, Namespace Server görevini, DFS Replication ise replikasyon servisini kurar. DFS Management konsolu da bu seçimle birlikte gelir.

Adım 5 - Features
Select features ekranında ek bir özellik seçmeden Next ile devam ediyorum.

Adım 6 - Confirmation ve Kurulum
Confirm installation selections ekranında seçimleri kontrol edip Install ile kurulumu başlatıyorum.



Adım 7 - Kurulum Sonucu
Kurulum FILESRV001 üzerinde başarıyla tamamlandı.

Kontrol Noktası
Sihirbaz kurulumun başarılı olduğunu göstermeli ve Tools menüsünde DFS Management konsolu yer almalı.
Adım 8 - FILESRV002 Üzerinde Kurulum
Aynı adımları FILESRV002 üzerinde tekrarlıyorum.


Rol hizmetlerini sihirbaz yerine PowerShell ile de kurabiliyorum. Komutu her iki sunucuda yönetici olarak açtığım PowerShell oturumunda çalıştırıyorum.
Install-WindowsFeature FS-DFS-Namespace, FS-DFS-Replication -IncludeManagementTools
Kontrol Noktası
Her iki sunucuda Get-WindowsFeature FS-DFS* çıktısında FS-DFS-Namespace ve FS-DFS-Replication satırları Installed durumunda görünmeli.
5- Paylaşım Klasörlerinin Hazırlanması
Adım 9 - FILESRV001 Üzerinde Home Folders Klasörü
FILESRV001'in ikincil diskinde Home Folders adında bir klasör oluşturup paylaşıma açıyorum.


Adım 10 - Kullanıcı Klasörleri ve NTFS İzinleri
Home Folders klasörünün içinde her kullanıcı için kullanıcı adını taşıyan bir klasör oluşturuyor ve NTFS izinlerini atıyorum. DFS Replication NTFS izinlerini de replike ettiği için bu izinler FILESRV002'ye aynen taşınacak.


Adım 11 - FILESRV002 Üzerinde Home Folders Klasörü
FILESRV002'nin ikincil diskinde de Home Folders klasörünü oluşturup paylaşıma açıyorum. Bu klasörün içine kullanıcı klasörü açmıyorum, içerik ilk replikasyonla FILESRV001'den gelecek.



İlk replikasyonda diğer üyelerde bulunan ve Primary Member'dakinden farklı olan dosyalar yerinden çıkarılıp DfsrPrivate\PreExisting klasörüne taşınır. Bu karışıklığı önlemek için ikinci üyenin klasörünü boş bırakıyorum.
6- Namespace'in Oluşturulması
Namespace, sunucuya bağlı yolları tek bir Domain yolu altında topluyor. Bu kurulumda iki ayrı sunucu yolu:
\\FILESRV001\{Paylaşım Adı}
\\FILESRV002\{Paylaşım Adı}
Namespace oluşturulduktan sonra kullanıcılar her iki sunucudaki kopyaya tek bir yoldan erişiyor:
\\firatboyan.local\HomeFolders\{Namespace Klasör Adı}
Adım 12 - New Namespace
DFS Management konsolunda Namespaces üzerinde sağ tıklayıp New Namespace... seçeneğini seçiyorum.

Adım 13 - Namespace Server
Namespace Server ekranında Namespace'i ilk barındıracak sunucu olarak FILESRV001'i seçiyorum. İkinci Namespace Server'ı kurulum sonrasında ekleyeceğim.

Adım 14 - Namespace Name and Settings
Name alanına Namespace'in adını (HomeFolders) yazıp Edit Settings... butonuna tıklıyorum. Sihirbaz, Namespace Server üzerinde bu adla bir kök paylaşım oluşturur.

Edit Settings penceresinde kök paylaşımın Share izni olarak Administrators have full access; other users have read and write permissions seçeneğini seçip OK ile kapatıyorum. Bu izin yalnızca Namespace kök paylaşımına uygulanır. Kullanıcı verisine erişimi Folder Target'ların kendi Share ve NTFS izinleri belirler.


Adım 15 - Namespace Type
Namespace Type ekranında iki Namespace türü arasında seçim yapılır:
|
Namespace Türü |
Yapılandırmanın Tutulduğu Yer |
Yol Biçimi |
HA |
|
✅ Domain-based Namespace |
Active Directory |
\\firatboyan.local\HomeFolders |
Birden fazla Namespace Server eklenerek sağlanır |
|
✅ Stand-alone Namespace |
Namespace Server'ın kendisi |
\\FILESRV001\HomeFolders |
Yalnızca Namespace Failover Cluster üzerinde barındırılırsa sağlanır |
Domain-based Namespace seçili ve Enable Windows Server 2008 mode işaretliyken devam ediyorum. Domain tabanlı yol, kullanıcının hangi sunucuya bağlandığından bağımsız kalıyor ve ikinci Namespace Server eklendiğinde Namespace kökü de HA hale geliyor.

Windows Server 2008 mode, tüm Namespace Server'ların Windows Server 2008 veya üstü, Domain Functional Level'ın en az Windows Server 2008 olmasını gerektirir. Ortamda daha eski sunucular varsa bu seçenek işaretlenmez.
Adım 16 - Review Settings and Create Namespace
Ayarların özetini kontrol edip Create ile Namespace'i oluşturuyorum.


Adım 17 - Namespace'in Görünmesi
Oluşturduğum Namespace, DFS Management konsolunda Namespaces altında görünüyor.

Kontrol Noktası
\\firatboyan.local\HomeFolders Namespace'i konsolda listelenmeli ve Namespace Servers sekmesinde \\FILESRV001\HomeFolders yer almalı.
7- Replication Group'un Oluşturulması
Adım 18 - New Replication Group
DFS Management konsolunda Replication üzerinde sağ tıklayıp New Replication Group... seçeneğini seçiyorum.

Adım 19 - Replication Group Type
New Replication Group Wizard iki Replication Group türü sunar:
|
Tür |
Kullanım Amacı |
Kurulan Replikasyon |
|
Multipurpose replication group |
İki veya daha fazla sunucu arasında içeriğin eşitlenmesi |
Seçilen topolojiye göre tüm üyeler arasında iki yönlü |
|
Replication group for data collection |
Şube sunucusundaki verinin merkezde toplanıp oradan yedeklenmesi |
Şube ve merkez sunucusu arasında iki yönlü |
İleride gruba yeni üye ekleyebilmek ve her iki sunucuda da aynı içeriği tutmak için Multipurpose replication group seçeneğini seçiyorum.

Adım 20 - Name and Domain
Name and Domain ekranında Replication Group için bir ad veriyorum.

Adım 21 - Replication Group Members
Replication Group Members ekranında Add... butonuyla FILESRV001 ve FILESRV002'yi gruba ekleyip Next ile devam ediyorum.



Adım 22 - Topology Selection
Topology Selection ekranında üyeler arasındaki replikasyon bağlantılarının nasıl kurulacağı seçilir. DFS Replication'da çakışma çözümü her topolojide aynıdır, son yazılan sürüm kalır. Topoloji yalnızca verinin hangi yoldan taşınacağını belirler.
|
Topoloji |
Nasıl Çalışır |
Uygun Senaryo |
Dikkat Edilecek Nokta |
|
Hub and Spoke |
Spoke üyeler yalnızca Hub üye ile replike olur |
Merkez ve şubeler, düşük hızlı WAN bağlantıları |
En az 3 üye gerekir. Hub erişilemezse Spoke'lar arasında değişiklik taşınmaz |
|
Full Mesh |
Her üye diğer tüm üyelerle doğrudan replike olur |
Az sayıda üye. Microsoft 10 üyeye kadar önerir |
Bağlantı sayısı N*(N-1)/2 formülüyle artar |
|
No Topology |
Hiçbir bağlantı oluşturulmaz |
Bağlantıların sonradan elle tasarlanacağı ortamlar |
Bağlantılar oluşturulana kadar replikasyon başlamaz |


İki üyeli bu yapıda Full Mesh seçeneğini seçiyorum. İki üyede Full Mesh, sunucular arasında iki yönlü tek bir bağlantı anlamına geliyor.

Hub and Spoke topolojisi en az 3 üye gerektirir. Replication Group'ta yalnızca 2 üye varsa bu seçenek aktif olmaz.
Adım 23 - Replication Group Schedule and Bandwidth
Bu ekranda replikasyonun ne zaman ve hangi bant genişliğiyle yapılacağını belirliyorum. Replicate continuously using the specified bandwidth seçeneği replikasyonu sürekli yapar ve Bandwidth listesinden replikasyona ayrılacak bant genişliği seçilir. Replicate during the specified days and times seçeneğinde ise Edit Schedule ile replikasyonun yapılacağı gün ve saatler belirlenir. Site'lar arasındaki WAN bağlantısı yoğun saatlerde doluyorsa bant genişliğini bu saatlerde sınırlıyorum.

Adım 24 - Primary Member
Primary Member ekranında FILESRV001'i seçiyorum. Primary Member yalnızca ilk replikasyonda yetkili kaynaktır. İlk replikasyon tamamlandıktan sonra tüm üyeler eşit hale gelir ve değişiklikler her yönde replike olur.


Adım 25 - Folders to Replicate
Folders to Replicate ekranında Add... butonuna tıklıyorum. Add Folder to Replicate penceresinde Browse... ile FILESRV001'in ikincil diskindeki Home Folders klasörünü seçiyorum. Yol biliniyorsa elle de yazılabilir.





Adım 26 - Local Path of Home Folders on Other Members
Bu ekranda FILESRV002 satırını seçip Edit... butonuna tıklıyorum. Açılan pencerede Membership status altında Enabled seçeneğini işaretliyor, Browse... ile FILESRV002'nin ikincil diskindeki boş Home Folders klasörünü seçiyorum.





Adım 27 - Review Settings and Create Replication Group
Ayarların özetini kontrol edip Create ile Replication Group'u oluşturuyorum.

Adım 28 - Confirmation
Confirmation ekranında Replication Group'un başarıyla oluşturulduğunu görüp Close ile kapatıyorum. Ardından gelen uyarı, replikasyonun üyeler yapılandırmayı Active Directory'den okuyana kadar başlamayacağını belirtiyor.


8- Kurulum Sonrası İşlemler
Adım 29 - Yapılandırmanın Üyelere Ulaşması
Replication Group yapılandırması Active Directory'ye yazılır. FILESRV002'nin bu yapılandırmayı alması iki koşula bağlı. Önce değişikliğin FILESRV002'nin kullandığı Domain Controller'a replike olması gerekir. Site içinde bu birkaç saniye sürer, Site'lar arasında ise Site Link zamanlamasına bağlıdır (varsayılan 180 dakika). Ardından DFS Replication servisinin Active Directory'yi yeniden okuması gerekir, bu da varsayılan olarak saatte bir yapılır.
Beklememek için önce Replication Group'u oluşturduğum Site'taki Domain Controller'da Active Directory replikasyonunu tetikliyorum.
repadmin /syncall /APed
Ardından her iki üyede DFS Replication servisinin yapılandırmayı hemen okumasını sağlıyorum. Komutu FILESRV001'de çalıştırıp her iki üyeyi hedefliyorum.
dfsrdiag pollad /member:FILESRV001
dfsrdiag pollad /member:FILESRV002

Kontrol Noktası
DFS Management konsolunda Replication altında oluşturduğum Replication Group görünmeli ve Memberships sekmesinde her iki üye listelenmeli.
Adım 30 - FILESRV001 Üzerinde Staging Kotası
DFS Replication, gönderilecek dosyaları her üyede replike edilen klasörün altındaki DfsrPrivate\Staging klasöründe hazırlar. Bu klasörün kotası varsayılan olarak 4096 MB'tır. Kullanım kotanın %90'ına ulaştığında DFS Replication en eski Staging dosyalarını silmeye başlar ve kullanım %60'a düşene kadar devam eder. Kota sabit bir değerdir, otomatik büyümez.
Kota, aynı anda Staging'de hazırlanması gereken dosyaları alamayacak kadar küçükse temizlik sürekli tekrarlanır ve replikasyon yavaşlar. Microsoft, kotanın replike edilen klasördeki en büyük 32 dosyanın toplam boyutu kadar olmasını önerir. Bu değeri FILESRV001'de PowerShell ile hesaplıyorum. {Replike Edilen Klasör Yolu} yerine Home Folders klasörünün tam yolunu yazıyorum.
Get-ChildItem -Path "{Replike Edilen Klasör Yolu}" -Recurse -File |
Sort-Object Length -Descending |
Select-Object -First 32 |
Measure-Object -Property Length -Sum |
Select-Object @{Name='ToplamMB';Expression={[math]::Ceiling($_.Sum / 1MB)}}
Bulduğum değeri kota olarak girmek için Replication Group altındaki Memberships sekmesinde FILESRV001 satırında sağ tıklayıp Properties seçeneğini seçiyor, Staging sekmesindeki Quota değerini güncelliyorum.


Adım 31 - FILESRV002 Üzerinde Staging Kotası
Staging kotası her üye için ayrı tanımlanır. Aynı işlemi FILESRV002 satırında da yapıyorum.



Kontrol Noktası
Memberships sekmesinde her iki üyenin Staging Quota sütununda belirlediğim değer görünmeli.
Adım 32 - Remote Differential Compression
RDC (Remote Differential Compression) varsayılan olarak açıktır ve 64 KB'tan büyük dosyalarda yalnızca değişen blokları gönderir. Site'lar arasındaki düşük hızlı WAN bağlantılarında açık kalmalıdır. Çok hızlı LAN bağlantılarında RDC'nin hesaplama maliyeti kazandırdığı süreden fazla olabildiği için kapatılabilir. Ayar, Replication Group altındaki Connections sekmesinde bağlantı üzerinde sağ tıklayıp Properties ile açılan pencerede yer alır.


Bu iki ekran görüntüsü sonradan eklendiği için içlerindeki sunucu ve grup adları makaledeki ortamdan farklıdır.
Adım 33 - Share and Publish in Namespace
Replike edilen klasörü Namespace altında yayınlamak için Replication Group altındaki Replicated Folders sekmesinde klasör üzerinde sağ tıklayıp Share and Publish in Namespace... seçeneğini seçiyorum. Açılan sihirbazda Share and publish the replicated folder in a namespace seçeneğiyle devam ediyorum.


Adım 34 - Share Replicated Folders
Bu ekranda her iki üyedeki paylaşımı kontrol edip Next ile devam ediyorum. Sihirbaz, her üyedeki klasörü Namespace klasörünün bir Folder Target'ı olarak ekleyecek.

Adım 35 - Namespace Path
Parent folder in namespace alanında Browse... ile 6. bölümde oluşturduğum Namespace'i seçip Next ile devam ediyorum.




Adım 36 - Review Settings and Share Replicated Folder
Özeti kontrol edip Share ile yayınlama işlemini tamamlıyor, Close ile sihirbazı kapatıyorum.


Adım 37 - Namespace Klasörünün Görünmesi
Replike edilen klasör, Namespace altında yayınlanmış olarak görünüyor.

Kontrol Noktası
Namespace altındaki klasörün Folder Targets sekmesinde FILESRV001 ve FILESRV002 paylaşımları listelenmeli.
Adım 38 - FILESRV002 Üzerinde Replication Group'un Görünmesi
FILESRV002'deki DFS Management konsolunda Replication Group'un bu sunucuda da göründüğünü kontrol ediyorum.

Adım 39 - FILESRV002 Üzerinde Namespace'in Görüntülenmesi
Namespace'i FILESRV002'deki konsolda da yönetmek için Namespaces üzerinde sağ tıklayıp Add Namespaces to Display... seçeneğiyle Namespace'i ekliyorum. Bu adım yalnızca konsol görünümünü değiştirir, yapılandırmayı etkilemez.



Adım 40 - İlk Replikasyonun Tamamlanması
FILESRV002'deki boş Home Folders klasörüne FILESRV001'deki tüm kullanıcı klasörleri ve NTFS izinleri replike oldu.

İlk replikasyonun bittiğini klasöre bakarak değil, FILESRV002'nin DFS Replication olay günlüğündeki 4104 olayıyla doğruluyorum. Bu olay, ilk replikasyonun tamamlandığını ve üyenin artık normal replikasyona geçtiğini gösterir. Komutu FILESRV002'de çalıştırıyorum.
Get-WinEvent -LogName "DFS Replication" -FilterXPath "*[System[EventID=4104]]" -MaxEvents 1
Kontrol Noktası
Komut 4104 olay kimliğine sahip bir kayıt döndürmeli. Kayıt yoksa ilk replikasyon henüz sürüyordur.
Adım 41 - İkinci Namespace Server'ın Eklenmesi
Namespace şu an yalnızca FILESRV001 üzerinde barındırılıyor. FILESRV001 kapanırsa veri FILESRV002'de dursa bile istemci Namespace kökünden Referral alamaz. Namespace kökünü HA hale getirmek için FILESRV002'yi ikinci Namespace Server olarak ekliyorum.
DFS Management konsolunda Namespace'i seçip Namespace Servers sekmesinde \\FILESRV001\HomeFolders kaydını görüyorum. Sağdaki Add Namespace Server... ile açılan pencerede Browse... butonuyla FILESRV002'yi seçip ekliyorum.






Kontrol Noktası
Namespace Servers sekmesinde hem \\FILESRV001\HomeFolders hem \\FILESRV002\HomeFolders görünmeli. Aynı liste FILESRV002'deki konsolda da görünmeli.
Adım 42 - Namespace Polling Ayarı
Namespace Server'lar Namespace yapılandırmasını Active Directory'den okur. Bu ayar, okumanın hangi Domain Controller'dan yapılacağını belirler. Ayara Namespace üzerinde sağ tıklayıp Properties ile açılan pencerenin Advanced sekmesinden ulaşıyorum.

|
Seçenek |
Davranış |
Uygun Senaryo |
|
Optimize for consistency |
Namespace Server'lar yapılandırmayı PDC Emulator rolündeki Domain Controller'dan okur, değişiklikler hızlı yansır |
Namespace'i 16 veya daha az sunucu barındırıyor |
|
Optimize for scalability |
Namespace Server'lar yapılandırmayı kendilerine en yakın Domain Controller'dan okur, PDC Emulator üzerindeki yük azalır |
Namespace'i 16'dan fazla sunucu barındırıyor |
Bu ayar istemcileri etkilemez, yalnızca Namespace Server'ların yapılandırmayı nereden okuduğunu değiştirir. Microsoft, Optimize for scalability seçeneğini Namespace'i 16'dan fazla sunucu barındırdığında öneriyor. İki Namespace Server'lı bu yapıda varsayılan Optimize for consistency ayarını koruyorum. Aşağıdaki ekran görüntüsü ayarın yerini gösteriyor.

İstemcilerin hedef sıralaması ise aynı penceredeki Referrals sekmesinde belirlenir. İstemcinin kendi Site'ındaki hedefler her zaman listenin başında yer alır. Ordering method alanında Random order seçiliyse Site dışındaki hedefler rastgele, Lowest cost seçiliyse Site Link maliyeti düşükten yükseğe sıralanır. Exclude targets outside of the client's site seçeneği ise istemcinin diğer Site'lardaki hedefleri hiç görmemesini sağlar. HA için bu seçeneği işaretlemiyorum, çünkü işaretlenirse istemci kendi Site'ındaki sunucu kapandığında diğer Site'a geçemez.
Kullanıcı Verisinde Folder Target Durumu
Microsoft'un DFS Namespaces ve DFS Replication destek politikasına göre, Home Folder ve Roaming Profile gibi kullanıcı verilerinde kullanıcıların eriştiği DFS klasörünün tek bir Folder Target'ı olmalıdır. DFS Replication ile ikinci sunucuda bir kopya tutuluyorsa kullanıcılar yalnızca kaynak sunucuya erişir, kopya sunucu Namespace'te alternatif hedef olarak kullanılmaz. Bu kural, ikinci hedef devre dışı tutulup arıza anında elle etkinleştirilse bile geçerlidir.
Nedeni replikasyonun gecikmeli olması. Kullanıcı arıza sonrası ikinci sunucuya geçtiğinde henüz replike olmamış değişiklikleri görmez ve eski bir kopya üzerinde çalışır. Kaynak sunucu geri geldiğinde aynı dosyaların iki sürümü çakışır ve biri ConflictAndDeleted klasörüne taşınır.
Bu yüzden kullanıcı verisinde DFS Replication'ı ikinci sunucuda güncel bir kopya tutmak için kullanıyorum, kullanıcıları ise yalnızca kaynak sunucuya yönlendiriyorum. Kullanıcı verisinin kendisi için HA gerekiyorsa çözüm, dosya sunucusunu Failover Cluster üzerinde çalıştırmaktır.
Aşağıdaki test DFS Namespaces Failover mekanizmasını göstermek için Home Folders üzerinde yapıldı. Bu yapıyı kullanıcı verisinde üretimde kullanmıyorum. Ağırlıklı okunan, aynı anda iki yerde değiştirilmeyen verilerde iki etkin hedef sorunsuzdur.
9- Doğrulama ve HA Testi
Adım 43 - İstemciden Erişim
Bir Active Directory kullanıcısı ile istemci bilgisayarda oturum açıyorum. Namespace altındaki Home Folder sürücü olarak bağlanmış durumda.

Home Folder'ın içinde kullanıcının klasörleri görünüyor.

Adım 44 - Etkin Hedefin Görülmesi
Desktop klasörünün içinde birkaç klasör oluşturuyorum. Klasör üzerinde sağ tıklayıp Properties penceresindeki DFS sekmesine baktığımda, istemcinin o an bağlı olduğu hedefin FILESRV002 olduğunu görüyorum.

Adım 45 - Replikasyonun Görülmesi
Oluşturduğum klasörler her iki sunucudaki Home Folders klasörüne replike oldu.


Adım 46 - FILESRV002'nin Kapatılması
İstemcinin bağlı olduğu FILESRV002'yi kapatıyorum.


Adım 47 - Erişimin Devam Etmesi
Bağlı sürücüye yeniden eriştiğimde içerik açılıyor. DFS sekmesine baktığımda etkin hedefin artık FILESRV001 olduğunu görüyorum. İstemci, Referral listesindeki bir sonraki hedefe geçti. Geçiş sırasında açık olan dosyalar varsa onlar kapanır, yeniden açılmaları gerekir.


Kontrol Noktası
FILESRV002 kapalıyken Namespace yolu açılmalı ve DFS sekmesinde etkin hedef olarak FILESRV001 görünmeli.
Sunucu Tarafında Doğrulama
Kullanıcı tarafındaki testin yanında yapılandırmayı sunucu tarafında da doğruluyorum. Komutları FILESRV001'de yönetici olarak açtığım PowerShell oturumunda çalıştırıyorum. {Replication Group Adı}, Adım 20'de verdiğim ad, {Replicated Folder Adı} ise Replication Group'taki klasörün adı.
Get-DfsnRootTarget -Path "\\firatboyan.local\HomeFolders"
Get-DfsnFolderTarget -Path "\\firatboyan.local\HomeFolders\{Namespace Klasör Adı}"
Get-DfsrMembership -GroupName "{Replication Group Adı}" | Select-Object ComputerName, ContentPath, StagingPathQuotaInMB
Get-DfsrBacklog -GroupName "{Replication Group Adı}" -FolderName "{Replicated Folder Adı}" -SourceComputerName FILESRV001 -DestinationComputerName FILESRV002
|
Komut |
Alan |
Beklenen Değer |
Get-DfsnRootTarget |
TargetPath, State |
\\FILESRV001\HomeFolders ve \\FILESRV002\HomeFolders, Online (Adım 41 - İkinci Namespace Server'ın Eklenmesi) |
Get-DfsnFolderTarget |
TargetPath, State |
Test yapısında her iki sunucunun paylaşımı. Kullanıcı verisinde yalnızca kaynak sunucunun paylaşımı (Kullanıcı Verisinde Folder Target Durumu) |
Get-DfsrMembership |
StagingPathQuotaInMB |
Her iki üyede belirlenen kota (Adım 30 ve Adım 31) |
Get-DfsrBacklog |
Çıktı |
Boş, bekleyen dosya yok |
Get-WinEvent (FILESRV002) |
Id |
4104 (Adım 40 - İlk Replikasyonun Tamamlanması) |
10- Sorun Giderme ve Geri Alma
Replikasyon sorunlarında ilk baktığım yer her iki üyedeki DFS Replication olay günlüğü. Sık karşılaştığım olaylar şunlar:
|
Olay Kimliği |
Anlamı |
Yapılacak İşlem |
|
4202 |
Staging kullanımı kotanın %90'ını aştı, temizlik başladı |
Sık tekrarlanıyorsa Staging kotasını Adım 30'daki yöntemle yeniden hesaplayıp büyütmek |
|
4206 |
Temizlik kullanımı %60'a indiremedi |
Staging kotasını büyütmek, Staging'in bulunduğu diskte boş alanı kontrol etmek |
|
4412 |
Aynı dosya iki üyede değişti, çakışma oluştu |
Kaybeden sürümü DfsrPrivate\ConflictAndDeleted klasöründen geri almak |
Yapılandırmayı geri almam gerekirse önce Namespace klasörünü, ardından Replication Group'u DFS Management konsolundan siliyorum. Replication Group'u silmek üyelerdeki dosyaları silmez, yalnızca replikasyonu durdurur. Silme işlemi de Active Directory üzerinden yayıldığı için diğer üyede etkili olması için Adım 29'daki komutlarla yapılandırmanın okunmasını tetikliyorum.
Kurulumun tamamlandığını şu ölçütlerle anlıyorum: Namespace iki Namespace Server'da barındırılıyor, FILESRV002'de 4104 olayı var, Get-DfsrBacklog boş dönüyor ve bir sunucu kapatıldığında istemci Namespace yolundan diğer sunucuya geçebiliyor. Kullanıcı verisini üretime alırken Namespace klasöründe yalnızca kaynak sunucuyu Folder Target olarak bırakıyor, ikinci sunucuyu DFS Replication ile güncel tutulan bir kopya olarak kullanıyorum.
Faydalı olması dileğiyle...
Makale ile ilgili düşüncelerinizi ve sorularınızı aşağıdaki yorum kısmında paylaşmaktan çekinmeyin. Her katkı, içeriğin daha fazla kişiye ulaşmasını ve daha faydalı bir tartışma ortamı oluşmasını sağlar.