Ceph چیست؟ + معرفی کاربردها، مزایا و معایب
روشهای مختلفی برای مدیریت سیستمهای ذخیرهسازی وجود دارد. یکی از این روشها Ceph Storage نام دارد. Ceph Storage یک پلتفرم متنباز است که به سازمانها، شرکتها و… کمک میکند تا دادههای خود را به بهترین شکل کنترل و حفاظت کنند. در این مقاله میخواهیم به معرفی سف، ویژگیها، نحوه عملکرد و مزایا و معایب آن بپردازیم. با ادامه این مطلب ما را همراهی کنید.
Ceph Storage چیست؟
Ceph یک پلتفرم متنباز (open-source) و نرمافزار محور است که از معماری ذخیرهسازی توزیعشده اشیا برای مقیاسپذیری، انعطافپذیری و تحمل خطا در زیرساختهای معمول استفاده میکند. استوریج سف در ابتدا به عنوان چرخاننده HDDها طراحی شده بود؛ اما در طول دهه گذشته، معماری آن به تدریج تکامل پیدا کرد. نسخه های جدید آن نیز میتوانند از SSDها پشتیبانی کنند و عملکرد کلی را بهبود ببخشند. البته ناگفته نماند که هنوز هم پایه اصلی این استوریج، HDD است و به همین دلیل هم طراحی اصلی آن حول محور رفتار و عملکرد این نوع هارددیسک انجام شده است.
برای آشنایی بیشتر با تفاوت حافظههای SSD و HDD کلیک کنید.
هدف استوریج سف این است که ذخیرهسازی یکپارچهای را با رابطهای آبجکت، بلوک و فایل در یک پلتفرم واحد ارائه بدهد. نکته مثبتی که در رابطه با سف وجود دارد این است که از سختافزارهای معمول برای یکپارچهسازی هزاران نود استفاده میکند.
جنبه مثبت دیگر CEPH، وجود سیستم فایلی به نام CephFS است که به طور خاص برای این استوریج طراحی شده است. مزیت اصلی CephFS خودمدیریتی و خودترمیمی است. تکثیر دادهها نیز در سف به آسانی انجام میشود. به همین دلیل هم سف در برابر خطا کاملاً مقاوم است و در حین کار آن، هیچ گلوگاهی ایجاد نمیشود.
قابلیتهای استوریج سف
استوریج Ceph قابلیتها و ویژگیهای زیادی دارد. در ادامه به مهمترین قابلیتهای آن اشاره میکنیم:
- مقیاسپذیری: مقیاسپذیری مهمترین ویژگی سف است. با کمک این استوریج میتوان کلاسترهای کوچک تا بسیار بزرگ را که شامل هزاران گره میشوند، یکپارچهسازی کرد. این میزان مقیاسپذیری، Ceph را برای سازمانهایی که نیازهای ذخیرهسازی رو به رشد دارند، بسیار مناسب میکند.
- تحمل خطا: Ceph به گونهای طراحی شده است که تحمل خطای بالایی داشته باشد. این سیستم دارای مکانیسمهای داخلی ویژه برای تکثیر دادهها و خودترمیمی است. Ceph با تکثیر دادهها در چندین OSD و نظارت بر سلامت خوشه، تضمین میکند که دادهها حتی در صورت خرابی سختافزار یا قطع گره (نود)، در دسترس باقی بمانند.
- ذخیرهسازی یکپارچه: برخلاف راهکارهای ذخیرهسازی سنتی که به سیستمهای جداگانهای برای ذخیرهسازی بلوک، آبجکت و فایل نیاز دارند، Ceph یک پلتفرم ذخیرهسازی یکپارچه ارائه میدهد که از هر سه نوع ذخیرهسازی پشتیبانی میکند. این امر موجب سادهسازی مدیریت ذخیرهسازی میشود و نیاز به سیلوهای ذخیرهسازی متعدد را در سازمان کاهش میدهد.
- افزونگی دادهها: Ceph از تکنیکهای افزونگی داده؛ مانند تکثیر و کدگذاری پاکسازی برای اطمینان از دوام و انعطافپذیری دادهها استفاده میکند. با تکثیر دادهها در چندین OSD یا رمزگذاری آنها به صورت دستهبندیشده، از حذف دادهها و خرابی آنها جلوگیری میشود.
- مقرون به صرفه بودن: سف گزینهای مقرون به صرفه است. سازمانها میتوانند از انعطافپذیری و مقیاسپذیری Ceph استفاده کنند و هزینههای بالایی برای صدور لایسنس نکنند.
نحوه عملکرد Ceph چگونه است؟
اساس معماری ذخیرهسازی دادههای Ceph با نام RADOS شناخته میشود. RADOS یک استوریج اشیای کاملاً قابل اعتماد است که از گرهسازی هوشمند و خودنگاشت تشکیل شده است. به طور کلی سف از پنج سرویس مجزا روی یک سرور استفاده میکند تا وظایف را به درستی پیش ببرد:
- مانیتورهای سف یا ceph-mon: این بخش نودهای کلاسترهای فعال و ناموفق را ردیابی میکند.
- مدیریت سف یا ceph-mgr: این بخش همراه با ceph-mon اجرا میشود تا امکان نظارت بر سیستمها و مدیریت خارجی راحتتر انجام شود.
- سرورهای فراداده (ceph-mds): این بخش دادههای متای inodeها و دایرکتوریها را ذخیره میکند.
- دستگاههای ذخیرهسازی آبجکت: بخش ceph-osd فایلهای اصلی محتوا را ذخیره میکند.
- دروازههای Representational state transfer (RESTful) gateways (ceph-rgw): این بخش لایههای ذخیرهسازی اشیا را با OpenStack Swift APIs ادغام میکند.
منظور از کلاستر یا خوشه ذخیرهسازی در سف چیست؟
استوریج سف با خوشه یا کلاستر زیاد سر و کار دارد. به استقرار یک یا چند مانیتور سف یا دو یا چند دستگاه ذخیرهسازی اشیا، خوشه یا کلاستر ذخیرهسازی Ceph میگوییم. در عمل، سیستم فایل Ceph، ذخیرهسازی اشیا Ceph و دستگاههای بلوک Ceph دادهها را از کلاسترهای ذخیرهسازی دریافت میکنند، میخوانند و مینویسند. یک خوشه ذخیرهسازی Ceph میتواند هزاران گره (نود) ذخیرهسازی داشته باشد.
راهاندازی و اصلاح خوشهها با ابزاری به نام ceph-deploy انجام میشود. ceph-deploy منحصراً برای Ceph ساخته شده است و کار با کلاسترها را راحت میکند. با کمک این ابزار میتوانید پکیجهای سف را از راه دور روی هاست نصب کنید. کلاستر ایجاد کنید. آنها را مدیریت کنید، دستگاههای ذخیرهسازی را اضافه یا حذف کنید، خوشهها را غیرفعال کنید و… .
نحوه عملکرد Ceph Block Storage چگونه است؟
استوریج سف در درجه اول از یک دستگاه Ceph block که یک نوع دیسک مجازی است و به ماشینهای مجازی یا سرورهای مبتنی بر لینوکس متصل میشود، استفاده میکند. یکی از مهمترین اجزای سف RADOS (Reliable Autonomic Distributed Object Store) نام دارد. این بخش قابلیتهای مهمی مانند تکثیر و اسنپشات را ارائه میکند و میتوانند با OpenStack Block Storage ادغام شوند.
جدا از این، Ceph از POSIX (رابط سیستم عامل قابلحمل) که یک نوع سیستم فایل قوی برای ذخیره دادهها در خوشههای ذخیرهسازی است، بهره میبرد. نکته مثبت این قضیه این است که این سیستم فایل از کلاسترها یا خوشههای سیستمی که Ceph block storage بهره میبرد، برای ذخیرهسازی آبجکت و حجم عظیمی از دادهها استفاده میکند.
الگوریتم CRUSH در سف
یکی از مهمترین بخشهای استوریج سف، الگوریتم کراش (Controlled Replication Under Scalable Hashing) است. با کمک این الگوریتم میتوان شیوه توزیع دادهها را در بین نودها مدیریت و کنترل کرد. CRUSH دادهها را به شکلی پویا میان نودها توزیع میکند. این گونه از ایجاد نقاط شکست یا Single Point of Failure جلوگیری میشود.
فرض کنید یک یا چند گره خراب شود. در چنین حالتی امکان دسترسی به دادههای این بخشها دشوار میشود. اما با وجود کراش میتوان دادهها را از روی دیگر گرهها به دست آورد. در نتیجه، نیازی نیست نگران خرابی سیستم و بروز چنین مشکلاتی باشید. کراش از CRUSH Map که یک جدول تخصیص داده است، برای این کار استفاده میکند. نکته مثبت دیگری که در مورد CRUSH وجود دارد این است که CRUSH مکان ذخیرهسازی ایدهآل را بر اساس معیارهای ثابتی انتخاب میکند، مشخص میکند که کدام فایلها کپی شدهاند و سپس متعاقباً آنها را در رسانههای فیزیکی جداگانهای ذخیره میکند. مدیر شبکه میتواند معیارهای مربوطه را تعیین کند.
مزایای استوریج Ceph
استفاده از Ceph storage مزایایی را به همراه دارد، از جمله:
- درست است که استوریج سف آنچنان توسعهنیافته است؛ اما رایگان است و در میان متخصصین جاافتاده است.
- این برنامه به خوبی توسط سازندگان مستند شده است و مشکلات تأیید و… ندارد.
- اطلاعات مفید زیادی در مورد راهاندازی و نگهداری Ceph به صورت آنلاین در دسترس است و همین امر کار با آن را ساده میکند.
- مقیاسپذیری و یکپارچگی ذخیرهسازی Ceph، امنیت دادهها و انعطافپذیری در شبکه را تضمین میکند.
معایب استوریج Ceph
اگر چه استوریج سف در بسیاری از موقعیتها انتخاب خوبی است؛ اما معایبی نیز دارد. از جمله:
- از آنجایی که اجزای ارائه شده سف بسیار متنوع است، برای استفاده کامل از تمام قابلیتهای آن به یک شبکه جامع نیاز دارید.
- راهاندازی سیستم ذخیرهسازی Ceph نسبتاً زمانبر است.
- گاهی اوقات کاربران نمیتوانند به خوبی متوجه شوند که دادهها از نظر فیزیکی در کجا ذخیره شدهاند.
- برای پیادهسازی و مدیریت نیاز به نظارت مهندسی و تخصصی دارد.
کاربردهای Ceph
از استوریج سف در طیف وسیعی از سازمانها، گروهها و… میتوان استفاده کرد. از جمله:
- ذخیرهسازی ابری: معمولاً از سف به عنوان زیرساخت ذخیرهسازی محاسبات ابری استفاده میشود. با کمک سف میتوان یک بستر قابل اعتماد برای ماشینهای مجازی، کانتینرها و سرویسهای ذخیرهسازی اشیا فراهم کرد.
- تحلیل کلان داده: مقیاسپذیری و تحمل خطای Ceph آن را به گزینهای ایدهآل برای پردازش حجم زیادی از دادهها در پلتفرمهای تحلیلی مانند Hadoop و Spark تبدیل کرده است.
- شبکههای تحویل محتوا (CDN): Ceph میتواند برای ذخیره و ارائه محتوای استاتیک مانند تصاویر، ویدئوها و بهروزرسانیهای نرمافزارها در CDNها استفاده شود و تحویل سریع و قابل اعتماد محتوا به کاربران را تضمین کند.
- پشتیبانگیری و بازیابی اطلاعات: قابلیتهای افزونگی دادهها و خودترمیمی Ceph باعث شده است تا این نوع استوریج به راهکاری قابل اعتماد برای پشتیبانگیری و بازیابی اطلاعات تبدیل شود. این گونه سازمانها میتوانند از دادهها و برنامههای حیاتی خود محافظت کنند.
تفاوت CEPH با SAN و RAID در چیست؟
Ceph یک پلتفرم ذخیرهسازی توزیعشده مبتنی بر نرمافزار است که برای مقیاسپذیری، تحمل خطا و استقرار انعطافپذیر روی سختافزارهای معمولی بهینه شده است. در حالی که SAN یک شبکه اختصاصی پرسرعت است که ذخیرهسازی در سطح بلوک را متمرکز و تجمیع میکند و به سازمانها این امکان را میدهد که به سادگی بتوانند دادهها را مدیریت کنند و دسترسی راحتی به آنها داشته باشند.
RAID یک فناوری Disk-level است که چندین درایو فیزیکی را در واحدهای منطقی (logical units) ترکیب میکند تا عملکرد را ارتقا دهد یا افزونگی داده را فراهم کند. RAID اغلب پایه و اساس آرایههای ذخیرهسازی مورد استفاده در SANها یا DASها را تشکیل میدهد. نکتهای که وجود دارد این است که این فناوریها میتوانند مکمل یکدیگر باشند. به عنوان مثال، شما میتوانید در یک سیستم از هر 3 مورد استفاده کنید. سف را روی سختافزار معمولی اجرا کنید. از RAID برای افزونگی محلی بهره ببرید و با کمک آن SAN را در چندین سرور اجرا کنید.

