بررسی سیستم بک آپ گیری روی دیسک اگزاگرید Exagrid

مقدمه

یکی از مهمترین مسائلی که هر مدیر IT دیر یا زود متوجه آن می شود اهمیت بک آپ است. البته مدیران IT خوشفکر خیلی زودتر متوجه اهمیت این قضیه می شوند و مدیران سهل انگار وقتی متوجه اهمیت قضیه می شوند که بخش مهمی از اطلاعات سیستم از بین رفته است و آنها در حالی که یکی از مدیران ارشد در حال فریاد کشیدن سر او است به اهمیت بک آپ فکر می کنند.

تمامی بخش های یک سیستم آی تی بصورت مداوم نیاز به بک آپ دارند. vm ها و دیسک های آنها، دیتابیس ها، فایل سرورها و share های شبکه و مانند این. بصورت عادی هر سازمان متوسط و بزرگی برای این منظور باید یک راه حل بک آپ داشته باشد که یک یا چند نوع نرم افزار بک آپ (مانند veeam یا ibm TSM) و یک محل بک آپ گیری، که معمولا از یک lto tape library و یک مجموعه نوار lto است تشکیل شده است. استفاده از نوار lto و tape library با وجود آنکه مرسوم است، اما مشکلات زیادی مانند مجموعه مکانیکی tape library یا زمان دسترسی به بک آپ در صورت بروز مشکل دارد.

نکته مهم در مورد بک آپ این است که بک آپ گیری با mirror بودن بسیار متفاوت است. بک آپ گیری معمولا حالت incremental دارد و در صورت بروز مشکل در یک وضعیت می توان به وضعیت های قبل revert کرد، اما mirror چنین خاصیتی ندارد و درصورت بروز مشکل در سیستم اول، وقتی سیستم دوم آینه آن است، اطلاعات سیستم دوم هم خاصیتی نخواهند داشت.

fast forward to now: معرفی سیستم exagrid

با وجود مشکلاتی که سیستم های tape based backup دارند، اصلا جای تعجبی نیست که خیلی از شرکتهای کامپیوتری به فکر ایجاد راه حل های بک آپ مبتنی بر دیسک، یا disk based backup افتاده باشند. یکی از این شرکتها شرکت ExaGrid است که از سال 2002 تاسیس شده است و تخصص آن سیستم های بک آپ بر مبنای دیسک است. این شرکت سیستم های appliance می فروشد که بصورت turnkey کار می کنند (یعنی نرم افزار جدا که روی سخت افزار عمومی سوار شود نمی فروشد). نقطه قوت اصلی محصولات شرکت data deduplication قدرتمند آن است که در سطح بایت عمل می کند و این با ترکیب با قابلیت scale out محصول این شرکت، راه حل جالب توجهی را ایجاد کرده است. به گفته این شرکت تا کنون 7000 نصب از سیستم های این شرکت در دنیا انجام شده است.

data deduplication: کاهش حجم مورد نیاز با حذف دیتای تکراری

اما data deduplication که ما از این به بعد آنرا dedup می خوانیم چیست؟ در واقع مفهوم dedup خیلی ساده است. فرض کنید که ما هزار تا ماشین ویندوزی داشته باشیم. در تمامی این ماشین ها دایرکتوری نصب ویندوز که حجمی حدود 2 گیگابایت دارد با اختلاف کمی مشابه هم است. به عبارت دیگر، ما به جای ذخیره 2 ترابایت حجم اطلاعات برای این هزارتا ماشین، می توانیم فقط دو گیگابیت اطلاعات به علاوه تغییرات اطلاعات هرکدام از این ماشین ها نسبت به این دو گیگابایت مرجع را ذخیره کنیم، که شاید کمتر از 10 گیگابایت باشد، که در مجموع ما حدود 500 برابر در فضای نگهداری اطلاعات صرفه جویی کرده ایم!

ادامه همین مفهوم در بخش های مختلف دیگر داده هم قابل تعمیم است. به عبارت دیگر سیستم های deduplication دنبال الگوهای تکراری دیتا می گردند و با حذف آنها و فقط نگهداری ارجاع به داده اصلی، حجم مورد نیاز داده را کاهش می دهند. این در واقع تکامل همانکاری است که سیستم های فشرده سازی مانند zip انجام میدهند، اما در سطوح بالاتر.
البته باید توجه داشت که dedup همه جا اینقدر کارآمد نیست. مثلا در بک آپ گیری از فایل های ویدئویی فشرده شده، یا فایل های zip شده، چون خود فایل قبلا فشرده شده است dedup کردن دیتا خاصیت چندانی ندارد.

