چگونه از Active Directory بکاپ ( Backup ) بگیریم؟ یکی از مهمترین دغدغه های مدیران شبکه های مایکروسافتی اطلاعات موجود در ساختار اکتیودایرکتوری موجود در شبکه آنها می باشد ، بدون شک در شبکه ای که از سیستم عامل های شرکت مایکروسافت استفاده می شود ، اکتیودایرکتوری قلب تپنده شبکه محسوب می شود و تصور کنید که روزی پیش بیاید که این قلب تپنده از کار بیافتد و نیاز به بازسازی یا بازیابی داشته باشد ، اینجاست که کابوس نبود اکتیو دایرکتوری برای مدیران شبکه پیش می آید ، تا زمانیکه سرور کار می کند هیچ مشکلی نیست و همه چیز آرام است و ما هم خوشحال هستیم .
اما زمانی که سرور و اطلاعات اکتیودایرکتوری به مشکل می خورند نه چیزی آرام است و نه کسی خوشحال ، تقریبا همه سرویس هایی که در شبکه راه اندازی کرده اید به این سرویس وابسته هستند ، شیرپوینت ، اکسچنج سرور ، ارتباطات اینترنت و سیستم اکانتینگ شبکه ، پایگاه های داده و ورود کاربران به سیستم .... همه و همه در یک آن دچار مشکل حاد خواهند شد و در اینجاست که اگر از قبل به چنین روزی فکر کرده باشید گزینه Backup باعث آرامش قلبی شما می شود .
همیشه و در همه حال فراموش نکنید که سه نکته بسیار بسیار مهم در شبکه وجود دارد که در صورت رعایت این سه نکته در شبکه ، یک مدیر شبکه همیشه با خاطری آسوده به خواب می رود ، نکته اول Backup ، نکته دوم از نکته اول هم مهمتر است و آن Backup است و در نهایت نکته سوم که آخرین و مهمترین گزینه در اینها می باشد باز هم Backup است ، پس هیچوقت این نکات را برای بقای کاری خود فراموش نکنید.
اما هدف از این سری مقالات بررسی و پیاده سازی روش های مختلف Backup گیری از مهمترین رکن شبکه های مایکروسافتی یا همان اکتیودایرکتوری است ، در ابتدا به معرفی روش های مختلف و ابزارهای مختلفی که در خود ویندوز برای انجام عملیات Backup استفاده می شوند خواهیم پرداخت و در نهایت با همه این ابزارهای تا حدودی آشنایی پیدا کرده و با آنها بصورت عملی از ساختار اکتیو دایرکتوری Backup می گیریم .
البته Backup گرفتن بدون بازگردانی چندان فایده ای ندارد بنابراین روش های بازیابی یا Recovery اطلاعات اکتیودایرکتوری را نیز بررسی خواهیم کرد ، همیشه به خاطر داشته باشید که ابزارهایی که در خود ویندوز برای انجام عملیات هایی مثل Backup گیری یا امثال اینها بصورت پیشفرض تعبیه شده اند به هیچ عنوان به قدرت ابزارهای جانبی که توسط شرکت های جانبی بصورت third party برای انجام Backup استفاده می شوند نیستند.
اما ما بایستی بتوانیم از حداقل امکانات حداکثر استفاده را ببریم ، ما هم برای اینکار از ابزارهای پیشفرض تعبیه شده در ویندوز سرور 2008 استفاده خواهیم کرد ، در ویندوز سرور 2008 سه ابزار به منظور Backup گیری از اطلاعات ویندوز تعبیه شده است.
همانطور که اشاره کردیم گرفتن Backup از اکتیودایرکتوری و اطمینان از اینکه Backup ما به درستی قابل بازگردانی می باشد یکی از مشکلاتی است که همیشه مدیران فناوری اطلاعات با آن مواجه هستند . برای Backup گرفتن از اکتیودایرکتوری معمولا شما کل دامین کنترلر یا DC خود را Backup می گیرید ، Backup گرفتن از کل یک DC ممکن است ساده باشد اما همیشه بحث بازگردانی یا Recovery را نیز در نظر داشته باشید.
معمولا برای گرفتن Backup راهکار های مختلفی وجود دارد اما شما بایستی راهکاری را انتخاب کنید که در هنگام بازگردانی اطلاعات دچار مشکل نشوید و به سادگی بتوانید عملیات بازیابی را انجام دهید ، یکی از مشکلات یا بهتر بگویم سهل انگاری هایی که معمولا مدیران فناوری اطلاعات در خصوص مبحث Backup انجام می دهند ، همین بحث عدم تفکر در خصوص شیوه بازگردانی و پیشینی نکردن مشکلات ناشی از نوع روشی است که Backup را تهیه می کنند.
اگر با ویندوز سرور 2003 و ساختار اکتیودایرکتوری موجود در آن کار کرده باشید قطعا کار کردن با روش هایی که در ویندوز سرور 2008 برای بحث Backup معرفی می شوند برای شما چندان مشکل نخواهد بود . شما همچنان می توانید از طریق ابزارهای سیستم از کل ساختار اکتیودایرکتوری
و یا تنها اطلاعات موجود در System State یک دامین کنترلر بصورت کلی Backup تهیه کنید ، همچنان برای بازگردانی اطلاعات بایستی سیستم را Reboot کنید و با استفاده از Directory Services Restore Mode یا همان DSRM سیستم را بوت کنید و اطلاعات System State را بر روی DC موجود بازگردانی کنید .
شما همچنان برای بازگردانی اطلاعات AD از ابزار NTDSUTIL استفاده می کنید و اگر برای مثال می خواهید فقط یکی از اشیاء حذف شده را بازگردانی کنید از روش authoritative restore استفاده می کنید . بنابراین اگر سابقه قبلی در استفاده از ویندور سرور 2003 و سرویس اکتیودایرکتوری آن را دارید تا حد زیادی جلو هستید
اما کسانی که با ویندوز سرور 2008 وارد این سرویس شده اند هم نباید نگران باشند ، در این مقاله ما همه چیز را از ابتدا و مبانی آن توضیح خواهیم داد و فرض را بر این می گذاریم که شما آشنایی با این سرور و محصولات آن از قبل نداشته اید ، بنابراین اصلا ترس به دل خود راه ندهید.
در ویندوز سرور 2008 تغییرات اساسی در ابزارهای Backup گیزی سیستم ایجاد شده است به ویژه در بحث Backup گیری DC ها و علی الخصوص در بحث رسانه های ذخیره سازی یا Media ها ، در ویندوز سرور 2008 دیگر خبری از ابزاری به نام ntbackup.exe که دارای محیط گرافیکی برای تهیه Backup از تنظیمات سرور و همه فایل های آن را داشت نیست و به جای آن ابزاری به نام Windows Server Backup به ویندوز سرور 2008 چه در نسخه گرافیکی و چه در نسخه Core اضافه شده است.
ویندوز سرور 2008 به شما قابلیت های جدیدی را معرفی کرده است که از طریق آنها شما خطر حذف شدن اشیاء بصورت تصادفی از اکتیودایرکتوری را تا حدود زیادی کاهش می دهید . در اینجا کمی در خصوص این قابلیت های جدید صحبت خواهیم کرد ، همانطور که ساختار Backup گیری در ویندوز سرور 2008 با معرفی Windows Server Backup تغییر یافت
امکان جالبی به نام Snapshot از اکتیودایرکتوری نیز به این سرور اضافه شده است ، قابلیت Snapshot از اکتیودایرکتوری یک راهکار بسیار سریع برای بازگردانی اطلاعات حذف شده از اکتیودایرکتوری بودن نیاز به Reboot کردن دامین کنترلر است .
در خصوص این قابلیت در قسمت بعدی بصورت کاملتری در خصوص چگونگی بازگردانی اشیاء حذف شده در اکتیودایرکتوری بصورت آنلاین و همچنین Tombstone Lifetime و گرفتن Volume Shadow Copy Service یا VSS Snapshot ها از اکتیودایرکتوری صحبت خواهیم کرد. اما اول از همه چیز به بررسی چگونگی استفاده از Windows Server Backup برای تهیهBackup و همچنین Recovery با بازگردانی اطلاعات Backup گرفته شده از اکتیو دایرکتوری بپردازیم.
به این موضوع دقت کنید که Windows Server Backup بروزرسانی شده یا بهتر بگوییم Update شده ابزار ntbackup.exe در ویندوز سرور 2003 نیست .در واقع Windows Server Backup یک ابزار کاملا جدید است و تنها کمی به ntbackup.exe شباهت دارد
برای کسانی که به تازگی به محیط ویندوز سرور 2008 وارد شده اند این ابزار یک محیط کاملا متفاوت نسبت به ntbackup دارد ، البته دقت کنید که تفاوت بین این دو ابزار خیلی خیلی بیشتر از محیط گرافیکی و شکل ظاهری است ، در Windows Server Backup ساختار Backup گیری بصورت disk-to-disk و استفاده از VSS است . در ادامه مهمترین تغییرات و تفاوت های بین Windows Server Backup و Ntbackup را مشاهده می کنید :
خوب در اینجا ممکن است این سئوال پیش بیاید که تغییراتی که بین دامین کنترلرهای ویندوز سرور 2008 که در دامین قرار دارند چطور توسط این ابزار Backup گرفته می شوند ؟ همیشه به خاطر داشته باشید که شما اگر N عدد دامین کنترلر در Forest داشته باشید ، نیازی نیست که از تک تک آنها Backup تهیه کنید ، شما همیشه می توانید با بازگردانی اطلاعات یک دامین کنترلر و Replicate کردن و Promote کردن یک DC جدید ، اطلاعات مربوط به اکتیودایرکتوری خود را بازیابی کنید .
اما برای ایجاد Backup Redundancy در شبکه معمولا پیشنهاد می شود که حداقل از دو عدد از DC های قابل نوشتن و خواندن در شبکه خود Backup بگیرید ، همچنین شما قابلیت Backup گیری از RODC ها را نیز در این ابزار دارید اما توجه کنید که شما نمی توانید اطلاعاتی که در RODC با این ابزار و ابزارهای دیگر Backup گرفته شده اند را بصورت Authoritative بازگردانی کنید ، زیرا RODC ها تغییرات خود را با سایر دامین کنترلر ها Replicate نمی کنند.
Windows Server Backup برای گرفتن Backup به یک پارتیشن یا Volume جداگانه به عنوان مقصد نیاز دارد. این نیازمندی ممکن است برای سرورهایی که تنها دارای یک Volume برای سیستم عامل هستند مشکلاتی ایجاد کند ، در اینجاست که شما بایستی توجه کنید که اگر امکان ایجاد یک پارتیشن جداگانه به جز پارتیشن سیستم عامل را دارید ، حتما آن را ایجاد کنید ، شما می توانید این کار را با استفاده از فضای اضافه باقیمانده بر روی سرور ایجاد کنید و بهترین گزینه این است که این Volume ایجاد شده را به صورت اختصاصی برای مصارف Backup گیری از سرورها استفاده کنید.
اگر این امکان وجود ندارد شما همچنان قابلیت Backup گیری بر روی شبکه را دارید . از جهتی اگر اطلاعات موجود بر روی Volume ای که بر روی آن سیستم عامل نصب شده است چندان دارای اهمیت نمی باشد ، شما می توانید از System State دامین کنترلر حتی بر روی همان Volume ای که سیستم بر روی آن نصب شده است استفاده کنید
و صرفا اطلاعات اکتیودایرکتوری را Backup بگیرید. برای اینکه بتوانید اطلاعات Backup مربوط به System State را بر روی همان Volume ای که سیستم عامل بر روی آن نصب شده است Backup بگیرید یا به اصطلاح بر روی Source Volume بک آپ تهیه کنید از روشی که در ادامه مقالات به آن اشاره شده است استفاده کنید.
توجه کنید که برخلاف Full System Backup که از کل اطلاعات Volume بک آپ تهیه می کند و در واقع بصورت Block Level Backup می باشد، در Backup گیری از System State ساختار Backup گیری به شکل File Based یا بر اساس فایل است ، این یعنی اینکه
شما در این نوع Backup از کلیه فایل های موجود در رجیستری ، فایل های سیستمی و تنظیمات سیستم در لحظه ای که در آن قرار دارید Backup گرفته اید و طبیعی است که در هنگام بروز مشکل شما نمی توانید کل سیستم عامل را از این طریق بازگردانی کنید. توجه کنید که در System State Backup سیستم از نرم افزارهای کاربردی موجود بر روی سیستم و همچنین User Profile هایی که بر روی سیستم قرار دارد Backup تهیه نمی کند.
اولین قدم در ایجاد یک Backup از DC نصب Feature مربوط به Windows Server Backup بر روی ویندوز سرور 2008 است . راحت ترین مسیر برای نصب این Feature استفاده از کنسول server manager و نصب این قابلیت از قسمت Add Features می باشد . البته اینکار برای محیط های نصب گرافیکی یا GUI استفاده می شود ، اگر سرور شما در حالت Server Core نصب شده است بایستی دستور زیر را برای نصب Windows Server Backup وارد کنید :
ocsetup WindowsServerBackup
قبلا از اینکه هر کاری انجام دهید بایستی تنظیمات مربوط به Optimize Backup Performance را برای Windows Server Backup انجام دهید. شما می توانید تنظیمات مربوط به این قسمت را با راست کلیک کردن بر روی Node مربوط به Windows Server Backup در قسمت Storage از کنسول Server Manager پیدا کنید .
بصورت پیشفرض Windows Server Backup همیشه Backup را بصورت Full تهیه می کند اما همانطور که در شکل زیر مشاهده می کنید شما میتوانید به سیستم اعلام کنید که Backup از نوع Incremental تهیه کند. در حقیقت در محیط Server Core هیچگونه دستوری وجود ندارد که شما بتوانید تنظیمات گفته شده را در آن به درستی انجام دهید
به همین دلیل مایکروسافت به شما پیشنهاد می کند که برای اتصال به Server Core برای انجام عملیات Backup حتما از یک سرور که ویندوز سرور 2008 بصورت کامل بر روی آن نصب شده است استفاده کرده و بصورت Remote تنظیمات مربوط به این سرور را انجام دهید.
تنظیمات Optimize Backup Performance به شما این اجازه را می دهد که بتوانید برای Windows Server Backup تعیین کنید که VSS Snapshot هایی که پس از انجام هر عملیات Backup بر روی دیسک مبدا یا Source Disk ذخیره می شوند را حذف کند و یا اینکه برای انجام عملیات Backup بعدی نگه دارد . این Snapshot ها به Backup می گویند که از کجا و چه تغییراتی نسبت به بار آخری که Backup گرفته شده است بر روی Volume یا فایل های موجود بر روی دیسک انجام شده است .
زمانی که شما گزینه Incremental را انتخاب می کنید در واقع به سیستم گفته اید که این Snapshot ها برای بار بعدی Backup بر روی سیستم باقی بمانند ، اگر گزینه Full Backup را انتخاب کنید سیستم بصورت خودکار Snapshot ها را پس از انجام عملیات Backup حذف می کند.
نگهداری Snapshot ها برای تهیه Backup در مراحل بعدی به سیستم این امکان را می دهد که تشخیص دهد چه تغییراتی بر روی فایل های موجود بر روی سیستم رخ داده است . بهرحال فراموش نکنید که مشخص شدن تغییرات نیازمند VSS است تا بتواند Backup از نوع incremental را ایجاد کند.
فرآیند incremental Backup طبیعی است که فضای بیشتری نسبت به Full Backup در دیسک مبدا دارد ، زیاد خود Snapshot هایی که بر روی سیستم قرار می گیرند فضا اشغال می کنند. در عین حال نگهداری این Snapshot ها باعث کندی کارایی دیسک می شوند. در سرور هایی که نوشتن و خواندن خیلی زیادی در آنها وجود دارد ، مثلا سرور اتوماسیون اداری سعی کنید از Backup های نوع incremental استفاده نکنید .
خوب کدامیک از این نوع Backup ها برای DC مناسب است ؟ Backup های نوع incremental برای DC ها به دو دلیل بهتر است . دلیل اول اینکه DC بیشتر دارای فرآیند خوانده شدن است تا نوشته شدن ، یعنی بیشتر برای Query گرفتن استفاده می شود.
به همین دلیل در این حالت در صورتیکه شما از VSS استفاده کنید در کارایی سیستم چندان مشکلی ایجاد نخواهد شد . دومین دلیل این است که شما از Shadow Copy می توانید برای بازیابی سایر تنظیمات اکتیودایرکتوری استفاده کنید. برای هر یک از هارد دیسک ها ، شما می توانید مقدار فضایی که برای استفاده برای Snapshot ها نیاز دارید را با استفاده از کنسول Disk Management و همچنین دستور vssadmin.exe که بصورت پیشفرض در سیستم عامل تعبیه شده اند را تعیین کنید.
بر روی یک سیستم عامل سرور 2008 کامل ، شما با استفاده از محیط گرافیکی Windows Server Backup و چند انتخاب ساده براحتی می توانید از سیستم Backup بگیرید. برای اینکار کافیست وارد کنسول Server Manager بشوید و به قسمت Storage و در Windows Server Backup بروید ، از منوی Action گزینه Backup Once را انتخاب کنید و در اینجا براحتی با استفاده از ویزارد مربوطه می نوانید مراحل و تنظیمات مربوط به آن را انجام دهید .
زمانیکه به صفحه Select Backup Item رسیدید ، فقط مطمئن شوید که چک باکس مربوط به Enable System Recovery انتخاب شده است ، اینکار برای اطمینان از درست عمل کردن عملیات بازگردانی اطلاعات اکتیودایرکتوری در مواقع نیاز بکار می رود. توجه کنید که شما Backup را می توانید بصورت برنامه ریزی شده یا Schedule شده نیز تهیه کنید اما برای این لحظه این نوع Backup برای رفع حاجت سریع مورد استفاده قرار میگیرد.
همانطور که خود شما هم می دانید ، بهترین روش برای ایجاد یک دامین کنترلر استفاده از Server Core است ، این نوع نصب از ویندوز سرور ضمن اینکه امنیت بهتری بصورت پیشفرض نسبت به سایر حالت های نصب ویندوز سرور دارد ، احتمال بروز حملات هکری به سرور را نیز تا حد زیادی کاهش می دهد ، اما قطعا هر چیزی که امنیت بالاتری دارد ، دردسرهای خاص خودش را نیز دارد
با نصب Server Core شما قطعا بایستی مدیریت سیستم با استفاده از دستورات خط فرمان یا Command Line ها را خوب یاد بگیرید ، در اینجا از محیط زیبای GUI ( گوئی تلفظ شود ) خبری نیست ، خوب برای اینکه بتوانید در محیط Core از سیستم Backup تهیه کنید می توانید از دستورات زیر استفاده کنید ( فقط نوشتم که تو مقاله باشه ، بدون شک کاربرد چندانی در محیط کاری فعلی ندارد ) :
1- برای Backup گرفتن از کل سیستم که شامل تمامی Volume هایی می شود که در آنها فایل های سیستمی و یا اطلاعات اکتیودایرکتوری . ... بصورتیکه بتوان بدون مشکل در صورت بروز مشکل در سیستم آن را از صفر بازگردانی کرد ، می توانید از دستور زیر استفاده کنید :
WBADMIN Start Backup –backupTarget:D: -allCritical
در این قسمت به جای D: می توانید مسیری که قرار است Backup در آنجا تهیه شود یا همان مقصد Backup را تعیین کنید ، توجه کنید که این D اون D نیست که در مکالمات برای ابراز خنده استفاده می کنید و اسم Volume است . اگر می خواهید در یک مسیر شبکه ای از ویندوز Backup بگیرید بایستی مسیر مقصد ر ا بصورت UNC Path وارد کنید ، قطعا با ساختار UNC آشنایی دارید اما برای اطمینان بایستی مثلا مسیر مقصد به شکل زیر وارد شود :
WBADMIN Start Backup –backupTarget:\\backup.tosinso.com\backupfolder -allCritical
2- برای Backup گرفتن فقط از System State دستور زیر را وارد کنید :
WBADMIN Start SystemStateBackup –backupTarget:C:
توجه کنید که در این دستور دیگر نیازی به وارد کردن سویچ allCritical نیست ، با وارد کردن دستور Start SystemStateBackup تمامی اطلاعات سیستمی بصورت یکجا Backup گرفته می شوند . در هر صورت با وارد کردن هر دو نوع دستور بالا نتیجه در مقصد در قالب یک پوشه به نام WindowsImageBackup و در قالب یک فایل با پسوند VHD ایجاد می شود .
توجه کنید که در اینجا یک سری فایل های XML هم وجود دارند که کلید های رجیستری و یک سری دیگر از تنظیمات سیستم را Backup میگیرند ، شما می توانید محتویات این پوشه را در محل دیگری نیز کپی کنید اما توجه داشته باشید که برای انتقال این Backup بایستی تمامی فایل ها را بصورت یکجا و با حفظ ساختار منتقل کنید ، در غیر اینصورت عملیات Recovery با مشکل مواجه خواهد شد .
تا زمانیکه از دامین کنترلر خود صرفا به عنوان دامین کنترلر استفاده می کنید ( چون در بسیاری از شرکت ها و سازمان ها دیدم که دامین کنترلر = فایل سرور ، وب سرور ، اکسچنج سرور ، SQL سرور و .... هست ) ترجیحا از نوع Full Backup برای خود Backup تهیه کنید ، در این موراد گرفتن Backup از System State چندان مفید و به صرفه نیست .
توجه کنید که در دامین کنترلری که صرفا به عنوان DC در شبکه کار میکند حجم Backup ای که تهیه می شود در مقایسه با Backup ای که از System State دریافت می شود چندان تفاوتی ندارد . از همه مهمتر توجه کنید که شما با گرفتن Full Backup از سیستم می توانید از این به بعد Backup های خود را بصورت Incremental تهیه کنید و اینکار در Backup هایی که از System State می گیرید امکانپذیر نیست. در نهایت فراموش نکنید که شما با استفاده از Full Backup می توانید System State را بازگردانی کنید اما بر عکس این عمل امکان ندارد.
خوب در قسمت اول از این سری مقالات با ابزارهایی که بصورت پیشفرض در ویندوز برای گرفتن Backup وجود دارند آشنا شدیم ، در ادامه با ابزارهای Windows Server Backup و wbadmin کار کردیم و به دو صورت Full Backup و System State Backup از ویندوز Backup تهیه کردیم ، اما نکه در اینجاست که هر رفتی یک برگشت دارد و Backup ای مهم است که بتوان آن را بازیابی یا بازگردانی کرد ، در این قسمت به شما آموزش بازگردانی Backup ای که در مرحله قبلی گرفته شده است را آموزش خواهیم داد .
توجه کنید که روش های متعددی برای بازگردانی Backup وجود دارد که در این مقاله صرفا Backup گرفته شده بصورت کامل بازگردانی می شود و در مقاله های بعدی روش های دیگر بازگردانی یا Recovery را با هم بررسی خواهیم کرد . به دلیل اینکه بر اساس ادامه مقالات و بصورت سریالی مقالات را ادامه می دهیم فرض را بر این می گذاریم که شما در مرحله قبلی از سیستم یک Full Backup تهیه کردید.
Recover کردن یک ویندوز سرور 2008 از Backup گرفتن از آن کمی سخت تر است ، همیشه به خاطر داشته باشید که Backup ای درست است که بتوانید از روی آن اطلاعات خود را بازگردانی کنید . اگر بخواهیم ساختار Recovery در ویندوز سرور 2008 و ویندوز های سرور قبلی را با هم مقایسه کنیم بایستی بگوییم که در ویندوز های قبلی شما در صورت بروز برای سیستم عامل ویندوز سرور ابتدا بایستی سیستم عامل را از نو نصب کرده و سپس Backup گرفته شده را بازگردانی می کردید.
اما در شیوه Backup گیری جدیدی که در ویندوز سرور 2008 مطرح شد شما همانطوری که در مقاله قبلی نیز اشاره شده دیگر نیازی به نصب مجدد سیستم عامل ندارید و با بازگردانی Backup در واقع سیستم عامل را بصورت کامل بازگردانی کرده اید
توجه کنید که به نوعی سیستم Backup گیری جدید مایکروسافت شبیه نرم افزارهای Image گیری از سیستم فعالیت می کنند و از تمامی اطلاعات موجود در یک Volume کپی می گیرند . به همین دلیل کلیه اطلاعات مربوط به یک سیستم عامل کامل در قالب یک فایل VHD ذخیره می شود و به یکباره قابل بازگردانی می باشد . برای انجام عملیات بازگردانی اطلاعات یک سرور بصورت کامل به روش زیر عمل کنید :
wbadmin get versions -backupTarget:drive_or_share machine:servername
Wbadmin get versions –backuptarget:E:
wbadmin Start SystemStateRecovery -version:versionid -backupTarget:drive_or_share -machine:servername
wbadmin start systemstaterecovery –version:01/05/2013-04-53 –backuptarget:E: -machine:pdc
در قسمت های قبلی با روش های مختلف Backup گیری و بازگردانی کلی سیستم و System State آشنا شدید ، اما همیشه شرایط به شکلی که گفته شد جلو نمی رود ، دقت کنید که برخی اوقات پیش می آید که شما نمی خواهید کل یک دامین کنترلر را بازیابی کنید در واقع اصلا دامین کنترلر مشکلی ندارد که بخواهید آن را بازیابی کنید ، اما بر حسب اتفاق و بصورت ناخواسته یکی از اشیاء شبکه شما حذف می شود .
مثلا کاربری به نام M.Nasiri بصورت تصادفی حذف شده است . خوب در اینجا دیگر منطقی نیست که بخواهیم کل اطلاعات یک دامین کنترلر را بازگردانی کنیم ، آن هم فقط به خاطر یک کاربر حذف شده ، بگذریم از اینکه حتی اگر در حالت عادی عملیات بازگردانی را انجام دهیم باز هم کاربر مورد نظر بعد از عملیات Replication بین دامین کنترلر ها حذف خواهد شد . خوب چاره چیست ؟ برای اینکه درک بهتری از این موضوع داشته باشید انواع بازگردانی یا Restore کردن اطلاعات در اکتیودایرکتوری را بررسی می کنیم.
CN=Test User,CN=Users,DC=home,DC=localبرای انجام اینکار بایستی دستورات زیر را بعد از بازگردانی System State در CMD وارد کنید :
ntdsutil activate instance ntds authoritative restore restore object “cn=Test User,cn=Users,dc=home,dc=local”
در سه قسمت قبلی با شیوه Backup گرفتن از کل سیستم ، Backup گرفتن از System State و همچنین بازگردانی هر یک با روش های مختلف صحبت کردیم . در این مقاله می خواهیم شما را با قابلیت جدید دیگری که در ویندوز سرور 2008 اضافه شده است آشنا کنیم که با نام Active Directory Snapshot شناخته می شود .
اگر با محیط های مجازی سازی کار کرده باشید حتما با قابلیتی به نام Snapshot تا حدودی آشنایی دارید ، فرض کنید که در نرم افزار مجازی سازی VMware Workstation یک سیستم عامل ویندوز سرور یا لینوکس نصب کرده اید و می خواهید که یک سری تغییرات را بر روی سیستم عامل Guest انجام دهید که ممکن است سیستم عامل را دچار اختلال کند .
در اینجا با استفاده از قابلیت Snapshot از سیستم عامل موجود در VMware یک Snapshot تهیه می کنیم ، اما این Snapshot چه استفاده ای دارد ؟ زمانیکه سیستم عامل شما بعد از انجام شدن تغییرات مد نظر شما دچار مشکل بشود ، شما براحتی می توانید با بازگردانی اطلاعات موجود در Snapshot سیستم را به همان وضعیتی بازگردانید که قبلا به درستی فعالیت می کرده است . این دقیقا همان چیزی نیست که در Active Directory Snapshot مشاهده خواهید کرد ، اما به شما دیدگاهی در خصوص اینکه ماهیت کاری Snapshot ها در اکتیودایرکتوری چیست را می دهد.
در مقاله های قبلی مشاهده کردید که برای بازگردانی هی چیزی از اکتیودایرکتوری ، از کل سرور گرفته تا یک شیء خاص می بایست سرور را حداقل یکبار restart کرده و با استفاده از قسمت Directory Services Restore Mode آنرا بازیابی می کردیم ، اما اشاره ای به این موضوع هم داشتیم که ما میتوانیم با یک سری از قابلیت هایی مثل Snapshot و Recycle Bin در اکتیودایرکتوری ، بدون اینکه نیاز به Restart کردن یا هر مسئله اینچنینی داشته باشیم ، شیء حذف شده را بازیابی کنیم .
مزیت اصلی تهیه Snapshot از اکتیودایرکتوری این است که شما دیگر نیازی به restart کردن و down کردن سرور خود ندارید و براحتی می توانید اشیاء حذف شده را بازیابی کنید. دقت کنید که درست است که مبحث Snapshot را در مجموعه مقالات Backup گیری از اکتیودایرکتوری مطرح کرده ایم اما در واقع این روش یک روش Backup گیری به حساب نمی آید و زمانی که سرور شما بصورت کامل تخریب شود رسما کاری از این نوع قابلیت برای شما ساخته نیست.
یک Snapshot در واقع یک shadow copy یا یک کپی کامل از اطلاعات موجود در اکتیودایرکتوری است که با استفاده از سرویس Volume Shadow Copy Service یا همان VSS ایجاد می شود و تمامی Volume هایی که اطلاعات پایگاه داده اکتیودایرکتوری و همچنین Log File های آن را در خود دارند را در برمی گیرد.
با استفاده از این روش و پس از تهیه Snapshot شما قادر خواهید بود اطلاعاتی که درون این Snapshot قرار گرفته اند را بدون نیاز به restart کردن Domain Controller و استفاده از DSRM مشاهده کنید ، بدون اینکه چیزی را بازیابی کنید .
ویندوز سرور 2008 امکانی را برای شما فراهم کرده است که توسط آن می توانید Snapshot هایی از اکتیودایرکتوری تهیه کنید و بصورت آفلاین از آن استفاده کنید. با استفاده از AD Snapshot شما می توانید یک Backup از ADDS که قبلا با استفاده از همین روش گرفته شده است را با شماره پورت متفاوتی نسبت به پورت پیشفرض LDAP به وسیله پروتکل LDAP به سرور خود Mount کنید .
توجه کنید که از Snapshot هایی که از اکتیودایرکتوری گرفته شده است بایستی مشابه اطلاعات یک Domain Controller محافظت شود ، مثلا آنها را رمزنگاری کرده و از دسترسی های غیرمجاز محافظت کنیم . از Snapshot های اکتیودایرکتوری در سناریو های معمولا مشخصی استفاده می شود ، مثلا شخصی تنظیمات نامشخصی را بر روی اکتیودایرکتوری انجام داده است و ممکن است آن را دچار مشکل کرده باشد به همین دلیل شما با استفاده از Snapshot آنرا به حالت قبل از انجام تنظیمات باز می گردانید.
شما همچنین می توانید Snapshot گرفته شده را در این لحظه با استفاده از یک پورت غیر از پورت های پیشفرض ویندوز سرور به سیستم Mount کرده و براحتی تغییراتی که اعمال شده را از این Snapshot خروجی یا Export گرفته و به اکتیودایرکتوری اصلی معرفی کنید. یکی از مرسوم ترین سناریو های بازگرداندن اشیاء حذف شده با استفاده از Export گرفتن از Snapshot و Import کردن در ADDS فعال می باشد.
زمانیکه شما یک Snapshot را mount و متصل کردید قادر خواهید بود اطلاعات اکتیودایرکتوری و تمامی اشیائی که در آن وجود داشته است را مشابه آنچه در زمان Backup گیری بوده است مشاهده کنید. اما توجه کنید که در اینجا به شما اجازه کپی کردن یا Move کردن اشیاء به پایگاه داده موجود در اکتیودایرکتوری داده نخواهد شد . برای انجام اینکار همانطور که اشاره شد شما ابتدا بایستی شیء مورد نظر را Export کرده و در پایگاه داده موجود Import کنید.
ممکن است در بار اولی که عملیات های ایجاد ، mount کردن ، متصل کردن ، قطع اتصال ، unmount کردن و شاید حذف کردن را در snapshot ها انجام می دهید کمی برای شما سخت باشد ، اما اگر اینکار را چندین بار انجام دهید دیگر مشکلی با این موارد نخواهید داشت ، ما در هر صورتیکه بخواهید حساب کنید اینکار ساده تر از restart کردن دامین کنترلر و بالا آمدن با DSRM و Restore کردن System State و انجام یک عملیات Authoritative Restore است . خوب به سراغ انجام عملیات Snapshot گیری بصورت عملی می رویم.
Ntdsutil
Snapshot
Activate instance ntds
snapshot: Activate Instance ntds Active instance set to "ntds".
Create
snapshot: create Creating snapshot... Snapshot set {3a861a35-2f33-4d7a-8861-a10e47afdaba} generated successfully
List all
snapshot: create snapshot: List All 1: 2008/10/25:03:14 {ec53ad62-8312-426f-8ad4-d47768351c9a} 2: C: {15c6f880-cc5c-483b-86cf-8dc2d3449348}
ntdsutil "Activate Instance NTDS" snapshot create quit quit
Ntdsutil
Snapshot
List all
snapshot: List All 1: 2008/10/25:03:14 {ec53ad62-8312-426f-8ad4-d47768351c9a} 2: C: {15c6f880-cc5c-483b-86cf-8dc2d3449348}
mount 7
snapshot: mount 7 Snapshot {15c6f880-cc5c-483b-86cf-8dc2d3449348} mounted as C:'$SNAP_200810250314_VOLUMEC$'5-خوب مانند مراحل قبلی دو بار بایستی دستور quit را وارد کنید تا از محیط ntdsutil خارج شوید.
ntdsutil snapshot "list all" "mount 2" quit quit
از این به بعد می توانید با استفاده از هرگونه ابزار گرافیکی یا GUI که بتواند بر روی یک port خاص با directory Service ارتباط برقرار کند ، مثلا Active Directory Users and Computers ، ADSIEDIT و یا LDP.EXE و ... ، شما حتی میتوانید محتویات اطلاعاتی مورد نظر خود را با استفاده از ابزارهای خط فرمانی مانند LDIFDE و یا CSVDE از Snapshot Export بگیرید و در اکتیودایرکتوری فعال خود Import کنید. در خصوص نحوه استفاده از DSAMAIN و مشاهده و خروجی گرفتن اطلاعات از اکتیودایرکتوری در مقاله ای جداگانه بصورت مفصل بحث خواهیم کرد.
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات
محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود