در این مطلب قصد داریم در رابطه با یک راه‌کار نرم‌افزاری یا Software Defined Storage به‌نام CEPH صحبت کنیم، مزایای آن را مورد بررسی قرار داده و در نهایت نحوه‌ی راه‌اندازی آن در چند سناریوی مختلف را شرح دهیم. هم‌چنین خواهیم گفت که آیا این راه‌کار، تنها یک نرم‌افزار خوش بر و رو است یا واقعن در محیط‌های عملیاتی قابل استفاده خواهد بود. پیش از قضاوت لطفن این مطلب را بخوانید.

نیاز به شیوه‌های نوین ذخیره‌سازی امروزه بیش از هر زمان دیگری احساس می‌شود. توسعه‌ی نرم‌افزارهای پیام‌رسان موبایلی و زیرساخت‌های ابری ذخیره‌سازی که به کاربران امکان می‌دهد در هر زمان و مکانی فایل‌های حجیم خود را روی شبکه‌ی اینترنت قرار دهند، باعث رشد روزافزون فضای ذخیره‌سازی شده است. تحقیقات نشان می‌دهد حجم داده موجود در اینترنت در سال ۲۰۲۰ به عدد بزرگ ۴۵ زتابایت خواهد رسید! هم‌اکنون میزان زیادی از بودجه شرکت‌ها و سازمان‌ها صرف تهیه و راه‌اندازی زیرساخت‌های ذخیره‌سازی می‌شود. روش‌هایی مانند استفاده از SAN در کنار مزایایی که دارد، هزینه‌ی سرسام‌آوری را به سازمان‌ها تحمیل می‌کند. علاوه‌بر آن، بحث چالشی دیگری نیز مطرح می‌شود که آیا زیرساخت‌هایی مانند SAN و یا NAS با دنیای امروزی که به سمت ابر پیش رفته است، سازگاری دارد یا خیر.

 

CEPH چیست؟

سف یک نرم‌افزار ذخیره‌سازی توزیع‌شده‌ی متن‌باز است که با هدف ایجاد قابلیت توسعه، کارایی بالا و احتراز از مدیریت متمرکز (که امکان Fail شدن خواهد داشت) شکل گرفته است. CEPH یک راه‌کار واقعی و جامع در زمینه‌ی «سرویس‌های یکپارچه ذخیره‌سازی» است و امکاناتی مانند Block Storage و Object Storage را در اختیار ما می‌گذارد. حال قابلیت توسعه و اتصال از طریق API را نیز به این فهرست اضافه کنید. نسخه‌ی اولیه این محصول در سال ۲۰۱۲ و آخرین نسخه‌ی آن هم در دسامبر ۲۰۱۷ ارایه شده است.

 

آیا با وجود RAID و SAN استفاده از این راه‌کار منطقی و عملی است؟

سوال اساسی که همواره در سازمان‌ها پرسیده می‌شود این است که پس نقش RAID و SAN این وسط چه می‌شود؟ آیا می‌توان به راه‌کار نرم‌افزاری اعتماد کرد و از خیر SAN Storage گران‌قیمت گذشت؟ در چند بخش به این سوال پاسخ خواهیم داد.

ابتدا بگذارید کمی واقع‌بینانه به قضیه نگاه کنیم. در حالت کلی استفاده از سخت‌افزار مهم‌ترین مزیتی که به همراه می‌آورد نگه‌داری راحت‌تر نسبت به نرم‌افزار است. به‌شکل معمول این‌گونه است که شرکت‌ها و سازمان‌ها سخت‌افزار ذخیره‌سازی گران‌قیمتی از خانواده‌های EMC مانند VNX و یا از HP مانند 3PAR خریداری می‌کنند و بعد از راه‌اندازی، تنها در حد جابه‌جا کردن هاردهای سوخته به آن سرک می‌کشند! بنابراین در این بخش استفاده از سخت‌افزار برتری خواهد داشت.

