Replication
Replication
به پروسه ساخت یک کپی یکسان (Replica) از دیتا برای دستیابی به Business Continuity گفته می شود که از این طریق ریسک ایجاد وقفه در عملیات کسب و کار از بین می رود یا به میزان زیادی کاهش می یابد.
بر اساس معیار RPO دو نوع replication وجود دارد:
PIT (Point-in-time) (Non-zero RPO)
در این حالت در بازه های زمانی خاص عملیات replication انجام می شود. برای مثال اگر هر ۴ ساعت یک replication انجام گردد، حداکثر میزان RPO می شود ۴ ساعت.
Continuous (Near-zero RPO)
در این حالت دیتا دائما در حال sync شدن است که میزان RPO را به صفر یا نزدیک صفر می رساند.
Compute-based Replication
File System Snapshot
به صورت کلی از Snapshot برای ذخیره کردن حالت یا State فایل سیستم استفاده می شود. زمانی که Snapshot گرفته می شود فایل سیستم مادر بسته شده و از این به بعد اطلاعات در فایل جدیدی نوشته می شود. این نوع از snapshot در سطح سیستم عامل گرفته می شود.

VM Snapshot
به مانند FS Snapshot است اما در سطح ماشین های مجازی عمل می کند. وقتی از یک state اسنپ شات گرفته می شود حتی وضعیت Power نیز در آن قرار دارد مثلا ماشین خاموش است یا روشن. تمامی منابع ماشین مانند دیسک ها، مموری و کارت های شبکه نیز در state قرار می گیرند.
از زمان گرفتن Snapshot دیتا در دیسک دوم نوشته می شود. زمانی که شما گزینه بازگرداندن Snapshot را اجرا می کنید شما را تنها به دیسک اول منتقل می کند و کار خاص دیگری انجام نمی دهد. در دیسک جدید تنها تغییرات را یادداشت می کند، برای همین دیسک بوجود آمده Snapshot مانند دیسک Thin می ماند. فقط در نظر داشته باشید که این دیسک می تواند به اندازه دیسک مادر بزرگ شود که در اینصورت سرعت ماشین مجازی بسیار پایین خواهد آمد.
این روش بخصوص برای ادمین های شبکه بسیار مفید است. زیرا می توانند بعد از گرفتن اسنپ شات، اقدام به نصب نرم افزار یا بروزرسانی سیستم کنند و در صورت ایجاد هرگونه مشکلی، مجدد اقدام به بازگردانی به حالت اولیه کنند.
VM Clone
بدلیل اینکه نصب یک سیستم عامل جدید و نرم افزارهای مورد نیاز، امری بسیار وقت گیر است از قابلیت clone استفاده می شود. می توان گفت که clone یک کپی از ماشین مجازی موجود است. بعد از اینکه عملیات clone به پایان رسید، ماشین جدید کاملا مجزا از parent VM می شود و حتی آدرس MAC آنها نیز از هم متفاوت می گردد. این قابلیت بخصوص در محیط VDI بسیار پرکاربرد است زیرا ادمین شبکه به راحتی می تواند ماشین مجازی با نرم افزارهای از قبل نصب شده را برای کارمندان جدید ایجاد نماید.
دو نوع clone با نامهای Full clone و Linked clone وجود دارد. در روش full یک کپی اختصاصی از ماشین مورد نظر گرفته می شود و از آن به بعد راه آن دو از هم جدا می شود و دیگرهیچ چیز اشتراکی بین آن دو وجود ندارد. اما در روش linked یک snapshot از ماشین گرفته می شود اما این اسنپ شات دارای شبکه مختص به خود است و بصورت کاملا مستقل به هایپروایزر اختصاص داده می شود. تمام فایل های موجود در دیسک ماشین parent بصورت فقط خواندنی در دسترس linked clone قرار می گیرد. از این به بعد هرگونه تغییری در دیسک parent دیگر به دیسک linked clone اعمال نمی گردد و برعکس این موضوع نیز صادق است.
نوع دیگری از clone با نام Instant clone نیز وجود دارد که به مانند روش linked clone عمل می کند با این تفاوت که محتویات حافظه را هم نیز منتقل می کند در نتیجه سرعت ساخت آن بسیار زیاد است.
Log Shipping
راهکاری است که برای بکاپ گرفتن از دیتابیس ها مورد استفاده قرار می گیرد. در این تکنیک تمامی تراکنش هایی که در دیتابیس مبدا اتفاق می افتد بصورت log در آمده و بصورت دوره ای توسط سرور مبدا به سمت سرور مقصد ارسال می شود. سرور مقصد نیز این لاگ ها را دریافت کرده و در دیتابیس خود اعمال می کند.
Hypervisor-based replication
یکی از روش های رایج replicate کردن ماشین های مجازی بین سایت اصلی و سایت remote است. با انجام اینکار اگر سایت اصلی بدلیل رخ دادن فاجعه ای از مدار خارج شود، سایت دوم کنترل عملیات را بدست می گیرد. نحوه عملکرد آن استفاده از یک Agent بر روی سرور مربوطه است که وظیفه تشخیص تغییرات از مبدا و ارسال آن به سمت سایت remote را دارد.
این پروسه با یک sync ابتدایی کلی انجام می شود و سپس از آن به بعد تغییرات با توجه به میزان RPO که برای هر ماشین تعیین شده است ارسال می شود. این نوع از replication هر دو روش synchronous و asynchronous را پشتیبانی می نماید.
در روش synchronous به محض انجام تغییرات، آنها ارسال می شوند که باعث می شود به near zero RPO نزدیک شویم اما response time نرم افزار را بالا می برد. در روش asynchronous انجام تغییرات در مبدا بسرعت اطلاع داده می شود اما خود تغییرات در فواصل منظمی که تعیین شده است ارسال می شوند.
Storage-based Replication
در اینجا محیط عملیاتی استوریج است که replication را انجام می دهد و منابع سرور مانند cpu و ram در این عملیات شرکت ندارند. این راهکار هر دو روش local و remote را پشتیبانی می کند که در ادامه توضیح داده خواهند شد.
Full Volume Replication – Clone
یک کپی کامل از Lun گرفته و در همان استوریج قرار می دهد به عبارت دیگر اقدام به ساخت clone می کند.
Pointer-based Virtual Replication – Snapshot
بر خلاف روش قبل در اینجا کل lun کپی نمی شود بلکه snapshot تنها شامل پوینترهایی است به مکان دیتا در source . معمولا اسنپ شات برای زمان هایی پیشنهاد می گردد که میزان تغییرات در lun کمتر از ۳۰ درصد است. شما همچنین می توانید برای نیازمندی های مختلف از یک lun چندین اسنپ شات بگیرید. همانطور که مشخص است در صورتی که به هر دلیل lun مبدا از دسترس خارج شود، دیگر اسنپ شات نیز بکار نمی آید.
Remote replication: Synchronous
در این راهکار به محض اینکه دیتا برای ذخیره سازی به استوریج ارسال شد، قبل از اینکه تاییدیه ذخیره سازی به سمت سرور ارسال شود، به سرعت دیتا به سمت استوریج remote ارسال می شود. این مراحل را در شکل زیر مشاهده می نمایید:
این پروسه باعث می شود که از یکسان بودن دیتا در هر دو سمت اطمینان حاصل گردد. اما باعث بالا رفتن response time می شود. به همین دلیل باید بین دو سایت از پهنای باند قابل اطمینان و پرسرعتی استفاده کرد تا بدین طریق تا جایی که امکان دارد سرعت انتقال را بالا برد.
Remote replication: Asynchronous
در این راهکار بعد از ذخیره سازی دیتا در استوریج مبدا، تاییدیه به سمت سرور ارسال می شود. سپس بصورت دوره ای آن دیتا به سمت استوریج remote فرستاده می شود. این دوره های زمانی ارسال توسط کاربر تعیین می گردد.
در این روش دیتا بر روی یک بافر که delta set نامیده می شود، ذخیره شده و در interval های مشخص این دلتاست ها به سمت remote ارسال می شود. به همین دلیل بعضی از تولیدکنندگان استوریج یک ویژگی بنام delta set extension را ارائه می نمایند که باعث بالا رفتن ظرفیت بافر می گردد.
Remote replication: Multi-Site
در زمان هایی که هر دو سایت در فواصل نزدیک به هم، مثلا در یک شهر قرار دارند، اگر فاجعه ی بزرگی رخ دهد، هر دو سایت دچار مشکل می شوند. در این مواقع مجبور به برگشت دیتا، از برای مثال tape هستیم که باعث بالا رفتن RTO می شود که برای بسیاری از سازمان ها مشکل ایجاد می کند. به همین دلیل در این مواقع از چندین سایت استفاده می شود.
Network-based Replication
در اینجا روشی با نام CDP یا Continuous data protection معرفی شده است که آنرا با نام real-time backup نیز می شناسند و بخصوص برای محیط های ناهمگن بسیار ایده آل است. نحوه عملکرد آن اینگونه است که در ابتدا یک بکاپ کلی از استوریج گرفته و در مقصد قرار می دهد و از آن به بعد تمام بلاک های استوریج دائما بررسی شده و هر گونه تغییری در آن را به مقصد منتقل می کند. مزیت اصلی CDP در اینست که ورژن های مختلفی از تغییرات را نگهداری می کند و در نتیجه اگر ویروسی در سیستم پخش شود و از طریق cdp نیز به مقصد منتقل شود، شما می توانید هم دیتا و هم ماشین ها را به نسخه های گذشته ای که سالم باقی مانده اند برگردانید در حالی که تکنولوژی های سنتی data protection تنها تعداد محدودی recover point به شما عرضه می کنند. تفاوت اصلی این روش با بکاپ در اینست که هیچ schedule برای بکاپ تعیین نمی شود و تغییرات دائما در حال بکاپ گیری هستند، به همین خاطر RPO به میزان زیادی پایین می آید. البته در کنار CDP که تقریبا RPO را به صفر نزدیک می کند، Near-CDP نیز وجود دارد که interval های آن توسط کاربر تعیین می گردد و به مانند snapshot عمل می نماید. همچنین به منظور استفاده بهینه از لینک های WAN، نرم افزارهای CDP از تکنیک های deduplication و compression پشتیبانی می کنند.
اجزای کلیدی CDP
CDP Appliance
CDP می تواند در دو شکل پیاده سازی شود. اول بشکل نرم افزار که با نصب agent بر روی سرورها انجام می گیرد و دوم بشکل یک appliance سخت افزاری، که می تواند هم بصورت in-band یعنی درمسیر دیتا باشد و هم بصورت out-of-band یعنی در خارج مسیر دیتا باشد.
Journal Volume
تمامی دیتا و متادیتا ابتدا در این volume کپی می شود و سپس در interval های مشخص به replica منتقل می شود.
Write Splitter
کار آن جلوگیری از write هایی است که از طرف سرور بر روی production volume می خواهد انجام شود و جداسازی هر write به دو کپی است. این عملیات می تواند در سمت سرور، fabric یا استوریج انجام گیرد.
نرم افزارهای شناخته شده در زمینه CDP عبارتند از:
EMC RecoverPoint – Symantec Veritas NetBackup – Microsoft Data Protection Manager – Zerto
اما آیا CDP می تواند جایگزینی برای روش های سنتی بکاپ گردد؟
برای بکاپ دو پارامتر ریکاوری سریع و موجود بودن بکاپ در خارج از سایت اصلی، بسیار حائز اهمیت است. اگر با استفاده از CDP هم بتوانید یک کپی از دیتا در داخل سایت، داشته باشید و هم یک نسخه در زمان disaster در خارج از سایت فعال داشته باشید، عملا می توانید CDP را جایگزین بکاپ نیز نمایید. پس باید بدانید که CDP هم از local replication برای operational recovery و هم از remote replication برای disaster recovery پشتیبانی می کند.
شکل زیر نمایی از یک سناریو بر اساس local replication و remote replication است که در آن، Splitter در سطح سیستم عامل راه اندازی شده است
Hypervisor-based CDP
بعضی از شرکت ها محصول CDP خود را در سطح هایپروایزر ارائه می نمایند. در این حالت splitter نیز در هایپروایزر embedded می شود. سایر عملیات های این تکنیک نیز به مانند CDP عمل می نماید. نرم افزار RecoverPoint for VM نمونه ای از این محصول می باشد.




