در قسمت اول این مقاله در مورد پشتیبانگیری و بازیابی دادههای حساس و حیاتی در سازمانها و پیچیده بودن آن توضیح داده شد، همچنین در مورد سرویس Volume Shadow Copy و نحوهی ایجاد یک Shadow Copy با استفاده از سرویس VSS صحبت شد. در این قسمت در مورد نحوهی ایجاد Shadow Copy توسط Provider و انواع Provider Shadow Copyها خواهیم پرداخت.
نحوهی ایجاد Shadow Copy توسط Provider
یک Provider Shadow Copy نرمافزاری یا سختافزاری، برای ایجاد Shadow Copy از یکی از روشهای زیر استفاده میکند:
Complete Copy: این روش در یک نقطهی زمانی خاص، یک Complete Copy که Full Copy یا Clone نیز نامیده میشود را از Volume اصلی ایجاد میکند که این کپی Read-Only است.
Copy-On-Write: این روش Volume اصلی را کپی نمیکند، بلکه با کپی کردن تمام تغییراتی که پس از یک نقطهی زمانی خاص روی Volume اعمال شدهاند، یعنی درخواستهای Write I/O کاملشده، یک Copy Differential میسازد.
Redirect-On-Write: این روش Volume اصلی را کپی نمیکند و پس از یک نقطهی زمان خاص هم تغییری در Volume اصلی ایجاد نمیکند؛ در عوض با هدایت تمام تغییرات به یک Volume متفاوت، یک Copy Differential میسازد.
کپی کامل معمولاً با ایجاد Split Mirror به شیوهی زیر ساخته میشود:
- Volume اصلی و Shadow Copy Volume یک مجموعهی Mirrored Volume هستند.
- Shadow Copy Volume از Volume اصلی جدا است و این باعث از بین رفتن ارتباط Mirror میشود.
Volume اصلی و Shadow Copy Volume، پس از از بین رفتن ارتباط Mirror، مستقل میشوند. Volume اصلی به پذیرش تمام تغییرات یعنی درخواستهای Write I/O ادامه میدهد، درحالیکه Shadow Copy Volume یک کپی Read-Only دقیق از دادههای اصلی در زمان از بین رفتن باقی میماند.
برای مشاوره رایگان و یا پیاده سازی راهکارهای پشتیبان گیری و ذخیره سازی با کارشناسان شرکت APK تماس بگیرید. |
روش Copy-On-Write
در روش Copy-On-Write، وقتی پیش از کامل شدن درخواست Write I/O، تغییری روی Volume اصلی رخ دهد، هر Blockی که باید اصلاح شود خوانده شده و سپس روی Shadow Copy Storage از Volume که Diff Area نیز نامیده میشود، نوشته میگردد. حوزهی Shadow Copy Storage میتواند روی Volume یکسان یا متفاوتی باشد، با این روش پیش از اینکه تغییر دادهها Overwrite شود، یک کپی از Block داده روی Volume اصلی حفظ میگردد. جدول زیر روش Copy-On-Write برای ایجاد Shadow Copyها را نشان میدهد.
زمان | داده مبدأ (وضعیت و داده) | Shadow Copy (وضعیت و داده) |
T0 | داده اصلی: 1 2 3 4 5 | بدون کپی: — |
T1 | داده تغییریافته در Cache :3 به 3′ | Shadow Copy ایجاد شده (تنها تفاوتها): 3 |
T2 | داده اصلی Overwriteشده: 1 2 3′ 4 5 | تفاوتها و شاخص ذخیره شده روی Shadow Copy :3 |
روش Copy-On-Write، روش سریعی برای ایجاد یک Shadow Copy است، زیرا فقط دادههایی را که تغییر یافتهاند کپی میکند. Blockهای کپیشده در Diff Area را میتوان با دادههای تغییریافته روی Volume اصلی ترکیب کرد تا پیش از انجام هر تغییری Volume به وضعیت خود بازگردد. اگر تغییرات زیاد باشند، روش Copy-On-Write میتواند هزینهبر شود.
روش Redirect-On-Write
در روش Redirect-On-Write، وقتی که Volume اصلی دچار تغییر شود درخواست Write I/O، این تغییر به Volume اصلی اعمال نمیگردد. در عوض، این تغییر روی یک Shadow Copy Storage از Volume دیگری نوشته میشود. جدول زیر روش Redirect-On-Write برای ایجاد Shadow Copyها نشان میدهد.
زمان | داده مبدأ (وضعیت و داده) | Shadow Copy (وضعیت و داده) |
T0 | داده اصلی: 1 2 3 4 5 | بدون کپی: — |
T1 | داده تغییریافته در Cache :3 به 3′ | Shadow Copy ایجاد شده (تنها تفاوتها): 3′ |
T2 | داده اصلی تغییرنیافته: 1 2 3 4 5 | تفاوتها و شاخص ذخیره شده روی Shadow Copy :3′ |
روش Redirect-On-Write، مثل روش Copy-On-Write روش سریعی برای ایجاد یک Shadow Copy است، زیرا تغییراتِ دادهها را کپی میکند. Blockهای کپیشده در Diff Area را میتوان با دادههای تغییرنیافته روی Volume اصلی ترکیب کرد تا یک کپی کامل و بروز از داده ایجاد گردد. اگر درخواستهای Read I/O زیاد باشند، روش Redirect-On-Write میتواند هزینهبر شود.
انواعProvider Shadow Copyها
دو نوع Provider Shadow Copy وجود دارد: Providerهای مبتنی بر سختافزار و مبتنی بر نرمافزار. همچنین یک Provider سیستم نیز وجود دارد که یک Provider نرمافزار ساخته شده در سیستم عامل ویندوز میباشد.
providerهای مبتنی بر سختافزار
provider Shadow Copyهای مبتنی بر سختافزار، به کمک آداپتور یا کنترلر Storage سختافزار، نقش رابطی را بین سرویس Volume Shadow Copy و سطح سختافزاری ایفا میکنند. ایجاد و حفظ Shadow Copy توسط Storage Array انجام میگردد.
shadow copy providerهای مبتنی بر سختافزار همیشه Shadow Copy متعلق به یک LUN کامل را میگیرند، اما سرویسهای Volume Shadow Copy فقط Shadow Copy متعلق به Volume یا Volumeهایی که درخواست شدهاند را افشا میکند. همچنین از قابلیت سرویس Volume Shadow Copy میتوان جهت تعریف نقاط زمانی، امکان همسانسازی داده، مدیریت Shadow Copy، و فراهم نمودن یک رابط کاربری مشترک با برنامههای کاربردی پشتیبانگیری استفاده کرد. بااینحال سرویس Volume Shadow Copy مکانیزمهای زیرلایهای را که providerهای مبتنی بر سختافزار با استفاده از آن Shadow Copyها را ایجاد و حفظ میکنند، مشخص نمینماید.
providerهای مبتنی بر نرمافزار
provider Shadow Copyهای مبتنی بر نرمافزار معمولاً درخواستهای Read و Write I/O را در یک لایه نرمافزاری بین فایل سیستم و نرمافزار مدیریت Volume، رهگیری و پردازش میکنند.
این providerها بهعنوان یک جزء User-Mode DLL و حداقل یک Kernel-Mode Device Driver به کار گرفته میشوند که معمولاً یک Storage Filter Driver است. Providerهای مبتنی بر نرمافزار، برخلاف Providerهای مبتنی بر سختافزار Shadow Copyها را در سطح نرمافزار و نه سختافزار ایجاد میکنند.
یک Provider Shadow Copy مبتنی بر نرمافزار باید یک نمای Point-In-Time یا نقطهی زمانی از Volume داشته باشد و این کار را از طریق دسترسی به یک مجموعه داده که بتوان برای بازسازی وضعیت Volume، پیش از زمان ایجاد Shadow Copy، آن را مورد استفاده قرار داد انجام میدهد. بهعنوان مثال میتوان به تکنیک Copy-On-Write یک سیستمProvider اشاره کرد. اما سرویس Volume Shadow Copy هیچ محدودیتی روی تکنیکهای مورداستفادهی Providerهای مبتنی بر نرمافزار برای ایجاد و حفظ Shadow Copyها اعمال نمیکند.
در مقایسه با Providerهای مبتنی بر سختافزار، Providerهای مبتنی بر نرمافزار را میتوان به گسترهی وسیعتری از پلتفرمهای Storage اعمال کرد و این Providerها باید با دیسکهای عادی یا فضای منطقی بهخوبی کار کنند. فضای منطقی فضایی است که با ترکیب فضای خالی از دو یا چند دیسک ساخته شود. Provider های نرمافزاری، برخلاف Shadow Copyهای سختافزاری برای حفظ Shadow Copy منابع سیستم عامل را مصرف میکنند.
Provider سیستمی
یک Provider Shadow Copy ،system provider در سیستم عامل ویندوز ارائه میکند، بااینکه یک Provider پیشفرض در ویندوز فراهم شده است، Vendorهای دیگر آزاد هستند که راهکارهای بهینهسازی شدهای را برای سختافزار Storage و برنامههای کاربردی نرمافزاری خود تأمین کنند.
برای حفظ نمای Point-In-Time از Volumeی که در Shadow Copy وجود دارد، ارائهدهندگان سیستم از تکنیک Copy-On-Write استفاده میکنند. کپیهایی از Blockها روی Volumeی که از شروع ایجاد Shadow Copy اصلاح شدهاند، در Shadow Copy Storage ذخیره میشوند.
ارائهدهندهی سیستم میتواند Volume عملیاتی را ارائه کند که میتوان بهطور عادی روی آن نوشت و آن را خواند. وقتی که به Shadow Copy نیاز باشد، بهطور منطقی تفاوتها را به داده روی Volume عملیاتی اعمال میکند و Shadow Copy را بهطور کامل عرضه میکند.
برای Provider سیستم، Shadow Copy Storage باید روی NTFS Volume باشد، لازم نیست Volumeی که قرار است Shadow Copy شود یک NTFS Volume باشد، اما حداقل یک Volume که روی سیستم Mount شده است، باید NTFS Volume باشد. فایلهایی که سیستم Provider را تشکیل میدهند swprv.dll و volsnap.sys هستند.
Writerهای In-Box VSS
سیستم عامل ویندوز شامل مجموعهای از Writerهای VSS است که شمارش دادههای مورد نیاز ویژگیهای مختلف ویندوز را بر عهده دارند.