Active Directory ve Distributed File System DFS Birlikte Çalışma Senaryoları – Bölüm 2
Makalemin ilk bölümünde temel anlamda DFS konusuna değindim. Ek olarak ilk bölümde DFS namespaces kavramını detaylandırdım. DFS ile ilgili olarak bu makaleme aşağıdaki link üzerinden ulaşabilirsiniz.
Bu bölümde ise DFS’ in replikasyon özelliğinden bahsedeceğim.
Introduction to DFS Replication
DFS replikasyon hakkındaki temel bilgileri aşağıdaki gibi özetleyebiliriz;
DFS replikasyonu multimaster bir mimariye sahip olup, üyelerden herhangi birinde bir değişiklik olması halinde diğer tüm üyeler bu güncellemeyi alır.
DFS replikasyonu update sequence number (USN) ismini verdiğimiz güncellik numarası ile takip eder.
DFS bir dosyayı replike etmeden önce staging folder ismini verdiğimiz özel bir klasörde işler ve ardından replike eder. Bu konuda ilerleyen bölümlerde detaylı bilgi veriyor olacağım.
Replike olacak verileri tespit etmek için version vector exchange protkolünü kullanır. Bu protokol dosya başına 1KB den daha düşük bir eşitleme verisi göndererek süreci yönetir.
Değişiklikleri RDC protkolü sayesinde sıkıştırarak ve sadece değişen blokları transfer ederek gerçekleştirir.
Replikasyonda çakışmaları engellemek için “last-writer wins” yöntemi kullanırlar. Bu yöntem içinde makalemin ilerleyen bölümlerinde detaylı bilgi vereceğim.
Replikasyon sistemi otomatik olarak USN journal wraps, USN journal kayıpları veya DFS Replication veri tabanının kaybolması gibi durumlar için hazırlıklıdır ki bu konudaki detaylı açıklamaları makalemin ilk bölümünde yapmıştım.
DFS replikasyonu, DFS replikasyon servisi hakkında bilgi toplamak ve durumunu izlemek için Windows Management Instrumentation (WMI) kullanmaktadır.
Replication groups and replicated folders
Gördüğünüz gibi bir Replication Group dediğimiz replike olan iki server ve onların içerisindeki klasörleri görüyoruz. Bunlara aslında bu replikasyon için üye olan sunucularda diyebiliriz. Yine bu sunucuların altında ise bu replikasyon grubu için bir veya birden çok olabilen klasörleri görebiliyoruz.
Şeklimize bakacak olursak iki tane replicated Folders görebiliyoruz. Bunlar “Project” ve “Proposals” isimlerindeki klasörlerdir.
Herhangi bir değişik olması halinde otomatik olarak bu değişiklik üyeler arasında güncellenmektedir.
Bir replikasyon grubu içerisinde pek çok replike klasör oluşturma imkânımız vardır. Çünkü biz her bir replikasyon klasörü için ayrı ayrı zamanlama, bant genişliği yönetimi veya filtreleme gibi özellikleri kullanabiliyoruz.
Replike klasörleri farklı sunucular üzerinde aynı dizinde bulunmak zorunda değildir. Ayrıca yine paylaştırılmış olması veya DFS namespace’ in bir parçası olmak zorunda değildir. DFS Management aracı üzerinden rahatlıkla replike klasörleri oluşturabiliriz.
Replikasyonda RDC kullanılır. Burada yatan temel mantık sadece değişen bloklar ve bu değişikliğinde network üzerinden transfer edilirken sıkıştırılmasıdır.
Örneğin 10mb’ lık bir sunum dosyasında siz sadece 1mb lık bir değişim yaparsanız toplam %90 oranında gereksiz bir veri trafiğini önlemiş olursunuz ki bunun içerisinde sıkıştırma oranı yoktur.
RDC 64KB dan küçük dosyalar için kullanılamaz. Ayrıca yüksek bant genişliği olan ve yine bu bant genişliği dolu olmayan networkler içinde bir yarar sağlamayacaktır.
Bu protokolün bir diğer özelliği ise cross-file RDC dir.
Replikasyonda bir önemli konu ise zamanlama ve bant genişliği limitidir.
Replication group schedule
Replikasyon grubundaki tüm bağlantıları etkiler. Zamanlama olarak günün 24 saatini ve haftanın 7 gününü kullanabilirsiniz. Zaman aralıkları ise 15dk lık parçalar halinde ayarlanmaktadır.
Custom connection schedule
Bu ise tek bir bağlantı için zamanlama yapmak istediğiniz zaman kullanabileceğiniz bir özelliktir. Bu daha çok time zone farklı olan ofisler arasındaki bağlantılarda tercih edilir.
Burada önemli bir nokta, zamanlama konusundaki değişiklikler anında uygulanmaz. Öncelikle bu yeni değişiklik tüm domain controller makinelerin arasında replike olmalıdır. Bundan sonra ise replikasyon grubu içerisindeki her bir üyenin de bu bilgiyi alması zaman alır. Normal şartlarda bu ortalama 60dk sürebilir.
Bandwidth usage
Bant genişliği kullanımı konusunda ise, zamanladığınız her bir aralık için ( interval ) bir değer verebiliyorsunuz. Bu değer aralıkları ise aşağıdaki gibidir;
Değer olarak en az 16 kilobits per second (Kbps), en fazla 256 megabits per second (Mbps) veya full (unlimited) seçebiliyoruz.
Replikasyonda ki bir önemli nokta ise kullanılan topolojidir.
3 tane temel topolojimiz vardır;
Hub and spoke
Bu topoloji için en az 3 üye gerekmektedir. Bu üyelerden bir tanesi master olup diğerleri ile iki yönlü bir replikasyon gerçekleştirmektedir.
Bu topoloji için ortadaki makineye Hub, diğerlerine ise spoke ismini veriyoruz.
Hub sunucudaki bir sorunda topoloji zarar göreceği için opsiyonel hub ekleme şansımız vardır.
Full Mesh
Bu topolojide ise tüm üyeler birbirleri ile replike olmaktadır. Bir replikasyon grubunda 10 veya daha az üye var ise bu model kullanılabilir. Ancak 10 ve üstü üye var ise bu modeli kullanmamanız tavsiye edilmektedir.
No topology
Topolojiye henüz karar vermemişseniz ve bu sihirbazı kapattıktan sonra değişiklik yapmak istiyorsanız bunu seçebilirsiniz.
Server 2012 R2 ile beraber gelen DFS Replikasyon yenilikleri ise aşağıdaki gibidir;
· Windows PowerShell module for DFS Replication
· DFS Replication Windows Management Infrastructure provider
· Database cloning for initial sync
· Database corruption recovery
· Cross-file RDC disable
· File staging tuning
· Preserved file restoration
· Unexpected shutdown database recovery improvements
· Membership disabling improvements
· Support for Data Deduplication volumes
Windows Powershell module for DFS Namespaces
DFS Replication modülü bize artık işlerimizde Powershell kullanmamıza imkân sunmaktadır. Bu sayede mevcut işler için PS gücünü kullanabileceğimiz gibi bu bize ek esnekliklerde sunmaktadır.
Yani artık yönetim için DFS Management veya DFS Replication command-line araçları yanında Powershell de kullanabiliyoruz.
Yeni komut setleri için aşağıdaki linkleri inceleyebilirsiniz
DFS Namespace (DFSN) Cmdlets in Windows PowerShell
http://technet.microsoft.com/en-us/library/jj884270.aspx
Introducing DFS Namespaces Windows PowerShell Cmdlets
Windows Management Infrastructure provider
Server 2012 R2 bir takım yeni Windows Management Infrastructure WMI özelliklerine sahiptir ki bunu biz WMI v2 olarak ta görebiliyoruz. Bu yeni özellik sayesinde yönetim programları WMI üzerinden DFS yönetimi yapabilmektedir.
Database cloning for initial sync
Bu özellik sayesinde siz var olan yapıya replike olması için yeni bir klasör eklediğinizde veya bir sunucu değiştirdiğinizde veya disaster vb kaynaklı bir geri dönüş yaptığınız zaman replikasyon başlangıç trafiğinin hızlanmasını sağlamaktadır. Bir nevi “initial replication” bölümünü bypass etmek için kullanılabilir.
Eskiden büyük veri tabanlarının söz konusu olduğu ortamlar için bu süre belki günler veya haftalar sürebilmekteyken artık bu bekleme süresi %99 oranında düşürülmüştür.
Database corruption recovery
DFS replikasyonu veri tabanında bir bozulma tespit eder ise bunu hemen onarır ve replikasyon trafiğinin bundan etkilenmesine izin vermez.
Bundan önceki sürümlerde ise ver tabanı bozulduğunda siliniyor ve “nonauthoritative initial sync” dediğimiz süreç başlıyordu. Bu da tabiki bir takım dosya çakışmaları ve benzeri sorunları beraberinde getirmekteydi.
Preserved file restoration
DFS replikasyonu 2012 R2 ile beraber artık çakışan, silinen veya önceden var olan (conflicted, deleted, and preexisting ) klasör veya dosyaları orjinal lokasyonuna veya başka bir yere almaya izin vermektedir. Bunun için aşağıdaki iki powershell komutunu kullanabilirsiniz
Get-DfsrPreservedFiles ve Restore-DfsrPreservedFiles
Unexpected shutdown database recovery improvements
DFS Replication beklenmedik bir şekilde veri tabanın kapanması durumunda ( sunucu kapanması veya servis bazlı sorunlar nedeni ile olabilir ) veri tabanı ile dosya sistemini otomatik olarak doğrular ve replikasyona devam eder.
Membership disabling improvements
Bundan önceki sürümlerde member bir makineyi üyelikten çıkarmanız durumunda kritik klasörler anında silinmekteydi (DfsrPrivate, Staging, ConflictAndDeleted, PreExisting).
2012 R2 ile beraber artık grup üyeliği kapatılan bir sunucudaki DfsrPrivate klasörü silinmektedir. Bu sayede buradaki dosyaları kurtarma şansımız bulunmaktadır. Tabiki burada unutulmaması gereken bir ayrıntıda, bu klasör eğer bu sunucu DFS replikasyonuna tekrar üye olur ise silinmektedir.
Site awareness for DirectAccess clients
Direct Access ile şirket network yapısına bağlanan kişinin bulunduğu yere en yakın site içerisinden çalışması için destek sağlanmaktadır. Direct Access ile bir istemci ( Windows 7 veya Server 2008 R2 ) bağlandığı zaman ip adresi şirket dışından bir ip olmaktadır. Bu ip bilgisi de AD üzerinde bir site ile ilişkisi olmadığı için random olarak bir liste alır.
Bu yeni özellikte ise istemci bir Windows 8 veya Server 2012 olması durumunda bilgisayar site bilgisi de verdiği için Server 2012 üzerinde çalışan namespace server bu site için en yakın sunucu listesini verecektir.
DFS Replication: Support for Data Deduplication volumes
Server 2012 üzerinde Dedup desteği sayesinde artık replike olan veriler içinde yerden kazanım sağlanacaktır.
Bir diğer önemli kavram ise DFS Replication kavramıdır.
DFS Replication
Aslında DFS namespace özelliği olarak anlattığımız birden çok sunucunun tek bir ortak klasör sunuyormuş gibi davranmasını sağlayan özellik DFS Replikasyon özelliğidir.
Bu özellik sayesinde farklı sunucular arasında Remote Differential Compression RDC dediğimiz sıkıştırma algoritması ile tüm dosya yerine sadece değişen blokların replikasyonu sağlanır.
Peki, buraya kadar temel olarak DFS konusundan bahsettik. Peki, 2012 R2 ile bize sunulan yenilikler nelerdir?
Bu yenilikler sırası ile aşağıdaki gibidir;
Windows Powershell module for DFS Replication
DFS Replication modülü bize artık işlerimizde Powershell kullanmamıza imkân sunmaktadır. Bu sayede mevcut işler için PS gücünü kullanabileceğimiz gibi bu bize ek esnekliklerde sunmaktadır.
Yani artık yönetim için DFS Management veya DFS Replication command-line araçları yanında Powershell de kullanabiliyoruz.
DFS Replication Windows Management Infrastructure provider
Server 2012 R2 bir takım yeni Windows Management Infrastructure WMI özelliklerine sahiptir ki bunu biz WMI v2 olarak ta görebiliyoruz. Bu yeni özellik sayesinde yönetim programları WMI üzerinden DFS yönetimi yapabilmektedir.
Database cloning for initial sync
Bu özellik sayesinde siz var olan yapıya replike olması için yeni bir klasör eklediğinizde veya bir sunucu değiştirdiğinizde veya disaster vb kaynaklı bir geri dönüş yaptığınız zaman replikasyon başlangıç trafiğinin hızlanmasını sağlamaktadır. Bir nevi “initial replication” bölümünü bypass etmek için kullanılabilir.
Eskiden büyük veri tabanlarının söz konusu olduğu ortamlar için bu süre belki günler veya haftalar sürebilmekteyken artık bu bekleme süresi %99 oranında düşürülmüştür.
Bu konuda uygulama örnekleri için aşağıdaki linki inceleyebilirsiniz
http://technet.microsoft.com/en-us/library/dn482443.aspx
Database corruption recovery
DFS replikasyonu veri tabanında bir bozulma tespit eder ise bunu hemen onarız ve replikasyon trafiğinin bundan etkilenmesine izin vermez.
Bundan önceki sürümlerde ise ver tabanı bozulduğunda siliniyor ve “nonauthoritative initial sync” dediğimiz süreç başlıyordu. Bu da tabiki bir takım dosya çakışmaları ve benzeri sorunları beraberinde getirmekteydi.
File staging tuning
DFS her replicated folder için bir “staging” klasörü oluşturur. Bu klasör içerisinde her iki server arasında taşınan dosyalar tanzim edilir. Bu sayede replikasyon sırasında bir kesilme riskine karşı önlem alınmış olunur. Bu konuda ayrı bir makale bölümü olarak sizlere detay vereceğim.
Preserved file restoration
DFS replikasyonu 2012 R2 ile beraber artık çakışan, silinen veya önceden var olan (conflicted, deleted, and preexisting ) klasör veya dosyaları orjinal lokasyonuna veya başka bir yere almaya izin vermektedir. Bunun için aşağıdaki iki powershell komutunu kullanabilirsiniz
Get-DfsrPreservedFiles ve Restore-DfsrPreservedFiles
Unexpected shutdown database recovery improvements
DFS Replication beklenmedik bir şekilde veri tabanın kapanması durumunda ( sunucu kapanması veya servis bazlı sorunlar nedeni ile olabilir ) veri tabanı ile dosya sistemini otomatik olarak doğrular ve replikasyona devam eder.
Membership disabling improvements
Bundan önceki sürümlerde member bir makineyi üyelikten çıkarmanız durumunda kritik klasörler anında silinmekteydi (DfsrPrivate, Staging, ConflictAndDeleted, PreExisting).
2012 R2 ile beraber artık grup üyeliği kapatılan bir sunucudaki DfsrPrivate klasörü silinmektedir. Bu sayede buradaki dosyaları kurtarma şansımız bulunmaktadır. Tabiki burada unutulmaması gereken bir ayrıntıda, bu klasör eğer bu sunucu DFS replikasyonuna tekrar üye olur ise silinmektedir.
Support for Data Deduplication volumes
Makalemin bu bölümünün sonuna geldik, bir sonraki bölümde görüşmek üzere.
Makalemin bu bölümünün sonuna geldik, bir sonraki bölümde görüşmek dileği ile esen kalın.
Kaynaklar
http://technet.microsoft.com/en-us/library/cc787066(v=ws.10).aspx