سخن نهایی
استوریج Ceph راهکاری عالی برای سازمانها و گروههایی است که به دنبال یک سیستم ذخیرهسازی مقیاسپذیر و مقاوم در برابر خطا هستند. ویژگیهای سف به گونهای است که تضمین میکند دادههای شما حفاظت میشوند و به سادگی از بین نمیروند. همین امر موجب میشود تا این استوریج گزینه مناسبی برای گروههایی باشد که دادههای حیاتی و مهمی دارند. نظر شما در این باره چیست؟ آیا گزینه بهتری نسبت به سف میشناسید؟ لطفاً نظرات و پیشنهادات خود را در بخش دیدگاه با ما در میان بگذارید.
سوالات متداول
Ceph یک پلتفرم متنباز و نرمافزار محور برای ذخیرهسازی توزیعشده است که برای مقیاسپذیری، تحمل خطا و انعطافپذیری در ذخیرهسازی دادهها استفاده میشود. این سیستم برای مدیریت دادههای حجیم و حساس در سازمانها کاربرد دارد.
Ceph با استفاده از معماری RADOS و سرویسهایی مانند ceph-mon، ceph-osd، ceph-mds و ceph-rgw، دادهها را به صورت توزیعشده مدیریت کرده و با الگوریتم CRUSH آنها را بین نودهای مختلف خوشه توزیع میکند.
از جمله مزایای سف میتوان به رایگان بودن، مستندات کامل، مقیاسپذیری، انعطافپذیری، امنیت بالا و توانایی خودترمیمی اشاره کرد.
از معایب سف میتوان به پیچیدگی راهاندازی، نیاز به دانش فنی بالا، و دشواری در درک مکان فیزیکی دادهها اشاره کرد.
دیدگاهتان را بنویسید