آموزش OpenStackدانشنامهمجازی سازی

Ceph چیست و مزیت های استفاده از آن

Ceph چیست

یک پروژه اُپن سورس است که راهکاری برای Software-define storage با کیفیت بالا و حذف single point of failure فراهم می نماید. ceph یک راهکار واقعی و جامع در زمینه‌ی سرویس‌های یکپارچه ذخیره‌سازی است و دسترسی های استوریج در سطوح Block، Object و File را در اختیار ما می‌گذارد. قابلیت توسعه و اتصال از طریق API را نیز به این فهرست اضافه کنید. Ceph در ابتدا به عنوان یک پروژه دانشگاهی Phd در سال ۲۰۰۳ در دانشگاهی در کالیفرنیا بوده است که در ادامه و تغییراتی که در آن داده شد در سال ۲۰۱۲ به مرحله اجرا در Production رسید و در سال ۲۰۱۴ شرکت ردهت مالکیت شرکتی که مالک این پروژه بود را خریداری و آنرا تصاحب کرد.

در اینجا تصمیم به بررسی کامل این پروژه داریم و اینکه ببینیم آیا تنها نرم افزاریست مانند سایرین که روزی هستند و روزی دیگر خیر، و یا می تواند نرم افزاری عملیاتی در محیط های Production بزرگ باشد.

امروزه نیاز به شیوه‌های نوین ذخیره‌سازی بیش از هر زمان دیگری احساس می‌شود. هم اکنون میزان زیادی از بودجه شرکت‌ها و سازمان‌ها صرف تهیه و راه‌اندازی زیرساخت‌های ذخیره‌سازی می‌شود. روش‌هایی مانند استفاده از SAN در کنار مزایایی که دارد، هزینه‌ی سرسام‌آوری را به سازمان‌ها تحمیل می‌کند. علاوه بر آن، این خود بحث و چالشی مهم است که آیا زیرساخت‌هایی مانند SAN و یا NAS با دنیای امروزی که به سمت Cloud پیش رفته است، سازگاری دارد یا خیر. ورود ceph که ماهیتی باز و توسعه پذیر دارد توانست بسیاری از استراتژی ها و معماری زیرساخت های استوریج را در ابرهای خصوصی، عمومی و هیبرید تغییر دهد بگونه ای که تا به امروز برآورد شده است که حداقل ۶۰ درصد از کسانی که از اپن استک استفاده می کنند به این نرم افزار رو آورده اند.

اساس و بنیان سف، Object است و ساختارهای block و file بصورت سرویس هایی به آن اضافه شده اند. دیتا در هر نوعی که باشد در نهایت در Ceph Backend بصورت object نمایش داده می شود. همانطور که می دانید Object Storage برای دیتاهای از نوع unstructured بسیار راهکار مناسبی می باشد و نوع عملکردش بگونه ای است که توسعه آن تا ظرفیت های پتابایت و اگزابایت امکان دارد.

اما سیستم های سنتی استوریج مانند SAN Storage و NAS Storage که بصورت سخت افزاری هستند، نسبت به سیستم های جدید SDS یا همان Software-define storage چه مزایا و معایبی دارند. بررسی این دو بسیار حائز اهمیت است زیرا می تواند در سرنوشت سازمانی که می خواهید راهکار ارائه دهید، بسیار تاثیر گذار باشد.

ابتدا مزیت سخت افزار را نسبت به نرم افزار بررسی می کنیم. بصورت معمول اینگونه است که سازمان ها اقدام به خرید استوریج های گران قیمتی مانند VNX، Unity و یا ۳Par کرده و بعد از راه اندازی اولیه دیگر با آن کاری ندارند مگر اینکه دیسک های آنها دچار مشکل شوند که ناچار به تعویض آنها خواهند شد. از این بُعد، سخت افزار مزیت بسیار بزرگی دارد.

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