نکته جالب در مورد سیستم اگزاگرید این است که این سیستم از dedup در سطح byte level استفاده میکند. بصورت عادی سیستم های سنتی dedup بصورت block level کار می کنند، یعنی اطلاعات را به بلوک های مختلف، به اندازه 4 تا 10 کیلوبایت تقسیم می کنند. سایز متغیر بلوک برای تطابق بهتر سیستم با اطلاعاتی که ذخیره می کند در نظر گرفته شده است.

مشکل اصلی دراین روش این است که جدولی که اطلاعات checksum هر بلوک را درخود نگهداری می کند و tracking table یا hash table نامیده می شود، با افزایش اطلاعات افزایش پیدا می کند و برای مثلا 10 ترابایت اطلاعات خود این جدول یک میلیارد ابجکت می شود. در نتیجه باید این جدول را در یک ماشین مجزا با هارددیسک و پروسسور مجزا که frontend controller نامیده میشود نگهداری کرد که خود این یک محدودیت سیستم میشود و چون سایز این ماشین را از حد خاصی نمی توان بالاتر برد، در بک آپ های با مقیاس بالا سرعت بک آپ شروع به کند شدن می کند و به اصطلاح backup window که مدت زمان قابل قبول برای بک آپ است تا حد غیر قابل قبولی افزایش پیدا می کند.

راه حل دیگر dedup استفاده از byte level dedup است. اما اشکال این روش این است که در این حالت سیستم بک آپ باید جزئیات دقیق روشی که برنامه بک آپ (مثلا ibm tsm) اطلاعات را روی مدیای بک آپ کنار هم می چیند بداند تا بتواند به درستی کار کند و به همین خاطر سیستم های عادی که از این روش استفاده می کنند فقط با نرم افزارهای بک آپ محدودی کار میکنند.
اگزاگرید از یک روش سوم به نام zone level dedup استفاده می کند. در این حالت دیتا به زون های مختلف تقسیم شده و بعد روی هر زون عملیات byte level dedup انجام می شود. در این حالت سایز هش تیبل کوچکتر می شود و در عین حال وابستگی به نوع برنامه آرشیو هم کمتر می شود.

نکته مهمی که اگزاگرید روی آن خیلی تاکید می کند همین قابلیت data deduplication بالا است. با استفاده از dedup در سطح بایت و ترکیب آن با فشرده سازی compression اطلاعات می تواند تا 20 برابر در اطلاعات ذخیره شده صرفه جویی کند. دراین حالت سیستم اولین full backup را فقط با compression فشرده سازی می کند و روی بک آپ های بعدی که بصورت دیفرانسیلی هستند، dedup را اعمال می کند. این مزیت خودش را در بخش های مختلف دیگر هم نشان می دهد، به عنوان مثال وقتی دو سیستم exagrid در جاهای مختلف قرار است از طریق wan با هم سینک شوند، پهنای باند بسیار کمتری لازم است، چون فقط تفاضل های dedup شده جابجا می شود.

درضمن سیستم exagrid سرعت dedup بالایی هم دارد. در این سیستم یک landing zone و یک datazone مجزا از هم وجود دارد که بک آپ ها اول روی disk zone رفته و بعد از آنجا بصورت real time دیداپ شده و روی landing zone می روند. این dedup بلادرنگ باعث میشود که سیستم قابلیت instant VM recovery, instant audit copies, instant tape copies و مانند این داشته باشد و سرعت واکنش آن به تقاضاهای مدیر سیستم خیلی بالا باشد.

scale out: توسعه افقی، به جای توسعه عمودی

یک قابلیت خیلی مهم دیگر سیستم اگزاگرید، توسعه آن بصورت scale out است. اما scale out چیست و چه تفاوتی با scale up دارد؟ به صورت خلاصه scale out توسعه عمودی است، یعنی وقتی یک سیستم کم می آورد، آنرا با یک سیستم قویتر، مثلا با حجم رم بالاتر، یا تعداد سی پی یو بیشتر و مانند این جایگزین کنیم. اما در scale out، در صورت طراحی مناسب، می توان وقتی سیستم نیاز به توان بیشتری دارد، نودهای جدیدی به همان سیستم اضافه کرد، بدون اینکه نیاز به از کار انداختن و جایگزینی سیستم های قبل باشد.
اما چرا با وجود مزایای بارز scale out هنوز برای خیلی ما این سیستم ها ناشناخته است؟ دلیل اصلی آن، پیچیدگی طراحی سیستم های scale out است. در یک دهه اخیر با سرمایه گذاری سنگینی که روی این مفهوم طراحی شده است، بیشتر طراحی های جدید به این سو رفته اند و نتایج آن کم کم در همه جنبه ها آشکار می شود.

