در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش بکاپ (Backup) گیری از اکتیودایرکتوری قسمت 4 : Snapshot

در سه مقاله قبلی با شیوه 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 گیری به حساب نمی آید و زمانی که سرور شما بصورت کامل تخریب شود رسما کاری از این نوع قابلیت برای شما ساخته نیست.


Active Directory Snapshot چیست ؟

یک 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 گیری بصورت عملی می رویم.


ایجاد یک Snapshot از اکتیودایرکتوری

برای اینکه بتوانید یک Active Directory Snapshot ایجاد کنید بایستی از ابزاری بسیار معروف در زمینه مدیریت Directory Service به نام NTDSUTIL استفاده کنید. این ابزار بصورت پیشفرض بر روی ویندوز سرور 2008 نصب شده است و شما کافیست بعد از نصب کردن نقش Active Directory Domain Services بر روی سرور به Command Prompt رفته و آن را اجرا کنید . خوب برای ایجاد Snapshot مراحل زیر را به دقت انجام دهید :

1-به دامین کنترلر خود با استفاده از یک حساب کاربری که عضو گروه Domain Admins می باشد وارد شوید .

2- از طریق منوی استارت Command Prompt یا همان CMD را باز کنید ، توجه کنید که به دلیل اینکه نیاز به دسترسی های مدیریتی برای انجام اینکار می باشد ابتدا بر روی آیکن CMD راست کلیک کرده و سپس گزینه Run As Administrator را انتخاب کنید که دستورات NTDSUTIL با دسترسی مدیریت اجرا شوند.

3-در صفحه CMD باز شده دستور زیر را وارد کنید و Enter را بزنید :
Ntdsutil
Snapshot گرفتن از اکتیودایرکتوری


4-سپس دستور زیر را وارد کرده و مجددا Enter را بزنید :
Snapshot

Snapshot گرفتن از اکتیودایرکتوری


نکته : دقت کنید که دستوراتی مانند ntdsutil ساختاری سلسله مراتبی دارند و مرتب بایستی دستوراتی که مد نظر داریم را یکی پس از دیگری وارد کرده و کلید Enter را بزنیم ، در هر جایی از این دستور که برای شما ابهامی پیش بیاید می توانید با استفاده از کلید ؟ یا همان علامت سئوال از راهنمای دستور استفاده کنید ، ضمنا دقت کنید که دستوراتی مانند snapshot در ntdsutil را می توان بصورت مخفف نیز وارد کرد ، مثلا می توان به جای استفاده از snapshot کلمه sna را وارد کرد و همان نتیجه را مشاهده کرد.

5-قبل از اینکه بتوانید سایر دستورات Snapshot را وارد کنید شما بایستی با استفاده از ntdsutil یک Activate Instance تعریف کنید ، برای انجام اینکار دستوری مشابه آنچه در پایین می بینید را بایستی وارد کنید :
Activate instance ntds

Snapshot گرفتن از اکتیودایرکتوری


نکته : نتیجه دستور بالا بایستی چیزی شبیه به موراد زیر باشد :
snapshot: Activate Instance ntds
Active instance set to "ntds".

6-در همان صفحه CMD دستور زیر را برای ایجاد Snapshot وارد کنید :
Create

Snapshot گرفتن از اکتیودایرکتوری


نکته : نتیجه دستور بالا بایستی به چیزی شبیه به موارد زیر باشد :

snapshot: create
Creating snapshot...
Snapshot set {3a861a35-2f33-4d7a-8861-a10e47afdaba} generated successfully

7-برای مشاهده تمامی Snapshot های گرفته شده در سیستم می توانید دستور زیر را وارد کنید :
List all

Snapshot گرفتن از اکتیو دایرکتوری


نکته : نتیجه دستور بالا بایستی چیزی شبیه به موارد زیر باشد :

snapshot: create
snapshot: List All
 1: 2008/10/25:03:14 {ec53ad62-8312-426f-8ad4-d47768351c9a}
 2: C: {15c6f880-cc5c-483b-86cf-8dc2d3449348}

8-آخرین مرحله خروج از ntdsutil هست که باید 2 بار دستور quit رو وارد کنید تا از محیط خارج بشید.

نکته : ابزار NTDSUTIL این قابلیت را به شما می دهد که کلیه دستورات بالا را به صورت یک خط به شکل زیر وارد کنید و همان نتایج بالا را بدست بیاورید :
ntdsutil "Activate Instance NTDS" snapshot create quit quit

