Windows Server 2008 Active Directory Snapshot

tarafından 6 Nisan 2010 tarihinde Microsoft kategorisine yazıldı.

Windows Server 2008’in yeni özelliklerinden birisi de offline kullanım için Active Directory veritabanının snapshot ( anlık görüntülerini) oluşturabilmemizdir. Snapshot Volume Shadow Copy tarafından oluşturulan bir shadow copy’dir ve Active Directory veritabanı ve log dosyalarını içerir. Active Directory veritabanı ve log dosyalarını snapshot’lar sayesinde Domain Controller’ı Directory Service Restore Mode ile başlatmadan görüntüleyebilirz.

Active Directory snapshot ile backup dosyamızı AD DS altında farklı bir porta mount edebilir ve LDAP aracılığıyla backup dosyasındaki verileri salt okunur olarak görüntüleyebiliriz.

AD snapshotlarını kullanabileceğimiz birkaç senaryodan bahsedecek olursak; Örneğin AD yer alan bir nesnenin özellikleri kullanıcılardan birisi tarafından değiştirildi ve daha sonra kullanıcı eski özelliklere geri dönmesi gerektiğini belirtti. Böyle bir durumda varsa AD snapshot’ı farklı bir porta mount ederek değişen nesnenin eski özelliklerini kazanmasını sağlayabiliriz. Ayrıca silinen nesnelerin kurtarılması işlemini de benzer şekilde gerçekleştirebiliriz.

AD snapshotları mount edildiğinde varolan nesnelerin türlerini ve onlarla ilgili diğer bilgileri de görüntülemenizi sağlar. Ancak çalışan veritabanına nesneleri kopyalamanıza ve taşımanıza izin vermez. Kopyalamak ya da taşımak istediğiniz nesneleri manuel olarak export etmeniz ve sonra da çalışan veritabanına import etmeniz gerekir.

İlk etapta snapshot oluşturma, mount etme, export ve import işlemleri havuz problemi çözmek gibi karmaşık gelebilir.Ancak snapshot’ları kullandıkça göründüğü kadar zor olmadığını göreceksiniz.

Ayrıca dikkat etmemiz gereken noktalardan biri de AD Snaphot’larının korunması için gerekli güvenlik önlemlerini aldığımızdan emin olmamızdır. Örneğin; AD DS snapshotları şifreleyebilir ya da verileri yetkisiz erişimlere karşı koruduğumuz güvenlik önlemleri gibi önlemler alabiliriz.

Active Directory Snapshot Oluşturma

Active Directory snapshot oluşturmak için NTDSUTIL komutunu kullanmanız gerekir. Windows Server 2008 üzerinde AD DS ve AD LDS rollleri yüklü ise NTDSUTIL komutunu çalıştırıyoruz.

clip_image002

Bu işlemleri otomatikleştirerek Active Directory snapshot almayı kolaylaştırabiliriz. Bu işlemi nasıl yapacağımızı ilerleyen bölümlerde anlatacağım.

Active Directory Snapshot Nasıl Mount Edilir?

Snapshot’a bağlanabilmek için öncelikle snapshot’ı mount etmeliyiz. Active Directory snapshot’ı mount etmek için aşağıdaki işlemleri eksiksiz bir şekilde yerine getirelim. Komut satırını (cmd) Run as Administrator diyerek Administrator yetkisi ile açıyoruz.

clip_image004

Active Directory snapshot’ına bağlanmak için DSAMAIN komutunu kulanmamız gerekiyor. DSAMAIN Windows Server 2008 ile gelen bir komuttur. Eğer Active Directory Domain Service ya da Active Directory Lightweight Directory Service rolü server’da yüklü ise DSAMAIN komutunu kullanabiliriz.

DSAMAIN’i kullandıktan sonra Active Directory snapshot’ına bağlanmak için, Active Directory Users and Computers, LDP.exe, ADSIEDIT.msc gibi GUI arabirimine sahip araçları kullanabiliriz. Ayrıca snapshot’a bağlandıktan sonra veritabanındaki verileri export etmek için LDIFDE yada CSVDE gibi araçları da kullanabiliriz.

DSAMAIN kullanarak snapshot’ın içerdiği verilere bağlandığımızda;

Veriler üzerindeki tüm izinler snapshot üzerinde de geçerlidir.

Varsayım olarak, Domain Admins ya da Enterprise Admins grubunun üyeleri snapshotları görüntüleme iznine sahiptir.

DSAMAIN komutunu kullanabilmek için NTDS.dit dosyasının tam yolunu bilmemiz gerekir. NTDS.dit dosyasının yolunu görüntülemek ya da kopyalamak için;

Windows Explorer’ı açın ve NTDS.dit dosyasının bulunduğu yere kadar ilerleyin. Dosya adı ve uzantısıyla birlikte dosyanın yolunu kopyalayın.

clip_image006

clip_image008

Active Directory snapshot’ını unmount ettikten sonra silmezsek güvenlik açısından riskli bir durum oluşturacağımızı unutmuyoruz.

clip_image010

Sonrasında DSAMAIN komutuna LDAP istekleri için bir port tanımlamak zorundayız. Burada önemli nokta kullanımda olmayan bir portu kullanmamız gerektiğidir. Ben bu örnekte 10389 nolu portu kullanacağım. DSAMAIN için atayacağım porttan sonraki 4 port LDAP, LDAP/SSL, GC, GC/SSL portlarından oluşacaktır. İstediğiniz takdirde her servis için farklı bir port tanımlayabilirsiniz.