ولی اگر واقع‌بینانه به قضیه نگاه کنیم، آیا برای سازمانی که اطلاعات آن اهمیت حیاتی دارد استفاده از SAN کافی است؟ البته که نه. پس سازمان‌ها به لایسنس‌های Mirroring روی آورده‌اند و از هر تجهیز دو عدد یا بیش‌تر تهیه می‌کنند، هزینه‌ی بسیار زیاد لایسنس می‌دهند تا در نهایت بتوانند از بابت اطلاعات خیال‌شان را راحت کنند. اگر هزینه‌ی راه‌اندازی ۱۰۰ ترابایت فضای ذخیره‌سازی RAID شده و نه RAW، با وجود مکانیزم‌های Mirroring را بخواهیم سرانگشتی حساب کنیم، با انتخاب RAID5 و سخت‌افزار EMC گمان نمی‌کنم خوشبینانه‌ترین قیمت برای این سناریو کمتر از ۷ میلیارد تومان باشد.

با وجود این‌که RAID سال‌ها محافظ اطلاعات ما بوده است، باید گفت با حجم زیاد داده‌های امروز دیگر جواب‌گو نیست. به‌راحتی می‌توانید تست کنید با حجم بالای دیسک‌های امروزی که هر کدام بیش از ۶ ترابایت است، هنگام از دست رفتن هارد چند ساعت و با حتا چند روز برای ریکاوری و بازسازی اطلاعات زمان نیاز خواهد بود.

مساله بعدی وجود شبکه‌های Cloud در دنیای امروزی است. یکی از مهم‌ترین خواسته‌های این فضا، استفاده از Object Storage است که سیستم‌های SAN قدیمی امکان ارایه چنین سرویسی را ندارد. هر چند تجهیزات جدیدی مانند ECS نیز روانه‌ی بازار شده، اما واقعن این سخت‌افزارها یک راه‌حل قطعی «ذخیره‌سازی یکپارچه» است؟ به‌نظر ما خیر. «ذخیره‌سازی یکپارچه» باید تمامی امکانات را به‌شکل همزمان و با بالاترین کیفیت ارایه دهد.

با تمامی این بحث‌ها، مورد اصلی در مقایسه بحث کارایی است که باید مورد بررسی دقیق قرار گیرد.

 

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

در بسیاری از موارد تجهیزات سخت‌افزاری به‌مراتب کارایی بهتری نسبت به نرم‌افزار از خود نشان می‌دهد. نمونه‌ی بارز این موضوع تجهیزات سیسکو است، با توجه به این‌که بسیاری از کارها را به‌شکل سخت‌افزاری واقعی انجام می‌دهد، سرعت و کارایی بهتری دارد. اما در خصوص تجهیزات ذخیره‌سازی به نظر می‌رسد علت بهتر بودن نمونه‌های سخت‌افزاری نسبت به نرم‌افزاری، راحتی کار و پایداری مناسب باشد و نه لزومن کارایی بهتر. بگذارید به‌شکل موردی و دقیق این موضوع را بررسی کنیم.

شما یک دستگاه سخت‌افزاری EMC VNX خریداری می‌کنید. برای هر سرور کارت HBA گرفته و به‌طور اختصاصی و با پروتکل FC سرورها را به SAN Storage متصل می‌کنید. فکر می‌کنم بهترین راه‌کار در حال حاضر تقریبن این‌گونه باشد. با این سناریو کارت HBA و یا SAN Switch ما می‌تواند سرعتی معادل 8Gbps را ارایه دهد. البته بله، سرعت‌های ۱۶ و ۳۲ نیز در بازار وجود دارد و حتا سال‌ها است در خود ایران نیز عملیاتی شده است. حتا می‌توانیم به‌جای استفاده از SAN Switch از سوییچ‌های نکسوس استفاده کنیم، سرعت را تا 80Gbps و یا حتا بیش‌تر نیز بالا ببریم. (راه‌کار مورد علاقه‌ی من در این سال‌ها) اما موضوع مهم این مسایل نیست. موضوع مهم نقطه‌ی ورودی به SAN Storage است که با یک Bottleneck بزرگ روبه‌رو می‌شویم. این‌که هر سرور پهنای باندی معادل 80Gb داشته باشد و تمامی این سرورها هم‌زمان بخواهند وارد یک گذرگاه مثلن ۳۲ گیگابایتی بشوند. باز هم شاید بگویید از هارد فلش FASTVP استفاده می‌کنیم. اما بیایید واقع‌بین باشیم. هر کاری هم کنید نمی‌توانید این محدودیت بزرگ را از بین ببرید. ضمن این‌که تمامی داده‌های شما به‌وسیله‌ی یک یا دو کنترلر SAN مدیریت می‌شود که فاجعه است. در شکل زیر این موضوع در ساده‌ترین حالت نشان داده شده است.