در scale out با اضافه کردن هر نود سیستم، تمام منابع سیستم یعنی توان پردازشی، مقدار حافظه رم و حجم دیسک، و پهنای باند بک آپ افزایش پیدا می کند.
سیستم اگزاگرید در هر cluster می تواند 14 تا اپلیانس داشته باشد. این شرکت ده نوع اپلیانس مختلف دارد که از EX1000 با 5 ترابایت خام (دو ترابایت مفید) شروع شده و به EX32000E با 72 ترابایت خام raw capacity ( یا 63 ترابایت مفید usable capacity) ختم می شود. بنابراین یک کلاستر می تواند تا 448 ترابایت فضا و سرعت بک آپ گیری 100 ترابایت بر ساعت (با فرض استفاده از پروتکل خود exagrid) داشته باشد (با فرض حضور هر 14 تا نود، چون سرعت با افزایش تعداد نودها بالا می رود). این عدد برابر 28.5 گیگابایت بر ثانیه است.

هر مجموعه از این اپلیانس ها را می توان کنار هم چید و همه آنها با یک واسط کاربری web based gui یکسان کنترل می شوند. برای هر appliance تعداد weekly full backup که می تواند بگیرد هم مشخص شده است. همانطور که گفته شد اول سیستم یک full backup می گیرد و بقیه بک آپ ها بصورت incremental روی آن اضافه می شوند، بنابراین باید به این پارامتر هم دقت کرد.
قابلیت scale out مزایای مختلفی دارد. با این قابلیت کاربر می تواند با ظرفیت پایین شروع کند و با افزایش ظرفیت مورد نیاز خودش ظرفیت جدید خریداری کند که مدل pay as you grow نامیده می شود. با افزایش نودها ظرفیت مجموعه کلاستر و پهنای باند بک آپ گیری آن افزایش پیدا می کند و بنابراین backup window یا زمان لازم برای بک آپ ثابت باقی می ماند.

سازگاری با نرم افزارهای بک آپ گیری، و قابلیت disaster recovery

اگزاگرید با یکسری نرم افزار بک آپ مشخص کار می کند که فهرست آن داخل سایت خودش قید شده است. این سیستم می تواند با چند اپلیکیشن بک آپ مختلف با هم کار کند. مثلا برای بک آپ از VM ها یک نرم افزار و برای بک آپ از physical server ها یک نرم افزار دیگر. از آنجا که خیلی از نرم افزارهای بک آپ گیری داخل خودشان هم قابلیت data deduplication دارند قابلیت dedup خود اگزاگرید قابلیت آنها را تقویت می کند.

اگزا گرید برای بعضی از نرم افزارها قابلیت های اضافه هم فراهم می کند، مثلا یک veeam data mover برای veeam دارد که داخل آن سوار می شود، یا اینکه مستقیما می توان از داخل ms sql یا oracle RMAN روی آن بک آپ گرفت. لیست نرم افزارهای بک آپ گیری که با آنها کار می کند جالب است و برای آشنایی با نرم افزارهای بک آپ مناسب است.

کاربرد به عنوان disaster recovery

یکی از کاربردهای exagrid در بازگرداندن اطلاعات از وقایع غیر منتظر فاجعه بار است. در این حالت سیستم می تواند بصورت یک ساختار ستاره ای starhub با یک master و تعدادی اقمار آن بسته شود. master hub یا هاب اصلی یا primary site جایی است که بیشترین مقدار بک آپ روی آن گرفته می شود وبیشترین حجم دیتا را دارد، و اقمار آن یا secondary site ها هم مراکز کوچکتر هستند (مثل یک شرکت و شعبه های آن در شهرهای مختلف).