Mount کردن یک Active Directory Snapshot

قبل از اینکه بتوانید به یک Snapshot متصل شوید بایستی آن را mount کنید. به نتایج دستور list all که در مرحله هفتم در همین مقاله اشاره شده نگاه کنید و Snapshot ای را که می خواهید mount کنید را به همراه شماره ای که در کنار آن نوشته شده است انتخاب کنید. برای اینکه بتوانید عملیات mount کردن را به درستی انجام دهید ، مراحل زیر را دنبال کنید :

1- Command Prompt را در حالت Privileged Mode یا همان دسترسی مدیریتی باز کنید و دستور زیر را وارد کنید و Enter را بزنید :
Ntdsutil
Snapshot گرفتن از اکتیودایرکتوری


2- سپس دستور زیر را وارد کرده و مجددا کلید Enter را بزنید :
Snapshot

Snapshot گرفتن از اکتیودایرکتوری


3-برای مشاهده لیست Snapshot های موجود از دستور List All مطابق شکل زیر استفاده کنید :
List all
Snapshot گرفتن از اکتیودایرکتوری


نکته : نتیجه دستور چیزی شبیه تصویر زیر خواهد بود :
snapshot: List All
 1: 2008/10/25:03:14 {ec53ad62-8312-426f-8ad4-d47768351c9a}
 2: C: {15c6f880-cc5c-483b-86cf-8dc2d3449348}

4-خوب در این مثال ما فقط یک Snapshot تهیه کردیم که تاریخ آن نیز در جلو آن نوشته شده است ، برای اینکه این Snapshot را برای mount کردن انتخاب کنیم ، کافیست دستور زیر را وارد کنید :
mount 7
Snapshot گرفتن از اکتیودایرکتوری


نکته :نتیجه چیزی شبیه به تصویر زیر خواهد بود :
snapshot: mount 7
Snapshot {15c6f880-cc5c-483b-86cf-8dc2d3449348} mounted as C:'$SNAP_200810250314_VOLUMEC$'
5-خوب مانند مراحل قبلی دو بار بایستی دستور quit را وارد کنید تا از محیط ntdsutil خارج شوید.

نکته : همانند تمامی مواردی که توسط ابزار ntdsutil انجام می شوند ، شما می توانید تمامی موارد خواسته شده را در قالب یک خط بیان کنید و برای انجام اینکار کافیست دستوری شبیه به آنچه در ادامه می بینید را وارد کنید :
ntdsutil snapshot "list all" "mount 2" quit quit

دقت کنید که زمانیکه شما نیاز به unmount کردن Snapshot بعد از استفاده از آن را داردی ممکن است نیازی نباشد شما دستور quit را وارد کنید .

متصل شدن به Active Directory Snapshot

برای اتصال به یک Snapshot ای که در مرحله قبلی mount کرده ایم ، شما می توانید از دستور DSAMAIN استفاده کنید . DSAMAIN دستوری است که بصورت پیشفرض در ویندوز سرور 2008 تعبیه شده است. البته قطعا شما زمانیکه ویندوز را بدون هیچگونه نقشی و بصورت خام نصب کرده اید این دستور کاربردی ندارد ، زمانیکه شما یکی از نقش های Active Directory Domain Services و یا Active Directory Lightweight Directory Services را نصب کنید این دستور قابل استفاده خواهد بود .بعد از اینکه توانستید با استفاده از DSAMAIN محتویات اطلاعاتی Snapshot را نمایش دهید .

از این به بعد می توانید با استفاده از هرگونه ابزار گرافیکی یا GUI که بتواند بر روی یک port خاص با directory Service ارتباط برقرار کند ، مثلا Active Directory Users and Computers ، ADSIEDIT و یا LDP.EXE و ... ، شما حتی میتوانید محتویات اطلاعاتی مورد نظر خود را با استفاده از ابزارهای خط فرمانی مانند LDIFDE و یا CSVDE از Snapshot Export بگیرید و در اکتیودایرکتوری فعال خود Import کنید. در خصوص نحوه استفاده از DSAMAIN و مشاهده و خروجی گرفتن اطلاعات از اکتیودایرکتوری در مقاله ای جداگانه بصورت مفصل بحث خواهیم کرد.