ceph چیست

اما در سف چه اتفاقی می‌افتد؟

در این سناریو شما باز هم همان توپولوژی قبلی را پیاده‌سازی می‌کنید. اگر خواستید می‌توانید از سوییچ نکسوس استفاده کنید؛ یا اگر هم نه از سوییچ سری ۳۸۰۰ که پورت 40Gb در اختیار ما قرار می‌دهد. هر سرور یا کارت CNA به سوییچ متصل می شود و تمام! با فرض این‌که ۱۵ سرور داشته باشیم، هر کدام از این ۱۵ سرور کنتلرر خواهد بود. پس Single Point Of Failure نخواهیم داشت. ۱۵ سرور هر کدام 40Gb پهنای باند دارد، و در نتیجه پهنای باند کلی و واقعی ما مضرب این دو عدد می شود! 600Gb در ثانیه!

اما هزینه‌ی این راه‌کار چقدر خواهد شد؟ ۱۵ سرور هرکدام با CPU مدل اینتل 2650v4 و با ۶۴ گیگ رم بیش‌تر از ۲۰ میلیون تومان نخواهد شد. بر روی هر سرور نیز ۵ هارد ۴ ترابایتی ببندیم چیزی حدود ۱۵۰ میلیون تومان خواهد شد. در هر سرور نیز ۲ هارد  SSD Enterprise 1 TB برای افزایش سرعت ببندیم،  چیزی در حدود ۱۲۰ میلیون خواهد شد. با این کانفیگ حدودا ۳۳۰ ترابایت فضا خواهیم داشت و تنها با حدود ۶۰۰ میلیون تومان هزینه. به این موضوع هم فکر کنید که این توپولوژی به راحتی قابلیت توسعه به‌طور افقی خواهد داشت و می‌توانیم در هر زمان سرور جدید و هارد جدید به این ساختار اضافه کنیم، بدون نیاز به  هزینه‌ی گزاف. معماری این توپولوژی به‌شکل زیر است.

Ceph Architecture

همان‌طور که مشخص است هر قدر تعداد سرورها در این سناریو بیش‌تر شود، برخلاف راه‌کارهای سنتی، پهنای باند و کارایی افزایش چشم‌گیری پیدا می‌کند.

در رابطه با پایداری و نحوه‌ی ذخیره‌سازی داده‌ها (که از الگوریتمی به‌نام CRUSH استفاده می‌شود) در بخش‌های بعدی و در هنگام راه‌اندازی توضیحات کاملی خواهیم داد تا با توانایی ساختار جدید ذخیره‌سازی دنیا بیش‌تر آشنا شوید. در بخش بعد با راه‌اندازی ابتدایی سف آشنا خواهیم شد. فراموش نکنید برای دنیای کلود، به راه‌حل‌های کلودی نیاز خواهید داشت!

4 پاسخ در “CEPH چیست و استفاده از آن چه مزیت‌هایی دارد؟”

  • samin
    ۷ اسفند ۱۳۹۸ در۶:۵۲ ب٫ظ

    بسیار عالی ممنون

  • ۱۷ فروردین ۱۳۹۹ در۱۲:۱۸ ب٫ظ

    راهکار ceph با تمام برتری هایی که داره، اما بهرحال متکی به اینترنت هستش. چنانچه دیتای حجیمی داشته باشیم، برای ذخیره سازی این دیتا در کلود نیاز به آپلود از طریق اینترنت هستش و هزینه سرسام آوری باید برای اینکار کنار گذاشت درسته؟

  • ۲۱ فروردین ۱۳۹۹ در۳:۲۷ ب٫ظ

    مقاله خوبی بود
    مخصوصا جنس مقایسه و روش توضیح رو خیلی دوست داشتم.

  • محمد
    ۲۱ اردیبهشت ۱۴۰۰ در۱۰:۵۰ ق٫ظ

    آیا امکانش هست از فضا ی کهتوسط OSD ها ارائه میشه تحت عنوان ی پارتشین یا دیسک به ESXI ارائه بشه
    و بتونیم با esxi فضا رو تقسیم بندی کنیم و به کلاینت ها ارئه بدیم ؟

نظرات بسته شده است.