Windows Server 2003’de Dfs (Distributed File System) Windows Server 2003’deki Distributed File System’i ve Dfs’in Windows Server 2003 ile gelen yeni özelliklerini ele alacağız. Ama öncesinde Dfs’in biz sistem yöneticilerine ve sıradan network kullanıcılara sunmuş olduğu avantajları ele alalım. Temel manada Dfs’in ne işe yaradığını hatırlarsak; Dfs, networkdeki birbirinden farklı bilgisayarlar üzerinde bulunan paylaştırılmış klasörlerin kullanıcılara tek bir merkezden sunulmasına imkan tanıyan bir özelliktir. Bu sayede kullanıcılarınızın network üzerinde bulunan tüm bu dağıtık yapıdaki kaynakları sanki tek bir yerde toplanmış gibi görüp kullanacaklardır ve üstelik bu kullanıcılar eriştikleri bu kaynakların fiziksel yerini bilmek zorunda değillerdir. Örneğin sizin muhasebe departmanının kullandığı belgeler muhasebe departmanındaki bilgisayarlar üzerinde dağıtık bir şekilde tutuluyor olsun. Bu durumda muhasebe departmanı çalışanları ihtiyaç duydukları belgeye ulaşmak istediklerinde o belgenin hangi bilgisayardaki paylaşımda tutulduğunu bilmek zorundadır. Bu problem yani hangi belgenin hangi bilgisayardaki hangi paylaşımda olduğunu bilmek zorunluluğu özellikle bilgisayar sayısı ve bu bilgisayarlardaki paylaşılmış klasör ve belgelerin artmasıyla iyice kendini hissetdirecektir. Bide bunun üstüne belgelerin yerinin değişmesi, belgelerin bulunduğu bilgisayarın isminin değişmesi gibi durumlar eklenince problemler kendini fazlasıyla hissetdirecektir.Tüm bu problemlerden kurtarmak için Dfs iyi bir çözümdür. Oluşturacağımız bir Dfs Root’unun altına toplayacağımız tüm muhasebe paylaşımları ile kullanıcıların sadece tek bir paylaşım üzerinden tüm belgelere erişmelerini sağlayabiliriz. Bu sayede belgelerin fiziksel yerlerinde bir değişiklik olduğunda dahi kullanıcılar bunu hissetmeyecektir. Birazda Dfs terminolojisine bakalım; Root: Kullanıcılar tarafından görülen asıl isim. Dfs root bizim Dfs hiyerarşimizdeki başlangıç noktamızdır ve bu root’un altına diğer bilgisayarlardaki paylaşılmış klasörleri bağlarız. Oluşturacağımız Dfs root mutlaka NTFS dosya sistemini kullanan bir partition üzerinde olmalıdır. Ama bu Dfs root’a bağlanacak diğer bilgisayarlardaki paylaştırılmış klasörlerin NTFS üzerinde tutulmaları gibi bir zorunluluk yoktur. Not Windows Server 2003 Standart Edition yüklü bir bilgisayarda sadece bir tane Dfs Root oluşturabilirsiniz. Eğer birden fazla Dfs Root’una ihtiyaç duyuyorsanız bu durumda Windows Server 2003 Enterprise Edition yada Windows Server 2003 Datacenter Edition kullanmalısınız.
Link: Bilgisayarlar üzerindeki paylaşımları yada başka bir Dfs Root’unu kendi Dfs Root’umuzun altına eklemek için kullanacağımız Dfs bileşeni. Target: Dfs Root’u altına bağlayacağımız paylaştırılmış klasörler. Referral: Client’ın Dfs Root’u altındaki klasörlere erişimlerinde istekte bulunan bilgisayara, erişilmek istenen kaynakların fiziksel yerini gösteren pointer. Dfs Bu liste
istekte bulunan bilgisayarın cache’inde belirli bir süre kalır.Bu süreyi Dfs konfigürasyonunu yaparken kendiniz belirleyebilirsiniz. Replica: Farklı bilgisayarlar üzerinde aynı içeriği sunan paylaştırılmış klasörleri ifade eder. Bu klasörlerin aynı içeriği sunmaları için File Replication Service (FRS)’e büyük iş düşmektedir. Ama FRS’in otomatik replikasyon özelliğini kullanmak istiyorsanız oluşturacağınız Dfs Root’unun domain root’u olması gerekiyor. Yeri gelmişken Dfs’de oluşturabileceğimiz root çeşitlerinden de bahsedelim. 1.
Stand-alone Dfs root: • Active Directory’i kullanmaz. Dolayısıyla PKT (Partition Knowledge Table) bilgileri lokal registry’de tutulur. Eğer stand-alone root server çökerse bu server’daki tüm Dfs yapısı bozulur. • Bir server üzerinde birden fazla Dfs root oluşturamazsınız.
•
2.
File Replication Service (FRS) aracılığıyla otomatik dosya replikasyonunu desteklemez.
Domain Dfs root: • Domain Dfs root oluşturacağınız bilgisayar bir domain üyesi olmak zorundadır.
• • • •
Dfs yapısı ve PKT (Partition Knowledge Table) Active Directory’de tutulur. Aynı server üzerinde birden fazla Dfs root oluşturabilirsiniz. File Replication Service (FRS) aracılığıyla otomatik dosya replikasyonu gerçekleştirebilir. Bu sayede aynı içeriği sunan iki farklı paylaştırılmış klasörlerin içeriğinin senkronizasyonu otomatik olarak gerçekleşir. Dfs bilgilerini Active Directory’de tutduğu için Dfs root çökse bile diğer Dfs root’lar Active Directory’deki bu bilgileri kullanarak istemcilere hizmet verebilir.
Not Windows Server 2003’deki Dfs’i sadece NFTS dosya sistemiyle birlikte kullanabilirsiniz.
Yukarıda Partition Knowledge Table (PKT) diye birşeyden söz ettik. Peki nedir bu Partition Knowledge Table (PKT)? Partition Knowledge Table (PKT)’ı Dfs yapısının tutulduğu bir liste gibi düşünebiliriz ve bu listede bizim Dfs yapımızı oluşturan link’ler, bu linklerin network üzerindeki hangi paylaşılmış klasörü gösterdiği vs gibi bilgiler mevcutdur. Stand-alone Dfs root’da Partition Knowledge Table (PKT) registry’de tutulur. Dolayısıyla sizin Dfs yapınız yani Dfs root’a kaç tane link bağlayabileceğiniz ve bu link’lerin karakter uzunluğu PKT’nin registry’de tutacağı yerle doğru orantılıdır. Windows Server 2003’den önceki işletim sistemlerinde PKT registry’deki System hive’inde tutuluyordu ve System hive’inin boyutu maksimum 16 MB olduğu için (bu kısıtlama Windows’un boot prosesinden kaynaklanır) bizim Dfs yapısı içerisinde her bir link’in maksimum yol uzunluğunu kullandığını varsayarsak yaklaşık 10000 link’e karşılık gelir. Windows Server 2003’de ise Partition Knowledge Table (PKT) artık registry’deki System hive’inde değil de Software hive’inde tutuluyor. Fakat Microsoft yukarıdaki kısıtlamaları halen gözönünde bulundurmamızı öneriyor. Domain Dfs’lerde ise PKT Active Directory içinde tutulur. Her bir DFS root’u Active Directory’de bir fTDfs objesi olarak tutulur ve bu obje bir pKT attribute’üne sahiptir. Microsoft bu pKT attribute’ünün 5MB’dan küçük tutulmasını önerir. Bu da her bir link’in maksimum yol uzunluğunu (max path length) kullandığını varsayarsak yaklaşık 5000 link’e
karşılık gelir. Fakat burada unutulmaması gereken önemli bir nokta da şudur; Dfs’de yapacağınız ve bu attribute’u etkileyecek her değişiklikde bu attribute’ün diğer domain controller’lara replike edilmesi gerekecektir. Bu durumda pKT’nin boyutunu gözönüne alınca replikasyon trafiğinin bir hayli fazla olacağını söyleyebiliriz.
Şekil-1:Domain Dfs root’lar Active Directory içinde birer fTDfs objesi olarak tutulurlar. İstemciler Dfs root’a bağlanıp buradaki linklere tıkladıklarında bu bilgisayarlara Dfs tarafından erişmek istedikleri kaynakların fiziksel yerlerini işaret eden referanslar PKT içinden seçilerek gönderilir. Eğer bu referanslar içinde istekte bulunan istemci ile aynı Site’da yer alan bir referans varsa listenin ilk sırasına o yerleştirilir ve istemciye o şekilde liste gönderilir. Bu sayede istemci erişmek istediği kaynağın kendisiyle aynı site içinde bulunan bilgisayar üzerindeki kopyasına erişeceketir. Bu referanslar istemcinin cache’inde belirli bir süre kalır. Paylaşılmış kaynakların asıl yerlerini işaret eden bu referansların belirli bir süre cache’de tutulması Dfs root’un yükünü hafifletir. İstemcilerdeki bu PKT cache’ini görmek için Support Tools ile birlikte gelen DFSUTIL programını kullanabiliriz. Şekil-2’de DFSUTIL programının örnek bir çıktısı gösterilmiştir. Burada listelenen referanslar içinde karşısında ACTIVE yazanlar istemcinin kullandığı referansları gösterir.
Şekil-2: Dfsutil programını kullanarak istemcilerin PKT cache’ini görebilirsiniz.
Şimdi Windows Server 2003’de Dfs konfigürasyonuna başlayabiliriz. Öncelikle Administrative Tools’dan Distributed File System’i açıyoruz. Yeni bir root oluşturmak için sol tarafda bulunan Distributed File System ikonunun üzerine sağ tıklayıp New Root’u seçiyoruz. Karşımıza çıkan New Root Wizard penceresinde Next butonuna basarak bir sonraki pencereyi yani oluşturacağımız root’un tipini seçeceğimiz Şekil-3’deki pencereyi açıyoruz.
Şekil-3: Oluşturacağımız DFS root’unun tipini seçtiğimiz pencere. Karşımıza çıkacak bir sonraki pencere Şekil-4’deki penceredir ve oluşturacağımız root’un tutulacağı domain’i bu pencere yardımıyla belirliyoruz. Eğer bir önceki adımda root tipi olarak stand-alone seçmişseniz bu pencere ile karşılaşmazsınız.
Şekil-4:Oluşturduğumuz Dfs root’unun tutulacağı domain’in seçildiği pencere. Bir sonraki adımda, oluşturduğumuz Dfs root’unun tutulacağı server’ı belirleyeceğimiz Şekil5’deki pencere çıkacaktır.
Şekil-5:Dfs root’unun tutulacağı server’ın belirlendiği pencere Bu penceredeki Server name kısmına Dfs root’umuzun tutulacağı server’ın ismini yazıp yada Browse butonuna basarak server’ımızı seçip Next butonuna basarak Şekil-6’da gösterilen ve asıl Dfs root’umuzun istemciler tarafından görelecek kısmı olan root ismini belirlemeye. Bu penceredeki ilgili yerleri doldurup Next butonuna basıyoruz ve karşımıza çıkan penceredeki Finish butonuna basarak Dfs root oluşturma işlemini başarıyla bitiriyoruz.
Şekil-6:Oluşturduğumuz Dfs root’una vereceğimiz ismi belirlediğimiz pencere. Oluşturduğunuz Dfs root’larını Distributed File System konsolundan yönetebilirsiniz.(Şekil7)
Şekil-7: Distributed File System konsolu
Oluşturduğumuz Dfs root’u altına link eklemek için ilgili Dfs root’unun üzerine sağ tıklayıp açılan menüden New Link’I seçin. Karşınıza Şekil-8’deki pencere çıkacaktır. Bu penceredeki Link name kısmına kullanıcıları Dfs root’u altında görmelerini istediğiniz ismi yazın. Path to target (shared folder) kısmına ise kullanıcılarınızı yönlendireceğiniz ve asıl paylaşılmış dosyaların yolunu yazın. Comment kısmına bir açıklama ekleyebilirsiniz. “Amount of time client cache this referral in seconds” kısmına gireceğiniz değer istemci bilgisayarlatın Dfs root’u altındaki bu link’e tıklamaları halinde bu link’in fiziksel yeri hakkında alacakları bilgiyi ne kadar süre cache’lerinde tutacaklarını belirler. Varsayılan olarak be değer 1800 saniyedir.
Şekil-8:Dfs root’u altında yeni bir link oluşturuyoruz. Oluşturduğumuz bu link’in işaret ettiği paylaşılmış klasörlerin network üzerinde başka kopyaları da olabilir ve biz bu kopyaları hata toleransı sağlamak için kullanmak isteyebiliriz. Bu durumda bizim yapmamız gereken şey Dfs root’u altında oluşturduğumuz link’e yeni bir target eklemek. Bu işlemi gerçekleştirmek için ilgili link’in üzerine sağ tıklayıp New Target seçeneğini seçiyoruz. Karşımıza Şekil-9’daki pencere çıkacaktır. Bu penceredeki Path to target (shared folder) kısmına Dfs root’daki link’in replikasının yolunu yazıyoruz.
Şekil-9: Dfs root’u altındaki mevcut link’e yeni bir replika ekleyerek bu link için hata toleransı sağlayabilirsiniz. Bu penceredeki “Add this target to the replication set” seçeneğini seçerseniz iki klasörün birbirlerinin replikası olmasını sağlarsınız ve bu iki klasörün içeriği FRS tarafında otomatik olarak senkronize edilir.Bu seçeneği seçip OK butonuna bastığınızda karşınıza bir uyarı mesajı gelecektir ve bu mesajda replikasyon konfigüre edilmeden iki klasör arasında herhangi bir replikasyon işleminin gerçekleşmeyeceği belirtilmekte ve replikasyonu konfigüre etmek isteyip istemediğimiz sorulmaktadır. Eğer replikasyonu konfigüre etmek istersek karşımıza Configure Replication Wizard başlıklı bir pencere çıkacaktır. Bu pencere Next butonuna basıp ilerlediğimizde ise Şekil-10’daki pencere ile karşılaşırız. Bu pencerede listelenen paylaşılmış klasörlerden birisini Master olarak seçmemiz gerekiyor. Seçmiş olduğumuz Master’ın içeriği diğer tüm replikalara taşınacaktır. Bu penceredeki Staging Folder kısmında belirtilen klasörler replikasyon sırasında kullanılacak geçici klasörlerin yolunu gösteriyor.
Şekil-10:Oluşturduğumuz link’lerden birisini replikasyon işlemi için Master olarak konfigüre etmemiz gerekiyor. Bir sonraki adımda klasörler arasındaki replikasyonun nasıl bir topoloji baz alınarak gerçekleştirileceğini belirleyeceğimiz Şekil-11’deki pencere ile karşılaşıyoruz.
Şekil-11:Replikasyon topolojisini belirlediğimiz pencere. Bu penceredeki Topology kısmında seçebileceğiniz replikasyon topolojileri şunlardır; •
Ring : Bu topolojide dosyalar bir bilgisayardan diğerine daire şeklinde bir yapı izleyerek replike edilir. (Windows 2000 Server’daki Dfs’de kullanılan replikasyon topolojisi ring topolojisidir.)
•
Hub and Spoke: Bu replikasyon topolojisinde diğer tüm bilgisayarlara bağlı olan bir bilgisayar Hub olarak seçilir ve geri kalan bilgisayarlar spoke olur. Spoke olarak konfigüre edilen bilgisayarlar sadece Hub olarak konfigüre edilen bilgisayarla doğrudan replikasyon gerçekleştirebilirler.
•
Full mesh: Bu yapıda tüm bilgisayarların birbirine bağlı olduğu varsayılır ve bir bilgisayara eklenen bir dosya diğer tüm bilgisayarlara replike edilir.
•
Custom (build connections on my own later) : Bu seçenekte bilgisayarlar arasında kurulacak bağlantıları kendinizin oluşturması gerekiyor.
FRS’in kullandığı replikasyon topolojisinde değişiklik yapmak, bilgisayarlar arasında kurulan bağlantıları görmek ve konfigüre etmek için ilgili link’e Dfs konsolu üzerinde sağ tıklayıp Properties’i seçiyoruz. Karşımıza çıkan penceredeki Replication tabına tıklayarak replikasyonla ilgili ayarları yapacağımız pencereyi açıyoruz. Bu penceredeki Topology kısmında o an seçili olan replikasyon topolojisini görebilir, Schedule butonuna basarak replikasyonun hangi zaman aralıklarında gerçekleşeceğini belirleyebilir ve File filter ve Subfolder filter kısımlarındaki ayarlarla replikasyon sırasında hangi dosya tiplerinin yada alt klasörlerin replike edilmeyeceğini belirleyebilirsiniz. Eğer replikasyon topolojisinde değişiklik yapmak istiyorsanız Customize butonuna basarak Şekil-12’deki pencereyi açın.
Şekil-12: Dfs’de kullanılan replikasyon topolojisinin görüntülendiği ve değiştirilebildiği pencere Not File Replication Service (FRS) servisini kullanarak otomatik dosya replikasyonunu sadece domain Dfs’lerde kullanabilirsiniz. Replikasyon işlemi sırasında bilgisayarlar replike edilecek klasörün içeriğini Master olarak konfigüre edilen bilgisayardan alırlar. Fakat bu bilgisayarlardaki klasörlerin içerisinde Master’daki dosyalardan farklı dosyalar varsa bu durumda o dosyalar ilgili klasörün içinde oluşturulacak NtFrs_PreExisting___See_EventLog isimli klasöre taşınacaklardır ve Event Log’a Şekil 13’de gösterilen uyarı mesajı yazılacaktır.
Şekil-13:FRS’in replikasyon işlemi sırasında klasör içindeki dosyaları taşıdığını ifade eden uyarı mesajı Windows Server 2003’de Dfs’i yönetmek için Dfscmd uygulamasını kullanabilirsiniz. Bir komut satırı uygulaması olan Dfscmd ile Dfs rootlarını,linkleri, target’ları yönetip konfigüre edebilirsiniz. Örneğin aşağıdaki komutlardan birincisi \\f1.com\belgeler root’unun altına samsun isimli bir link eklerken ikinci komut aynı link’i root’dan kaldırmaya yarar.
dfscmd /map \\f1.com\belgeler\samsun \\halil\samsun
dfscmd /unmap \\f1.com\belgeler\samsun