کاربرد ابزار NTDS در دامین اکتیودایرکتوری

خدمات نصب اکتیو دایرکتوری مایکروسافت

برای مدیریت شبکه‌های دامین مدل بعد از نصب و راه اندازی سرویس اکتیودایرکتوری، مایکروسافت ابزارهای زیادی را در اختیار ما قرار میدهد. یکی از این ابزارها NTDS است. یک دامین کنترولر دیتای اکتیو دایرکتوری خود را در یک فایل به نام Ntds.dit ذخیره میکند.

 برای مشاهده  اطلاعات موجود در بخش‌های مختلف فایل NTDS.DIT میتوان از ابزارهای ADSIEdit و یا LDP.exe موجود در ویندوز یا ابزارهای دیگری که برای این کار ساخته شده اند، استفاده کرد.

بخش های اصلی ابزار NTDS در دامین‌های اکتیودایرکتوری

مهمترین اطلاعات موجود در NTDS در اکتیودایرکتوری در قسمت های زیر ذخیره میشوند:

Naming Context این قسمت در داخل NTDS.DIT شامل قسمتهای مختلفی میشود که از آن جمله:

Schema information

قسمت Schema تمام جزئیات در مورد اشیاء و ویژگیهای موجود در اکتیو دایرکتوری را دارا است. این اطلاعات در کل یک Forest توسط دامین کنترلری که صاحب رول Schema Master است کنترل و دچار تغییر میشود.

Configuration information

اطلاعات Configuration اطلاعتی است که شامل Forest و Tree است. این اطلاعات در کل یک Forest توسط دامین کنترلری که صاحب رول Domain Naming Master است کنترل و دچار تغییر میشود.

Application

اطلاعات Application دارای دو بخش است که یکی ForestDNSZones و دیگری DomainDNSZones میباشد.

  • ForestDNSZones در خود رکوردهای SRV و CNAME مربوط به Forest اکتیو دایرکتوری را در خود ذخیره میکند. سپس توسط عملیات Replication بین تمام دامین کنترولرها که دارای سرور DNS هستند، به کل Forest منتقل میشود.
  • DomainDNSZones در خود تمام رکوردهایDNS در یک Domain Zone را ذخیره میکند. سپس توسط عملیات Replication بین تمام دامین کنترولرهای موجود در یک Domain که دارای سرور DNS هستند به کل دامین منتقل میشود.

Domain information

اطلاعات Domain اطلاعتی است که شامل Objectهای یک دامین است و آن اطلاعات توسط عملیات Replication در اکتیودایرکتوری به تمام دامین کنترولرها در کل یک دامین منتقل میشود. لازم به یاد آوری است که برخی از این اطلاعات دامین توسط سرور گلوبال کاتالوگ در داخل Forest توسط عملیات Replication به سرورهای گلوبال کاتالوگ دیگر منتقل میشود.

برای ذخیره کردن این اطلاعات، یک بانک اطلاعاتی بر اساس (Extensible Storage Engine (ESE استفاده میشود که دارای سه جدول میباشد. یک جدول Schema، یک جدول Link و یک جدول Data.

Edb.log

این یک لاگ transaction log میباشد. یک فرم form از دیتابیس transaction است، منظور این است که هر تغییری که بر روی اشیاء Objects در اکتیو دایرکتوری انجام میشود، ابتدا در یک لاگ transaction ذخیره میشود تا fault tolerance ارائه شود. وقتی سرور Server تشخیص دهد که زمان time درست فرا رسیده است، موتور دیتابیس اطلاعات را به Ntds.dit منتقل میکند و همچنین مطمئن میشود که اطلاعات دیتابیس را در صورت بروز مشکل System crash میتوان دوباره بازسازی یا احیاء Recovery کرد .

Edbxxxxx.log

این یک لاگ transaction اضافی extra میباشد که از آن برای ذخیره سازی اطلاعات در زمانی که فایل Edb.log پر شده باشد و قبل از آنکه به فایل Ntds.dit منتقل شود، استفاده میشود. از یک شماره استفاده میکند . وقتی فایل Edb.log پر میشود، یک فایل جدید به نام Edbtemp.log ایجاد میشود. سپس فایل Edb.log به Edb00001.log تغییر نام داده میشود و در آخر فایل Edbtemp.log به Edb.log تغییر نام داده میشود .

Edb.chk

این یک فایل بررسی دیتابیس database checkpoint میباشد. کار آن این است که جریان نوشتن لاگ transaction را در دیتابیس علامت گذاری mark میکند. اگر سیستم به صورت غیر معمولی از کار باز بماند، این اشاره کننده به سیستم نشان میدهد که تا کجا کار انجام شده و در کجا عملیات از کار افتاده است، که این کار سبب سرعت بیشتر در عملیات Recovery میباشد .

Res1.log & Res2.log

اینها دو فایل لاگ رزرو reserve log میباشند که برای نگهداری جا یا مکان place در دیسک Disk از آنها استفاده میشود. آنها از اینکه update ها به سبب نبود فضای کافی دیسک Disk از دست بروند، جلوگیری میکنند .

Temp.edb

این یک فایل scratch pad میباشد که برای ذخیره کردن اطلاعات در حال پیشرفت یا در حال جریان transactions استفاده میشود و همچنین صفحات گرفته شده از Ntds.dit در طول نگهداری .

Schema.ini

این فایل برای مقداردهی اولیه Ntds.dit در زمانی که یک دامین کنترولر راه اندازی میشود و فایل Ntds.dit باید ساخته یا تشکیل شود.

منبع