• LDAP: 10389

• LDAP/SSL: 10390

• GC: 10391

• GC/SSL: 10392

Active Directory Snapshot’ına bağlanmak için aşağıdaki adımları takip edin;

Windows Server 2008 D.C üzerinde Domain Admins yetkisine sahip bir kullanıcı ile logon olun. Komut satırını “Run as Administrator” ile açın ve aşağıdaki komutu girin.

clip_image012

Active Directory Snapshot Bağlantısını Kesme (Disconnect)

AD Snapshot bağlantısını kesmek için tek yapmamız gereken CTRL+C tuş kombinasyonunu kullanmak. Bunun sonucunda aşağıdaki gibi bir çıktı ile karşılaşıyoruz.

clip_image014

Active Directory Snapshot Unmount

Ve yapmamız gereken son adımla yani snapshot unmount işlemi ile devam ediyoruz. Windows Server 2008 D.C üzerinde Domain Admins yetkisine sahip bir kullanıcı ile logon olun. Komut satırını “Run as Administrator” ile açın ve aşağıdaki komutları sırasıyla girin.

clip_image016

Active Directory Snapshot’ın Silinmesi

Active Directory Snapshot’larını silmek için komut satırında sırayla aşağıdaki komutları giriyoruz.

clip_image018

Active Directory Snapshot alınması, mount edilmesi, unmount edilmesi ve silinmesi gibi işlemleri nasıl yapacağımızı anlattıktan sonra sıra geldi Snapshot alma işlemini otomatikleştirmeye.

Active Directory Snapshot Alma İşlemini Otomatikleştirmek

Active Directory Snapshot alma işlemini otomatikleştirmek için öncelikle bir script dosyası oluşturuyoruz.

clip_image020

Dosyanın adını ad-snapshot.bat olarak (dosyaya istediğiniz ismi verebilirsiniz)  C sürücüsünde Scripts isimli bir klasörün içine kaydediyorum. Eğer bu script’i manuel olarak çalıştırmak isterseniz Domain Admins ya da Enterprise Admins yetkilerine sahip bir kullanıcı ile logon olmanız gerekir.

clip_image022

Server Manager konsolundan Task Scheduler’ı (Zamanlanmış Görevler) açıyoruz.

clip_image024

Create Basic Task ekranında oluşturmak istediğimiz görev için bir isim ve açıklama yazıyoruz ve next diyerek ilerliyoruz.

clip_image026

Task Trigger ekranında görevi çalıştırmak istediğimiz zamanı belirledikten sonra ilerliyoruz.

clip_image028

Weekly penceresinde görevi çalıştırmak istediğimiz gün ve saati seçiyoruz.

clip_image030

Action bölümünde Start a Program seçeneğini seçerek devam ediyoruz.

clip_image032

Oluşturduğumuz scriptin yolunu Browse aracılığı ile gösterdikten sonra, Next diyerek devam ediyoruz.

clip_image034

Ve şimdiye kadar yapmış olduğumuz ayarlara son kez göz atarak işlemimizi tamamlıyoruz.

clip_image036

Task Scheduler konsoluna geri dönerek görev yapılandırmamızı inceleyebiliriz.

Task Scheduler’da tanımlamış olduğumuz görevin üzerinde sağ tıklayıp properties diyerek oluşturduğumuz görevin özelliklerinden General tabına giderek Change User or Group bölümünden bu görevi çalıştıracak bir kullanıcı seçiyorum.  Bu bölümde tanımladığım kullanıcı logon olmasa bile bu işlemin gerçekleşmesi için “Run whether user is logged on or not” seçeneğini seçiyorum ve Change User or Group butonunu tıklıyorum. (Bunu yapmamın sebebi Administrator hesabı ile logon olmak yerine normal bir kullanıcı hesabı ile logon olsam bile Run-as komutu sayesinde bu görevi çalıştırabilmek)

clip_image038

Select User or Group ekranında scripti çalıştıracak bir kullanıcı hesabı tanımlıyorum. Ben burada Administrator kullanıcısını seçiyorum ve ok diyorum.

clip_image040

Kullanıcı hesabını ekledikten sonra bu pencereyi kapatmak için ok’i tıkladığımda bir authentication ekranıyla karşılaşıyorum. Scripti çalıştırması için buraya eklediğim kullanıcının parolasını girerek bu adımı tamamlıyorum.

clip_image042

Eğer oluşturduğumuz görevi test etmek istersek, görevin üzerinde sağ tıklayıp Run diyerek bir snapshot oluşturabiliriz. Eğer snapshot yaratılırsa herhangi bir sorun yok demektir.

clip_image044

Active Directory Snapshot işlemleri ile ilgili makalemizin sonuna geldik. Umarım yararlı olmuştur.

email

Bu yazı blog üzerinde Tayfun DEĞER tarafından paylaşılmıştır. 2009 yılında açılan blog kısa zaman içerisinde büyük bir izleyici kitlesine sahip olmuştur.Tayfun DEĞER danışmanlık ve eğitimler vermektedir. vExpert 2013-2017, VCP5, VCP5-DT, VCP-Cloud ve MCSE sertifikalarına sahiptir.Twitter 'dan @tayfundeger veya RSS ile sitedeki değişiklikleri takip edebilirsiniz.