نویسنده : محمد نصیری
منبع : جزیره سرویس های شبکه مایکروسافت وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع دارای اشکال اخلاقی می باشد.
#بک_آپ_گیری_از_اکتیودایرکتوری #Snapshot_در_اکتیودایرکتوری #بکاپ_گرفتن_از_اکتیودایرکتوری #Backup_گرفتن_از_اکتیودایرکتوری #mount_کردن_Snapshot_در_اکتیودایرکتوری #ایجاد_Snapshot_از_اکتیودایرکتوری
عنوان
1 آموزش بکاپ (Backup) گیری از اکتیودایرکتوری قسمت 1 : دستور wbadmin رایگان
2 آموزش بکاپ (Backup) گیری از اکتیودایرکتوری قسمت 2 : System State رایگان
3 آموزش بکاپ (Backup) گیری از اکتیودایرکتوری قسمت 3 : Restore کردن رایگان
4 آموزش بکاپ (Backup) گیری از اکتیودایرکتوری قسمت 4 : Snapshot رایگان
زمان و قیمت کل 0″ 0
5 نظر
احمد جهلولی

ممنون از مقاله خوبتون. یه سوالی دارم:

آیا hypervisor برای گرفتن Snapshot از VM از VSS استفاده می کنند؟؟؟ یا فقط state یک VM را به حالت قبل برمی گردانند؟؟؟

ممنون

محمد نصیری

در زمانیکه این مقاله رو می نوشتم بله فقط از State میگرفت و به همین دلیل هم موقع برگردوندن Snapshot اگر شما Replication داشتید کاملا Block میشد Inbound Replication اما فکر می کنم یک یا دو سال پیش یک Add-On به VMware و Hyper-V اضافه شده که Snapshot رو تشخیص میده و اجازه نمیده اینچنین مشکلی بربخوره... البته حضور ذهن ندارم اسمش چی بود فقط میدونم با agent ای که داخل VM نصب می کرد متوجه این موارد میشه...

احمد جهلولی

ممنون مهندس از جواب شما ولی منظورم این نبود برام سوال بود الان وقتی ما با استفاده از ابزارهای Backup گیری مانند Backup exec یا Acronis یک Snapshot ایجاد کنم این Snapshot از VSS استفاده می کنه و از فایلهای در حال اجرا نیز یک کپی میگیره. الان سوال اینجاست ایا virtual machine snapshot مانند این ابزارهای Acronis یا Backup exec هستش یعنی می توان Snapshot گرفته شد بوسیله hypervisor را extract و فایل مورد نظر را ریستور کرد مانند روش بالا که توضیح دادید؟؟ یا فقط برای برگرداندن وضعیت VM استفاده میشه؟؟؟ (تا حالا وقت نکردم تست کنم اگر تجربه ی در این باره دارید ممنون میشم توضیح دهید)

درضمن VM-Generation باعث جلوگیری از مشکلات UNS Roll-Back و مشابه هستش که از VMware vSphere 5.5 به بعد از آن پشتیبانی میشه.

اگر جسارتی توی سوال پرسیدنم می بینید منو ببخشید. سابقه خوبی ندارم D:

محمد نصیری

خیر نمیشه ، اصلا مکانیزم Snapshot خیلی متفاوت هست ، شما از یک Snapshot خالی هیچی نمیتونید بیرون بیارید مگر اینکه Master فایل وجود داشته باشه ، توی سری آموزشی VCP 6.0 در ویدیوی Snapshot کاملا مکانیزمشو توضیح دادم به خاطر همین هم هست که وقتی شما یک Snapshot خالی داشته باشید هیچی نمیشه برگردوند ، امکان بازگردانی فایل از داخل Snapshot رو من متاسفانه با مکانیزم Backup گیری ندیدم انجام بشه ولی احتمالش رو میدم بشه چون میشه از وضعیت فعلی Snapshot گرفت ، رفت به یک Snapshot قبلی و فایل یا Data مورد نظر رو برداشت و مجددا Snapshot فعلی رو برگردوند و اون فایل رو Restore کرد ، میدونم که VMware از VSS برای اینکار قطعا استفاده نمی کنه چون براش ویندوز و لینوکس مهم نیست Block Level Backup میگیره ، اما برای Hyper-V احتمالش رو میدم که استفاده بکنه ... منم برادر این تست ها رو انجام ندادم الان چند سالی میشه در حوزه سیستم عامل ویندوز پیر شدیم دیگه سراغش نمیریم D:

احمد جهلولی

برام خیلی مهم بود که بدونم Snapshotهای که hypervisor می گیرند با Snapshotهای که برنامه های Backup گیری تهیه می کنند فرق دارن .

سالاری مهندس ممنون

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....