Az igazán kemény legény

Vannak olyan dolgok, melyekhez az ember mindig félve nyúl hozzá. Ilyenek például az Exchange adatbázisok offline matyizásai a segédprogramokkal, és ilyen pl. az ntdsutil segédprogram is.
Ezek után egyetérthetünk, hogy az igazi extrém sport, az az Active Directory offline defregmentálása. Az ntdsutil programmal, directory restore módban.

Miért is lehet erre szükség? Hát, mert például a címtár ESE adatbázis alapú ldap szerver – ugyanolyan ESE adatbázismotor dübörög alatta, mint amilyen az Exchange alatt is. (Régóta mondogatom, a legtöbb izgalmas dolog az MS alapú szervertechnikában az Exchange-ből nőtt ki.) És ezeket a hasonló adatbázisokat hasonlóan is kell kezelni. Mindkettőben ugyanúgy keletkeznek whitespace-ek. Ráadásul a törlési mechanizmus az eleve pici objektumokra is elég rendes overhead-et rak rá, mire az törölhető állapotba kerül – és persze a végső törlés itt is csak az offline defrag lehet.

Mikor érjük el azt az állapotot, hogy most már aztán tényleg defregmentálnunk kell? Egyszerű, nézzük végig a tartományvezérlőinket, melyiken mekkora az ntds.dit fájl mérete. A rendszer logikájából következően az azonos tartományba tartozó DC-ken közel azonosnak kell lennie a fájl méreteknek is. Ha találunk olyat, mely drasztikusan kilóg a sorból, akkor arra már ráférhet az adjusztálás. (Csak a tisztánlátás kedvéért: habár címtár csak egy van, de az azt megvalósító ntds.dit fájlok minden további nélkül lehetnek eltérő méretűek: hiszen a szemét – mely nem vesz részt a folyamatokban – példányonként eltérő méretű lehet. Azaz megint nem bírtam ellenállni a bombasztikus cím kísértésének – de te már látod, hogy nem a teljes címtárat defregmentáljuk, hanem csak egy konkrét példányát, mely egy konkrét DC-n van.)
Segíthet a döntésben az is, ha úgy találjuk, hogy valamelyik DC gyanúsan lassú. Ha ekkor úgy látjuk, hogy az ntds.dit állománya is jóval nagyobb a többieknél, akár már hegyezhetjük is a karót.

És akkor nézzük végig az algoritmust:

  • Újraindítjuk a tartományvezérlőt, az F8 gombbal belépünk a Directory Restore üzemmódba
  • Parancssorból elindítjuk az ntdsutil programot
  • files
  • file maintenance: compact to: c:\munka
  • Meredten bámuljuk a progress bar csíkját
  • Ha végzett, akkor a c:\munka\ntds.dit állománnyal agyonvágjuk a %systemroot%\ntds\ntds.dit fájlt.
  • Újraindítjuk a tartományvezérlőt.

Az külön megérne egy eszmefuttatást, hogy milyen esetleges balesetek ellen hogyan kellene védekeznünk. Nyilván óvnunk kell az FSMO szerepeket, az se mindegy, mi van még a tartományvezérlőre telepítve, nyilván egy systemstate mentés is jól jöhet a művelet megkezdése előtt… legyünk kreatívak.

– Oz Ozugurlu cikke alapján –

Leave a Reply