Active Directory (AD) Database ve Log dosyalarının farklı bir dizine taşınması, sistemin performansı, veri güvenliği ve yönetilebilirliği açısından oldukça stratejik bir adım olarak değerlendirilmelidir. Bu sürecin derinlemesine anlaşılması, AD'nin mimarisi ve çalışma prensipleri hakkında bazı önemli noktaların bilinmesini gerektirir.
Öncelikle, Active Directory Database'i, NTDS.dit olarak bilinen bir dosyada saklanır ve bu dosya, tüm Active Directory objelerini, kullanıcıları, grupları, bilgisayar hesaplarını, ve diğer önemli verileri içerir. Varsayılan olarak, bu veritabanı ve onunla ilişkili Log dosyaları, sistem sürücüsü olan C:\Windows\NTDS dizininde depolanır. Ancak, bu varsayılan yapılandırma, özellikle büyük ölçekli veya yoğun trafiğe sahip bir AD ortamında birtakım performans ve güvenlik sorunlarına yol açabilir.
Active Directory (AD) Database'i ve Log dosyalarını farklı bir dizine taşımanın arkasındaki teknik gerekçeleri daha derinlemesine inceleyelim. Bu konunun tam anlamıyla anlaşılması, AD'nin nasıl çalıştığını, veri tutarlılığına olan etkilerini ve sistem performansına katkılarını anlamayı gerektirir.
Disk I/O İşlemlerinin Optimizasyonu
AD Database'i NTDS.dit ve Log dosyaları, sistem sürücüsünde tutulduğunda, bu dosyalar aynı Disk üzerindeki diğer işletim sistemi dosyaları, uygulama verileri ve geçici dosyalarla aynı Input/Output - I/O kanallarını paylaşır. Modern sunucu ortamlarında, Disk I/O performansı sistemin genel performansında kritik bir rol oynar. Disk I/O, verilerin Disk'ten okunması ve Disk'e yazılması işlemlerini kapsar. AD'nin yoğun şekilde kullanıldığı ortamlarda, bu işlemler oldukça sık ve yoğun bir şekilde gerçekleşir.
Bir AD sunucusu, kullanıcı oturum açma taleplerini, grup politikası uygulamalarını, replikasyon süreçlerini ve diğer birçok işlemi yönetirken sürekli olarak NTDS.dit dosyasına erişir. Aynı zamanda, her değişiklik ve güncelleme bir Log dosyasına yazılır. Bu I/O taleplerinin tümü, işletim sisteminin kendisi tarafından yapılan I/O talepleriyle yarışır.
Sonuç olarak, aynı Disk üzerindeki I/O talepleri arasında bir darboğaz oluşabilir, bu da AD performansını doğrudan etkiler. AD Database'i ve Log dosyalarını ayrı bir fiziksel Disk'e taşıyarak, bu I/O işlemleri Diskler arasında bölünür ve her bir Disk'in yükü hafifletilmiş olur. Bu, AD'nin işlem hızını ve sunucunun genel performansını artırır.
Veritabanı Tutarlılığı ve Veri Bütünlüğü
AD Database'i ve Log dosyalarının farklı dizinlere veya fiziksel Disklere taşınması, veritabanı tutarlılığı ve veri bütünlüğü açısından da önemlidir. Active Directory, veritabanı değişikliklerini önce Log dosyalarına yazar, ardından bu değişiklikleri veritabanına (NTDS.dit) uygular. Bu iki aşamalı yazma süreci, sistemin çökmesi veya beklenmedik bir güç kaybı durumunda veri bütünlüğünü korumak için tasarlanmıştır.
Ancak, hem veritabanı dosyası hem de Log dosyaları aynı Disk üzerindeyse, Disk arızası durumunda her iki veri seti de zarar görebilir. Bu, veritabanının ciddi şekilde bozulmasına ve hatta geri döndürülemez veri kaybına yol açabilir. Veritabanı dosyasını ve Log dosyalarını ayrı fiziksel Disklere taşıyarak, bir Disk arızasında verilerin sadece bir kısmının zarar görmesi sağlanabilir, bu da veri kurtarma ve yeniden yapılandırma sürecini büyük ölçüde kolaylaştırır.
Replikasyon Performansı ve Tutarlılık
AD'nin dağıtılmış bir yapıya sahip olduğunu ve verilerin birden fazla Domain Controller (DC) arasında replikasyonla yayıldığını göz önünde bulundurmalıyız. Replikasyon süreci sırasında, AD veritabanı sık sık güncellenir ve bu güncellemeler Log dosyalarına yazılır. Log dosyalarının hızlı bir şekilde yazılabilmesi ve işlenmesi, replikasyon sürecinin sağlıklı bir şekilde ilerlemesi için kritik öneme sahiptir. Eğer Log dosyaları, işletim sistemi veya diğer yoğun I/O işlemleriyle aynı Disk üzerinde bulunuyorsa, bu, replikasyon performansını olumsuz etkileyebilir ve DC'ler arasındaki veri tutarlılığını tehlikeye atabilir.
Log dosyalarının ayrı bir yüksek performanslı Disk'e taşınması, replikasyon işlemleri sırasında Log yazma hızını artırır ve böylece replikasyon sürecinin hızlanmasını sağlar. Bu durum, AD verilerinin diğer DC'ler arasında daha hızlı ve tutarlı bir şekilde yayılmasına olanak tanır.
Disk Arızalarına Karşı Koruma
Tek bir Disk üzerinde hem AD Database'i hem de Log dosyalarını tutmak, Disk arızalarına karşı sistemin savunmasız hale gelmesine neden olabilir. Eğer bu Disk arızalanırsa, hem veri hem de işlem geçmişi kaybedilebilir. Ayrı Disklere sahip olmak, bu riski dağıtarak, en kötü senaryoda bile veri kurtarma şansını artırır. Örneğin, eğer sadece Log dosyalarını barındıran Disk arızalanırsa, en son tam yedeklemeden itibaren olan işlemleri kaybedebilirsiniz, ancak veritabanı dosyası sağlam kalırsa, geri yükleme işlemi daha kolay ve hızlı olur.
Disk Alanı ve Büyüme Yönetimi
AD veritabanı ve Log dosyaları, zamanla büyür. Bu büyüme, sistem Disk'i üzerinde ciddi alan sorunlarına yol açabilir. Özellikle yoğun kullanılan bir AD ortamında, Log dosyaları hızlı bir şekilde dolabilir ve bu durum işletim sistemi için ayrılan Disk alanını tehdit edebilir. Ayrı bir Disk'e veya depolama birimine taşınan veritabanı ve Log dosyaları, bu büyümenin sistem performansını etkilemesini engeller. Bu adım, Disk alanının daha iyi yönetilmesini sağlar ve sistem sürücüsünün gereksiz şekilde dolmasını önler.
1- CMD (Command Promt) üzerinde net stop ntds komutu çalıştırarak NTDS servisini durduruyorum.
1.1- Bu komutu çalıştırdıktan sonra; Kerberos Key Distribution Center (KDC), Intersite Messaging, DNS Server, DFS Replication şeklinde 4 tane ilişkili servisin durdurulacağı bilgisi geliyor.
1. Kerberos Key Distribution Center (KDC)
Kerberos Key Distribution Center (KDC), Active Directory ortamında kimlik doğrulama için kullanılan merkezi bir bileşendir. Kerberos protokolü, güvenli bir şekilde kullanıcıların ve servislerin kimliklerini doğrulamak için tasarlanmıştır. KDC, Authentication Service (AS) ve Ticket Granting Service (TGS) olmak üzere iki ana bileşenden oluşur.
» Authentication Service (AS): Kullanıcı, oturum açtığında AS'e kimlik doğrulama isteği gönderir. AS, kullanıcının kimliğini doğruladıktan sonra bir Ticket Granting Ticket (TGT) oluşturur ve bu TGT'yi kullanıcıya geri gönderir. Bu bilet, kullanıcının belirli bir süre boyunca, ki bu genellikle 10 saattir, sistemde kimlik doğrulama işlemlerini gerçekleştirebilmesini sağlar.
» Ticket Granting Service (TGS): Kullanıcı, bir servise erişmek istediğinde TGT'yi TGS'ye sunar. TGS, bu TGT'yi doğruladıktan sonra, kullanıcının erişmek istediği servise özel bir Service Ticket (hizmet bileti) oluşturur ve kullanıcının bu hizmete güvenli bir şekilde erişebilmesini sağlar.
KDC, AD Domain Controller üzerinde çalışır ve Kerberos protokolü aracılığıyla tüm Domain kullanıcılarının kimlik doğrulama işlemlerini yürütür. Bu servis durduğunda, Domain kullanıcıları Kerberos kimlik doğrulaması gerektiren servislere erişemezler ve oturum açma işlemleri başarısız olabilir. KDC'nin düzgün çalışması, AD ortamında güvenli kimlik doğrulama işlemleri için kritiktir.
2. Intersite Messaging (ISM)
Intersite Messaging (ISM), Active Directory ortamında site-to-site (site'lar arası) iletişimi yönetmek için kullanılan bir servistir. AD içinde, farklı fiziksel konumlarda bulunan Domain Controller'lar arasında replikasyon yapılırken, ISM protokolü kullanılır. Bu servis, farklı AD siteleri arasındaki replikasyon trafiğini ve verilerin güvenli bir şekilde taşınmasını sağlar.
ISM, özellikle düşük bant genişliği olan bağlantılarda verimli bir şekilde çalışmak üzere optimize edilmiştir. Site'lar arasındaki replikasyon trafiği, planlanan bir zamanlama çerçevesinde gerçekleşir ve ISM, bu trafiği yöneterek veri tutarlılığını korur. Eğer ISM servisi durursa, AD site'ları arasındaki replikasyon işlemleri durabilir veya kesintiye uğrayabilir, bu da veri tutarsızlıklarına yol açabilir.
3. DNS Server
DNS Server servisi, Active Directory ortamının bel kemiğini oluşturan bileşenlerden biridir. AD, tam anlamıyla işlevsellik kazanabilmesi için DNS'e bağımlıdır. DNS, isim çözümleme servisi olarak, Domain içindeki bilgisayarların ve servislerin IP adreslerini DNS adlarıyla eşleştirir.
AD ortamında, DNS özellikle Domain Controller'ların, istemcilerin ve diğer network bileşenlerinin birbirlerini bulabilmesi için kritik öneme sahiptir. Örneğin, bir client, Domain Controller üzerinde oturum açmak istediğinde önce DNS üzerinden Domain Controller'ın IP adresini çözümlemelidir. Ayrıca, AD'nin replikasyon işlemleri ve Global Catalog gibi diğer AD hizmetleri de DNS'e dayanır.
DNS Server servisi durdurulduğunda, AD ortamında isim çözümleme işlemleri başarısız olur. Bu durum, istemcilerin Domain Controller'lara bağlanamaması, AD replikasyonlarının başarısız olması ve genel olarak network iletişiminin ciddi şekilde etkilenmesiyle sonuçlanabilir.
4. DFS Replication (DFSR)
DFS Replication (DFSR), Distributed File System (DFS) içinde dosya verilerini replikasyon yapmak için kullanılan bir servistir. DFSR, özellikle farklı konumlardaki sunucular arasında dosya ve klasörlerin eşzamanlı olarak güncellenmesi ve senkronize edilmesi için kullanılır.
AD ortamında DFSR, özellikle SYSVOL paylaşımlarının Domain Controller'lar arasında replikasyonu için kritik öneme sahiptir. SYSVOL, AD içindeki politikaların ve script'lerin saklandığı yerdir ve bu verilerin tüm Domain Controller'lar arasında tutarlı olması gerekir. DFSR, bu verilerin tutarlı bir şekilde replikasyonunu sağlar ve böylece tüm Domain Controller'ların güncel politika ve script'lere sahip olmasını garanti eder.
DFSR servisi durdurulduğunda, SYSVOL ve diğer DFS replikasyonları kesintiye uğrar. Bu da, kullanıcıların doğru Group Policy yapısındaki politikalara erişememesi, oturum açma script'lerinin çalışmaması ve genel olarak AD yapısındaki tutarsızlıklarla sonuçlanabilir.
Bu uyarı alanında Y ile onaylayıp devam ediyorum.
Uyarı!: Active Directory Database (veri tabanı) ve Log'larının farklı bir dizine taşınması işlemi gerçekleştirmeden önce mutlaka System State yedeği (Active Directory yedeği) almayı unutmayın. Olası bir Active Directory Failover durumunda bu, Active Directory Recovery (kurtarma) olanağı sağlayacaktır.
2- Bir sonraki çalıştıracağım komut ise Ntdsutil komutudur. Komutu çalıştırdıktan sonra sırası ile aşağıdaki komutları tek tek çalıştırıyorum.
• ntdsutil
• Activate instance ntds
• Files
• info
3- Veri tabanının o anki durumunu sorgulamak için file maintenance adımında info komutu çalıştırırıyorum.
Active Directory Database (Veri tabanı) ve Log Dosyalarının Taşınması
4- Bu bilgiyi elde ettikten sonra artık Active Directory Database'i (veri tabanı) taşımak için aşağıdaki komutu çalıştırıyorum.
• Move db to E:\ActiveDirectory\NTDS2
Görüldüğü gibi Active Directory Database (veri tabanı) Path'i (dizini) değişti. E:\ActiveDirectory\NTDS2, dizinindeki Active Directory ve NTDS2 klasörleri, benim belirttiğim bir klasörlerdir.
5- Active Directory Database (veri tabanı) taşıma işlemini gerçekleştirdikten sonra sıra, Active Directory Database Log dosyalarını taşıma işlemine geldi. Bunun için aşağıdaki komutu çalıştırıyorum.
• Move logs to E:\ActiveDirectory\NTDS2
Görüldüğü gibi Active Directory Log dosyalarının Path'i (dizin yeri) değişti. Yukarıda da belirttiğim gibi E:\ActiveDirectory\NTDS2 dizinindeki ActiveDirectory ve NTDS klasörleri, benim belirttiğim bir klasördür.
6- Active Directory Veri tabanı ve Log dosyalarının taşınma işlemini gerçekleştirdikten sonra, ntdsutil aracından file maintenance adımında q (quit) ve ntdsutil adımında da q (Quit) komutları ile çıkış yapıyorum.
7- Yönetim aracından çıktıktan sonra unutmamamız gereken şey; durdurduğumuz NTDS Servisini tekrar çalıştırmak olacaktır. Bunun için net start ntds komutu ile mutlaka tekrar çalıştırılmalıdır.
8- Görüldüğü gibi E:\ActiveDirectory\NTDS2 dinizini kontrol ettiğimde, Active Directory Database (veri tabanı) ve Log dosyaları taşıma işleminin başarılı bir şekilde gerçekleştiğini görebiliyorum.
9- Active Directory Users and Computers konsolunu çalıştırıp, gerekli kontrollerimi sağlıyor, her şeyin olması gerektiği çalıştığından emin oluyourm.
Active Directory veritabanı ve log dosyalarının taşınması, Windows Server 2016 üzerinde dikkatle gerçekleştirilmesi gereken hassas bir işlemdir. Bu makalede, taşınma sürecinin adımları detaylı bir şekilde ele alındı. Ntds.dit veritabanı ve log dosyalarının doğru hedef dizine aktarılması, sistemin kararlılığını sürdürmek için kritik öneme sahiptir.
Doğru bir taşınma işlemi, hem performans artışı sağlar hem de Disk alanı yönetimini optimize eder. Özellikle PowerShell ve GUI kullanılarak bu sürecin nasıl gerçekleştirileceği net bir şekilde açıklandı. Ayrıca, işlemin öncesinde alınması gereken yedekler ve olası hatalardan kaçınmak için yapılması gereken kontroller vurgulandı.
Bu makale, Active Directory Database ve Log dosyalarını taşımayı planlayanlar için pratik bir rehber sunuyor. Doğru adımları izleyerek, sistem performansını artırabilir ve güvenli bir veri yönetimi sağlayabilirsiniz.
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.