حرف از RAID شد، راهکاری که برای سالیان متمادی توانست دیتای ما را محافظت نماید و هم اکنون نیز در اکثر شرکت ها استفاده می شود. اما امروزه با ورود مباحث جدیدی مانند Big Data و حجم های ترابایتی دیسک ها، دیگر استفاده از RAID جوابگو نیست. زیرا در صورت از دست رفتن دیسک، چندین ساعت برای ریکاوری و بازسازی دیتا زمان نیاز است که بخصوص در پلتفرم های Cloud مشکل ایجاد می نماید.

مساله بعدی در پلتفرم های Cloud اینست که استفاده از Object Storage یکی از مهمترین خواسته های آنها می باشد که استوریج های SAN سنتی نمی توانند این سرویس را ارائه نمایند. در نتیجه هم باید اقدام به خرید Block Storage نمایید و هم Object Storage که هزینه گزافی را برعهده سازمان می گذارد. البته در نسل های جدید استوریج که ECS نامیده می شود این مشکل حل شده است و هر دو قابلیت در یک استوریج قرار داده شده.

مورد بعدی در رابطه با ضعف های سیستم استوریج سخت افزاری، مشکلی است بنام Bottleneck یا همان تنگراه. در ساختارهای بزرگ تعداد زیادی سرور از طریق پروتکل FC و کارت های HBA و پهنای باندهای متفاوتی از ۸Gbps تا ۳۲Gbps و یا حتی بالاتر، به SAN Switch متصل می شوند. تمامی ترافیک این سرورها باید وارد مسیر تعداد بسیار کمتری استوریج شوند که مطمئنا میزان پهنای باند آنها با سرورها برابری نخواهد کرد. در صورتی که سرورها دائما و بصورت همزمان در حال ارسال ترافیک باشند که این امر در پلتفرم های بزرگ Cloud دور از ذهن نیست، برای ورود به استوریج به یک Bottleneck بر می خورند که به یکباره، مسیر به میزان زیادی باریک می شود. در نتیجه ترافیک ها باید در یک صف قرار بگیرند و به نوبت ارسال شوند. همچنین تمامی این ترافیک ورودی در استوریج توسط یک یا دو کنترولر مدیریت می شوند که تقریبا می شود گفت که یک فاجعه است. اما در مورد همین سناریو در سیستم نرم افزاری مانند Ceph چه اتفاقی می افتد؟ اول اینکه دیگر نیازی به یک طراحی جدا برای شبکه FC ندارید و از کارت های CNA در سرور برای اتصال به شبکه استفاده می نمایید. هر سرور برای خودش یک کنترولر خواهد بود، پس SPOF را نیز نخواهیم داشت. پهنای باند کلی نیز از حاصلضرب تعداد سرورها در پهنای باند هر کدام بدست خواهد آمد که عدد بسیار قابل توجهی خواهد بود. در نتیجه در این راهکار مشکل Bottleneck نیز وجود نخواهد داشت.

 

عکس 209کارایی راهکار نرم‌افزاری بیشتر است یا سخت‌افزاری؟

همانطور که در توضیحات بالا مشاهده نمودید در مجموع مزایای راهکار نرم افزاری بسیار بیشتر از سخت افزاری است و حتی در آن قابلیت توسعه افقی یا Scale Out نیز با اضافه کردن سرور، وجود دارد. در راهکار نرم افزاری با افزودن هر سرور، نه تنها میزان استوریج را افزوده اید بلکه میزان Compute و شبکه را نیز توسعه داده اید، بدون اینکه این توسعه در بلندمدت مشکلاتی ایجاد نماید. بنابراین Ceph در صورتی که به صورت درست پیکربندی و نگهداری شود، راه حلی بسیار ارزان‌قیمت و حرفه‌ای برای زیرساخت ذخیره‌سازی شما خواهد بود. البته باید بدانید که نحوه tune کردن این نرم افزار برای استفاده بهینه، کار بسیار دشواریست و نیاز به دانش بالایی دارد.

نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا