DFS Server High Availability (Yüksek Erişilebilirlik) Yapılandırması

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.

DFS High Availability Kurulumu

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.

 DFS High Availability Kurulumu

Adım 2 - Installation Type

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

 DFS High Availability Kurulumu

Adım 3 - Server Selection

Select destination server ekranında rol hizmetlerinin kurulacağı sunucu olarak FILESRV001'i seçiyorum.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

Adım 5 - Features

Select features ekranında ek bir özellik seçmeden Next ile devam ediyorum.

DFS High Availability Kurulumu

Adım 6 - Confirmation ve Kurulum

Confirm installation selections ekranında seçimleri kontrol edip Install ile kurulumu başlatıyorum.

DFS High Availability Kurulumu

DFS High Availability Kurulumu
DFS High Availability Kurulumu

Adım 7 - Kurulum Sonucu

Kurulum FILESRV001 üzerinde başarıyla tamamlandı.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu
DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu
DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu
DFS High Availability Kurulumu

DFS High Availability Kurulumu

İ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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu
DFS High Availability Kurulumu

Adım 17 - Namespace'in Görünmesi

Oluşturduğum Namespace, DFS Management konsolunda Namespaces altında görünüyor.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

Adım 20 - Name and Domain

Name and Domain ekranında Replication Group için bir ad veriyorum.

DFS High Availability Kurulumu

Adım 21 - Replication Group Members

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

DFS High Availability Kurulumu

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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

DFS High Availability Kurulumu

DFS High Availability Kurulumu

İ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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu
DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

DFS High Availability Kurulumu

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu
DFS High Availability Kurulumu

DFS High Availability Kurulumu

DFS High Availability Kurulumu

Adım 27 - Review Settings and Create Replication Group

Ayarların özetini kontrol edip Create ile Replication Group'u oluşturuyorum.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu
DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

RDC-Remote Differential Compression

RDC-Remote Differential Compression

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu
DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu
DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

İ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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu
DFS High Availability Kurulumu
DFS High Availability Kurulumu

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

İ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.

DFS High Availability Kurulumu

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

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

Adım 45 - Replikasyonun Görülmesi

Oluşturduğum klasörler her iki sunucudaki Home Folders klasörüne replike oldu.

DFS High Availability Kurulumu
DFS High Availability Kurulumu

Adım 46 - FILESRV002'nin Kapatılması

İstemcinin bağlı olduğu FILESRV002'yi kapatıyorum.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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.

DFS High Availability Kurulumu

DFS High Availability Kurulumu

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...

Bu makaleye 2 yorum yapıldı. Sen de düşünceni paylaş!

750 karakter yazabilirsiniz.
Güvenlik kodu
Yorumlar, onaylandıktan sonra yayınlanmaktadır.
E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.
02.08.2019 Azer Chelebiyev

Ellerinize sagliq

CEVAPLA

Cevaplar
19.07.2019 Ercan Dağlı

Fırat Hocam, makaleniz harika olmuş. Bu kadar açıklayıcı bilgileri hiçbir makalede bulamadım. Çok teşekkürler.

CEVAPLA

Cevaplar