رفع خطای رپلیکیشن اکتیودایرکتوری (AD) | Repadmin, DCDiag, DNS Fix
Active Directory Replication Failed: راهنمای جامع عیبیابی و رفع مشکل رپلیکیشن اکتیودایرکتوری
محمد عزیز، سلام! به عنوان یک طراح سایت و متخصص سئو، حتماً میدانی که پایداری سرورها و زیرساخت شبکه چقدر روی تجربه کاربری، سرعت لود و در نهایت سئو تاثیرگذار است. اما امروز میخواهیم عینک یک ادمین شبکه حرفهای را به چشم بزنیم و وارد عمیقترین لایههای دامین کنترلرهای ویندوزی شویم. بروز ارور Active Directory Replication Failed یکی از آن کابوسهایی است که اگر به موقع حل نشود، کل بیزینس و دسترسیهای کاربران به سیستمها را مختل میکند. ما در تیم فنی شبکه گستره هوشمند روزانه با سناریوهای متعددی از این دست روبرو هستیم و در این راهنمای جامع قصد داریم به صورت کاملاً عملیاتی به آموزش رفع Active Directory Replication Failed بپردازیم. پس با ما همراه باش تا این مشکل را یکبار برای همیشه ریشهکن کنیم!
ارور Active Directory Replication Failed به معنای عدم توانایی دامین کنترلرها در تبادل اطلاعات و همگامسازی دیتابیس NTDS.dit است. فاکتورهای کلیدی در بروز این اختلال شامل عدم کارکرد صحیح DNS سرور، مسدود بودن پورتهای RPC (پورت ۱۳۵ و پورتهای داینامیک)، اختلاف ساعت بیش از ۵ دقیقه (Kerberos Time Skew) و رکوردهای مرده در Active Directory Sites and Services هستند. فرآیند عیبیابی با ابزارهای تحت خط فرمان نظیر repadmin و dcdiag انجام میشود و راهحل آن اصلاح رکوردهای SRV، بررسی وضعیت Secure Channel و پاکسازی متادیتا (Metadata Cleanup) است.
چرا همگامسازی و رپلیکیشن در اکتیودایرکتوری حیاتی است؟
بیایید یک لحظه فکر کنیم؛ اکتیودایرکتوری چگونه کار میکند؟ وقتی شما یک کاربر جدید در شعبه تهران تعریف میکنید، چطور سرور شعبه چاهاردانگه متوجه وجود این کاربر میشود؟ پاسخ در یک کلمه است: رپلیکیشن (Replication). در واقع رپلیکیشن مانند رگهای حیاتی سیستم عامل ویندوز سرور عمل میکند که وظیفه انتقال تغییرات، رمزهای عبور، کلاسهای Schema و تنظیمات گروپ پالیسی را بر عهده دارد.
وقتی با مشکل رپلیکیشن اکتیودایرکتوری مواجه میشوید، ارتباط منطقی میان این پایگاههای داده قطع میشود. در این حالت، دامین کنترلرها اصطلاحاً به جزیرههای جداگانهای تبدیل میشوند که هر کدام ساز خود را میزنند. این یعنی اگر کاربری رمز عبور خود را تغییر دهد، این تغییر فقط روی همان سرور اعمال شده و سرورهای دیگر از آن بیخبر میمانند. در نتیجه، کاربر در سیستمهای متصل به سرورهای دیگر نمیتواند با رمز جدید لاگین کند. همین موضوع اهمیت بالای رفع سریع این خطا را نشان میدهد.
تیم فنی ما در شبکه گستره هوشمند همواره بر این باور است که نادیده گرفتن اختلالات کوچک در فرآیند همگامسازی، در نهایت منجر به فلج شدن کامل مکانیزم احراز هویت (Authentication) در سازمانهای بزرگ میشود. بنابراین، باید نشانههای اولیه این خرابی را به خوبی بشناسیم.
نشانهها و علائم بالینی خطای Replication در Domain Controller
چگونه متوجه شویم که شبکه ما درگیر این سناریوی بحرانی شده است؟ معمولاً این مشکل خود را به صورت مستقیم نشان نمیدهد، بلکه ادمین شبکه با عوارض جانبی آن برخورد میکند. در ادامه به بررسی سه نشانه اصلی میپردازیم که زنگ خطری برای بروز خطای Replication در Domain Controller هستند.
اختلال در دسترسی و لاگین کاربران شبکه
کاربر با وارد کردن نام کاربری و رمز عبور صحیح خود با خطای عدم دسترسی مواجه میشود. در این سناریو، ممکن است کاربر دیروز به راحتی لاگین میکرده اما امروز به دلیل اعمال نشدن تغییرات اکانتش در سایر دامین کنترلرها، امکان ورود ندارد. این عدم انطباق اطلاعات، اولین نشانه فیزیکی بروز مشکل است.
عدم اعمال تنظیمات Group Policy در کلاینتها
یکی دیگر از پیامدهای جدی، عدم همگامسازی پوشه SYSVOL است. پوشه SYSVOL حاوی اسکریپتها و فایلهای Group Policy است. اگر رپلیکیشن شکست بخورد، تغییراتی که در گروپ پالیسی اعمال کردهاید به کلاینتهای متصل به سایر دامین کنترلرها نمیرسد و عملاً مدیریت متمرکز شبکه مختل خواهد شد.
تحلیل Event IDهای بحرانی در بخش Directory Service
اگر ابزار Event Viewer را روی دامین کنترلر باز کنید و به مسیر Applications and Services Logs -> Directory Service بروید، با کوهی از ارورهای قرمز رنگ مواجه خواهید شد. مهمترین کدهایی که نشاندهنده شکست رپلیکیشن هستند عبارتند از:
- Event ID 1311: نشاندهنده بروز مشکل در محاسبه توپولوژی رپلیکیشن (KCC) است.
- Event ID 1925: بیانگر شکست در برقراری ارتباط رپلیکیشن با یک همتای مشخص است.
- Event ID 1566: زمانی رخ میدهد که ارتباط فیزیکی یا منطقی با یکی از DCها کاملاً قطع شده باشد.
شناسایی این لاگها به ما کمک میکند تا روند عیبیابی Active Directory Replication Failed را با سرعت و دقت بیشتری جلو ببریم.
نقش کلیدی بررسی DNS در Active Directory Replication Failed
در دنیای مایکروسافت، اکتیودایرکتوری و دیاناس (DNS) مثل دوقلوهای به هم چسبیده هستند. بدون وجود یک ساختار DNS سالم، اکتیودایرکتوری حتی یک ثانیه هم نمیتواند به درستی کار کند. به همین دلیل است که اولین و حیاتیترین قدم، بررسی DNS در Active Directory Replication Failed است.
رکوردهای SRV و اهمیت رزولوشن نام بین دامین کنترلرها
دامین کنترلرها برای پیدا کردن یکدیگر در شبکه از رکوردهای خاصی به نام SRV (Service Records) استفاده میکنند. این رکوردها مشخص میکنند که کدام سرورها خدمات LDAP، Kerberos و رپلیکیشن را ارائه میدهند. اگر به هر دلیلی این رکوردها پاک شوند یا آدرس آیپی ثبت شده در آنها اشتباه باشد، سرورها نمیتوانند با هم ارتباط برقرار کنند و فرآیند همگامسازی متوقف میشود.
دستورات حیاتی برای تست و عیبیابی DNS در شبکه
برای بررسی وضعیت DNS، ابتدا باید مطمئن شوید که دامین کنترلرها میتوانند آدرسهای یکدیگر را Resolve کنند. از دستورات زیر در محیط Command Prompt (با دسترسی Administrator) استفاده کنید:
nslookup -type=srv _ldap._tcp.dc._msdcs.yourdomain.com
این دستور به شما نشان میدهد که آیا رکوردهای SRV مربوط به دامین کنترلرها در شبکه ثبت شدهاند یا خیر. همچنین برای ثبت مجدد رکوردهای DNS در سرور، اجرای دستور زیر الزامی است:
ipconfig /registerdns
فراموش نکنید که پاک کردن کش DNS با دستور ipconfig /flushdns نیز میتواند رکوردهای قدیمی و کششده اشتباه را از بین ببرد و مسیر ارتباطی جدید و سالمی را باز کند.
شروع عیبیابی Active Directory Replication Failed با ابزارهای خط فرمان
زمانی که ابزارهای گرافیکی اطلاعات کافی به ما نمیدهند، باید به سراغ ابزارهای خط فرمان (CLI) برویم. مایکروسافت دو ابزار فوقالعاده قدرتمند یعنی repadmin و dcdiag را برای این کار طراحی کرده است.
کالبدشکافی دستور repadmin و بررسی سوئیچهای کاربردی
ابزار repadmin عصای دست هر متخصص شبکه است. برای اینکه وضعیت کلی همگامسازی را در کل جنگل (Forest) اکتیودایرکتوری مشاهده کنید، دستور زیر را بنویسید:
repadmin /replsummary
این دستور خلاصه وضعیت تمام دامین کنترلرها، تعداد دفعات تلاش برای رپلیکیشن، تعداد خطاها و درصد موفقیت را به شما نشان میدهد. اگر خطاها بالا باشد، باید جزئیات بیشتری را استخراج کنیم.
برای مشاهده جزئیات ارتباط رپلیکیشن یک دامین کنترلر خاص با بقیه سرورها، از این دستور استفاده کنید:
repadmin /showrepl
رمزگشایی از خطای repadmin در اکتیودایرکتوری
هنگام اجرای دستورات بالا، ممکن است با خروجیهای متفاوتی روبرو شوید. شایعترین مواردی که به عنوان خطای repadmin در اکتیودایرکتوری گزارش میشوند شامل ارورهای زیر هستند:
- Error 8452 (The replication operation failed): نشاندهنده عدم وجود ارتباط همگامسازی (Connection Object) تعریف شده بین دو سرور در بخش Sites and Services است.
- Error 1722 (The RPC server is unavailable): این ارور یعنی سرور مقصد روشن است اما سرویسهای RPC روی آن پاسخگو نیستند یا پورتها مسدود شدهاند.
- Error 8456 or 8457 (The source/destination server is currently rejecting replication requests): این حالت معمولاً زمانی رخ میدهد که سرور به دلیل بروز خطاهای بحرانی مانند کمبود فضا یا خرابی پایگاه داده، رپلیکیشن را بلاک کرده است.
اجرای سناریوی تشخیص سلامت با dcdiag /v
ابزار بعدی dcdiag است. این ابزار بیش از ۳۰ تست مختلف را روی دامین کنترلر شما اجرا میکند تا سلامت کلی سیستم را بسنجد. برای دریافت گزارش تفصیلی و کامل، حتماً از سوئیچ /v استفاده کنید:
dcdiag /v
در خروجی این دستور، بخشهایی مانند Connectivity، Advertising، Replications و Services را با دقت مطالعه کنید. هر جا کلمه Failed یا Error را مشاهده کردید، آن بخش نقطه شروع عیبیابی شما خواهد بود.
دلایل اصلی بروز خطای Active Directory Replication Failed در سازمانها
برای حل هر مشکلی، ابتدا باید ریشههای آن را بشناسیم. بر اساس تجربیات فنی ما در شبکه گستره هوشمند، خطاهای همگامسازی معمولاً ناشی از سه عامل اصلی هستند که در ادامه آنها را کالبدشکافی میکنیم.
ناهماهنگی زمانی و نقش PDC Emulator در Time Sync
پروتکل امنیتی Kerberos که وظیفه احراز هویت در اکتیودایرکتوری را بر عهده دارد، به شدت به زمان حساس است. اگر اختلاف ساعت بین دو دامین کنترلر بیش از ۵ دقیقه باشد، Kerberos بلیطهای امنیتی (Tickets) را باطل کرده و ارتباط را قطع میکند. در این حالت رپلیکیشن متوقف شده و با ارورهای عدم احراز هویت روبرو میشوید. برای حل این مشکل، تمام دامین کنترلرها باید زمان خود را با سرور دارنده نقش PDC Emulator هماهنگ کنند. دستور زیر وضعیت سینک زمان را بررسی میکند:
w32tm /query /status
انسداد پورتهای RPC و فایروال بین سایتهای مختلف
در سازمانهایی که شعبههای مختلفی دارند و ارتباط بین آنها از طریق تونلهای VPN یا MPLS برقرار است، فایروالها نقش مهمی ایفا میکنند. رپلیکیشن اکتیودایرکتوری برای کارکرد خود به پورتهای متعددی نیاز دارد. پورت ۱۳۵ (RPC Endpoint Mapper)، پورت ۴۴۵ (SMB) و پورتهای داینامیک بالای ۱۰۲۴ همگی باید در فایروال بین دو سایت باز باشند. مسدود شدن هر کدام از این پورتها منجر به بروز خطای RPC و شکست همگامسازی میشود.
مشکلات لایه فیزیکی، روترها و پایداری پهنای باند
گاهی اوقات مشکل نرمافزاری نیست. قطعیهای مکرر لینک ارتباطی، پهنای باند ضعیف، افت پکتها (Packet Loss) و تنظیمات اشتباه MTU در روترها میتوانند باعث قطع شدن فرآیند همگامسازی در اواسط کار شوند. در این حالت، دیتابیسهای حجیم اکتیودایرکتوری نمیتوانند به طور کامل منتقل شوند و رپلیکیشن نیمهکاره رها میشود.
آموزش رفع Active Directory Replication Failed به صورت گامبهگام و سناریومحور
حالا که با تمام ابزارها و دلایل آشنا شدیم، وقت آن رسیده که آستینها را بالا بزنیم و مراحل عملیاتی برای رفع خطای Active Directory Replication Failed را شروع کنیم. این سناریو را گامبهگام و با دقت انجام دهید.
گام اول: بررسی و احیای کانال امن ارتباطی (Secure Channel)
اگر دامین کنترلر برای مدت طولانی خاموش بوده باشد یا ارتباطش قطع شده باشد، ممکن است پسورد حساب ماشین آن در دامین با سایر سرورها هماهنگ نباشد. این یعنی کانال امن ارتباطی شکسته شده است. برای تست و بازسازی این کانال، از ابزار nltest استفاده میکنیم:
nltest /sc_verify:yourdomain.com
اگر خروجی این تست خطایی را نشان داد، میتوانید با دستور زیر ارتباط امن را ریست و احیا کنید:
nltest /sc_reset:yourdomain.com\target_dc_name
گام دوم: پاکسازی متادیتای دامین کنترلرهای از دست رفته (Metadata Cleanup)
یکی از شایعترین سناریوها این است که یک دامین کنترلر قدیمی به دلیل سوختن سختافزار یا خرابی ناگهانی ویندوز سرور، بدون پاکسازی اصولی (Demote) از شبکه خارج شده است. در این حالت، سایر DCها همچنان تلاش میکنند با این سرور مرده ارتباط برقرار کنند و به دلیل عدم پاسخگویی، خطاهای رپلیکیشن صادر میشود.
برای حل این مشکل، باید اطلاعات و رکوردهای این سرور قدیمی را از دیتابیس اکتیودایرکتوری پاک کنید که به این فرآیند Metadata Cleanup میگویند. شما میتوانید این کار را از طریق ابزار گرافیکی Active Directory Users and Computers با پاک کردن اکانت سرور مرده انجام دهید، یا از طریق ابزار خط فرمان ntdsutil اقدام کنید. این کار به بهبود سلامت شبکه کمک شایانی میکند.
گام سوم: ریست کردن اکانت کامپیوتر ماشین دامین کنترلر
در برخی موارد خاص، سیستم عامل سرور مقصد به درستی کار میکند اما اکانت کامپیوتر آن در دامین غیرفعال یا منقضی شده است. در این سناریو، سرویس Kerberos اجازه احراز هویت نمیدهد. با استفاده از دستور زیر در PowerShell میتوانید اکانت ماشین دامین کنترلر را ریست کنید تا فرآیند احراز هویت مجدداً از سر گرفته شود:
Reset-ComputerMachinePassword
چگونه برای همیشه حل مشکل replication failed در ویندوز سرور را تضمین کنیم؟
رسیدن به پایداری کامل در شبکه، نیازمند اتخاذ یک استراتژی نگهداری منظم است. برای حل مشکل replication failed در ویندوز سرور به صورت ریشهای، پیشنهاد میکنیم موارد زیر را در چکلیست دورهای خود قرار دهید:
- تنظیم مانیتورینگ خودکار: با استفاده از مانیتورینگ لاگها، Event IDهای Directory Service را زیر نظر بگیرید تا قبل از بحرانی شدن شرایط، از خرابیها مطلع شوید.
- پیکربندی صحیح NTP: دامین کنترلر دارنده نقش PDC Emulator را به یک سرور زمان خارجی معتبر (مانند pool.ntp.org) متصل کنید و مطمئن شوید بقیه سرورها زمان خود را از آن دریافت میکنند.
- تست دورهای پهنای باند: از پایداری لینکهای ارتباطی بین دفاتر سازمان اطمینان حاصل کنید.
- بررسی دورهای با repadmin: به طور هفتگی دستور
repadmin /replsummaryرا اجرا کنید تا از سلامت کامل تراکنشها مطمئن شوید.
ما در شبکه گستره هوشمند با پیادهسازی این چکلیستها در شبکههای مشتریان خود، توانستهایم پایداری سرویسهای اکتیودایرکتوری را به حداکثر برسانیم.
تکنیکهای حرفهای برای رفع ارور Replication در AD
اگر با انجام مراحل بالا هنوز هم همگامسازی به درستی انجام نمیشود، میتوانید از روش رپلیکیشن اجباری استفاده کنید. با اجرای دستور زیر، به دامین کنترلر دستور میدهید که بلافاصله با تمام همتاهای خود همگامسازی را آغاز کند:
repadmin /syncall /AdeP
سوئیچهای به کار رفته در این دستور به شرح زیر هستند:
- A: همگامسازی برای تمامی پارتیشنها (Schema, Configuration, Domain) انجام شود.
- d: شناسایی دامین کنترلرها با استفاده از Distinguished Name.
- e: همگامسازی در تمام سایتها (Enterprise-wide) انجام شود.
- P: تغییرات به صورت Push ارسال شوند.
این دستور به شما کمک میکند تا به صورت دستی فرآیند رفع ارور Replication در AD را شبیهسازی و تست کنید.
نتیجهگیری و جمعبندی مباحث زیرساختی
ارور Active Directory Replication Failed یکی از چالشبرانگیزترین و در عین حال حیاتیترین خطاهایی است که هر مدیر شبکهای ممکن است با آن روبرو شود. در این مقاله یاد گرفتیم که چگونه با بررسی سیستماتیک DNS، تنظیمات زمان، وضعیت پورتهای فایروال و با استفاده از ابزارهای خط فرمان نظیر repadmin و dcdiag این مشکل را ریشهیابی و حل کنیم.
یادتان باشد که کلید موفقیت در حل خطاهای اکتیودایرکتوری، عجله نکردن و بررسی دقیق لاگهاست. تیم متخصصان شبکه گستره هوشمند همواره آماده است تا در زمینه پشتیبانی شبکههای سازمانی، راهاندازی و عیبیابی اکتیودایرکتوری در کنار شما باشد تا بدون دغدغه، روی توسعه کسبوکار خود تمرکز کنید.
Now Write An Article On This Topic “۱Active Directory Replication Failed”
