1. Ana Sayfa
  2. Server 2003
  3. Active Directory Veritabanı Birleştirme İşlemi (Offline Defragmentation)

Active Directory Veritabanı Birleştirme İşlemi (Offline Defragmentation)

Directory Servisi (DS) Directory (AD) veritabanı () için işlemini garbage-collection işleminin bir parçası olarak  her 12 saatte bir yapar. Garbage-collection işlemi sırasında öncelikle tombstone süresi dolmuş objeler veritabanından tamamıyla kaldırılır, gereksiz log dosyaları temizlenir ve son olarak da online (birleştirme) işlemi yapılır. Fakat bu online sırasında veritabanını küçültemez. Yeni nesnelerin ve attribute’ların eklenmesiyle de Active Directory veritabanı () zamanla çok büyük boyutlara ulaşabilir. Bu boyutu küçültmenin yolu ise defragmentation yapmaktır.


Şekil-1 Offline Defragmentation öncesi veritabanı ve boyutu 

.dit dosyasını offline olarak küçültmek için aşağıdaki adımları sırasıyla gerçekleştireceğiz fakat işlemlere başlamadan önce mutlaka Active Directory yedeği almalısınız. Özellikle tek domain controller’dan oluşan bir yapınız varsa bu çok önemlidir. Compact işlemi sırasında veritabanı bozulabilir ve geri dönülmesi yapılamayabilir!

1. Sunucuyu Directory Services Restore Mode (Dsrepair)’ da başlatın. Bunu, makine açılırken F8’e basarak  açılış seçeneklerinden bu modu seçerek yapabilirsiniz. Eğer sunucuya terminal bağlantı ile bağlanmışsanız msconfig yardımıyla bir sonraki açılış modunu Dsrepair olarak belirleyebilirsiniz.  Bunun için;

Start > Run’a msconfig yazıp, enter’e basın.

Boot.ini sekmesinde, Boot Options kısmında /SAFEBOOT ve DSREPAIR seçeneklerini seçin. Değişikliği uygulayıp, makineyi yeniden başlatın.


Şekil-2 

2. Sunucuya yerel Administrator hesabı ile logon olun.

3. Güvenli modda çalıştığınızı belirten uyarı mesajını OK ile geçin.

4. Start > Run’a Cmd yazarak, command prompt’u çalıştırın.

5. Sırasıyla aşağıdaki koyu olarak belirttiğim komutları yazıp enter’e basın. 

C:\>
ntdsutil: files
file maintenance:info
….
file maintenance:compact to c:\temp

6. Defragmentation işlemi başlayacaktır. Ntds.dit dosyasının büyüklüğüne ve bölünme miktarına göre işlem süresi değişebilir. Operation completed successfully in ….. seconds mesajından sonra iki kez quit komutunu kullanarak ntdsutil’den çıkın.

7. C:\Temp altına birleştirdiğimiz yeni Ntds.dit dosyasını %Systemroot%\Ntds klasörü altına taşıyın. Bu işlemi komut satırından aşağıdaki komutla da yapabilirsiniz.

copy c:\temp\ntds.dit %systemroot%\ntds\ntds.dit

8. Sunucuyu normal olarak başlatın (msconfig’den safeboot’u işaretleyerek yaptıysanız bu seçeneği tekrar kaldırın).

Tüm işlemlerin akışı aşağıdaki gibi oluşacaktır. Koyu olanlar girdiğim komutları gösteriyor.

C:\Documents and Settings\mshowtoadm>ntdsutil

ntdsutil: files

file maintenance: info

Drive Information:

C:\ NTFS (Fixed Drive  ) free(7.2 Gb) total(19.5 Gb)

D:\ NTFS (Fixed Drive  ) free(5.7 Gb) total(14.3 Gb)

DS Path Information:

   : C:\WINNT\NTDS\ntds.dit – 2.1 Gb

Backup dir : C:\WINNT\NTDS\dsadata.bak

Working dir: C:\WINNT\NTDS

Log dir    : C:\WINNT\NTDS – 40.0 Mb total

res2.log – 10.0 Mb

res1.log – 10.0 Mb

edb0128E.log – 10.0 Mb

edb.log – 10.0 Mb

file maintenance: compact to C:\Temp

Opening database [Current].

Executing Command: C:\WINNT\system32\esentutl.exe /d”C:\WINNT\NTDS\ntds.dit” /t”

C:\Temp\ntds.dit” /p /o 

Initiating DEFRAGMENTATION mode…

            Database: C:\WINNT\NTDS\ntds.dit

      Temp. Database: C:\Temp\ntds.dit

                  Defragmentation Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100

          |—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|

          ……………………………………………

Note:

  It is recommended that you immediately perform a full backup

  of this database. If you restore a backup made before the

  defragmentation, the database will be rolled back to the state

  it was in at the time of that backup.

Operation completed successfully in 347.406 seconds.

Spawned Process Exit code 0x0(0)

If compaction was successful you need to:

copy “C:\Temp\ntds.dit” “C:\WINNT\NTDS\ntds.dit” and delete the old log files:

del C:\WINNT\NTDS\*.log

file maintenance: quit

ntdsutil: quit

Aşağıdaki şekilde eski ve yeni ntds.dit dosyalarının ilk ve son hallerini görebilirsiniz. Kazanılan disk alanı yaklaşık 500 MB civarında.


Şekil-3 

Referanslar

Performing Offline Defragmentation of the Active Directory Database

Yorum Yap

Yorum Yap