از آنجا که در هفته معمولا فقط 2 درصد دیتای بک آپ گرفته شده در سطح بایت تغییر می کند، پهنای باند WAN مورد نیاز (مثل اینترنت یا mlps) بسیار کم است. علاوه بر این ساختار را می توان بصورت cross protection بست که هم دیتای مسترهاب روی اقمار و هم دیتای آنها روی master hub بک آپ گرفته شود. هر ساختار بک آپ می تواند تا 16 گره که بصورت یک master hub و 15 تا دیتاسنتر جانبی است پشتیبانی کند. خیلی از مشتریان بک آپ های خود را حتی در قاره های مختلف می گیرند، مثلا خیلی از مشتریان در آمریکای شمالی بک آپ خود را در اروپا، ژاپن، چین، سنگاپور، تایلند و بقیه رپلیکا replicate می کنند. کل این عملیات هم فقط از طریق یک واسط gui وب که از طریق بروزر قابل دسترسی است مدیریت می شود.

این کاربرد برای حفاظت داده بسیاری از مشتریان کافی است، تا جایی که به ادعای exagrid بیشتر از 50 درصد مشتریان آن کلا tape را به عنوان بک آپ حذف کرده اند.

از آنجا که در این حالت باید مراکز بک آپ جانبی هم توسط خود مشتری راه اندازی شود، و این برای خیلی از سازمان های کوچکتر ممکن یا مقرون به صرفه نیست، اگزاگرید با شرکت ATS Cloud که ارائه دهنده خدمات ابری است بصورت مشترک سرویس اگزاگرید را روی cloud هم ارائه می دهند که در این حالت کپی دوم روی اینترنت نگهداری شده و مشتری بصورت as GB per month پول آنرا می پردازد.

قیمت و مشتریان

خود اگزاگرید مشتریان خود را به دسته های سازمانی enterprise، سازمان های کوچک mid/small enterprise، دولتی و فدرال federal, state & local government تقسیم می کند که اهمیت بخش دولتی آن در این است که سیستم این شرکت با استانداردهای خرید دولت آمریکا سازگار است، و برای GSA, NETCENTS و بقیه قید کرده است که هر کدام در کدام شماره قرارداد از او خریداری شده است.

اگزاگرید در ضمن توضیح داده است که برای چه کاربردهایی مناسب است، مثل data center protection, unix tar files backup و بک آپ گیری از VM ها. البته واقعیت این است که بیشتر اینها همان کاربرد کلی بک آپ و نیازهای آنرا دارند، اما در بعضی موارد مانند دیسک های VM ها این قضیه متفاوت است. یک کاربرد دیگر این سیستم در private cloud disaster recovery است.
با مکاتبه با این شرکت ما نتوانستیم قیمت آنرا بگیریم، اما با بررسی روی اینترنت یک لیست تدارکات دولت محلی ohio در آمریکا پیدا شد که قیمت اپلیانس های این سیستم برای سال 2013 به همراه قیمت پشتیبانی و مانند اینرا داشت. بنابراین لیست، قیمت اپلیانس EX10000E که 23 ترابایت حجم خام و 20 ترابایت حجم قابل استفاده دارد 23 هزار دلار است. این قیمت برای EX210-GRID که شامل 10 عدد EX21000E با حجم قابل استفاده مجموع 420 ترابایت است به 360 هزار دلار می رسد. قیمت تجدید لیسانس یک ساله این سیستم 420 ترابایتی 64 هزاردلار است. همانطور که دیده می شود این قیمت نسبتا بالایی است.

به روز آوری :

خود اگزاگرید بعد از پیگیری ما قیمت را بصورت زیر داد:
EX21000E is US $52,000 – raw 48 TB usable 42TB
EX32000E is US $72,000 – raw 72 TB usable 63 TB
این قیمت بین المللی است و قیمتی که ما دراینترنت پیدا کرده بودیم قیمت آمریکای سیستم است. هزینه نگهداری سالانه عادی 5×8 یعنی 5 روز هفته و روزی 8 ساعت هم 15 درصد قیمت فروش است.

و در خلاصه

قابلیت های اصلی سیستم exa grid قابلیت deduplication بالا و scale out آن است. اما نقطه ضعف اصلی این سیستم هم قیمت بسیار بالای آن، و اینکه فقط با نرم افزارهای آرشیو مشخصی کار می کند است. به عبارت دیگر این راه حل را نمی توان برای چیزی مثل آرشیو ویدئوی دیجیتال پیشنهاد کرد، اما برای بک آپ گیری از اطلاعات با حجم کمتر، مانند اطلاعات دیتابیس و فایل سرورها گزینه قابل بررسی است، هر چند باید مسائل جانبی مثل تجدید لیسانس ها و تحریم ها را هم در بررسی در نظر داشت.