حتما تاکنون با این پرسش مواجه شده اید که software-defined storage که به اختصار SDS نیز نامیده می شود چیست؟ و چه کاربردی دارد. در این مقاله از وبلاگ رمیس سعی خواهیم کرد تا شما را با این مدل از معماری ذخیره سازی اطلاعات آشنا سازیم. با ما همراه باشید…
SDS چیست؟
software-defined storage یا همان SDS یک نوع معماری ذخیره سازی اطلاعات است که در آن لایه نرم افزاری ذخیره سازها از سخت افزار جدا خواهد شد. این نوع معماری کاربران و سازمان ها را قادر می سازد تا با کمک برنامه پذیر ساختن منابع ذخیره سازی اطلاعات خود، آن ها را از بسترهای سخت افزاری سنتی همانند storage area network (SAN) یا network-attached storage (NAS) جدا ساخته و از آنان با سطح انعطاف پذیری بسیار بالاتری بهره ببرند.
جداسازی نرم افزار ذخیره سازی از سخت افزار آن به شما این امکان را می دهد تا تنها در صورت نیاز به فکر خرید سخت افزاری جدید باشید، با کمک استفاده از این نوع معماری، منابع ذخیره سازی شما بخش جدائی ناپذیری از یک معماری مرتبط با یک دیتاسنتر مبتنی بر نرم افزار (software-designed data center) بزرگ خواهند بود که در آن به راحتی می توان این منابع را به شیوه های خودکار و هماهنگ توزیع نمود.
SDS چگونه کار می کند؟
همانطور که گفتیم software-defined storage با حذف وابستگی منابع ذخیره سازی از زیر ساخت های سخت افزاری، انعطاف پذیری بیشتر و مدیریت آسان تر دیتا را برای ما به همراه دارد. در حقیقت به کمک انعطاف پذیری حاصل از SDS و افزودن قابلیت برنامه ریزی در بخش هایی همچون تعیین سیاست گذاری ها در نحوه مدیریت، تامین و توزیع مجدد خودکار منابع، این امکان برای ما فراهم خواهد شد تا با سرعت بیشتر و البته به صورت خودکار، ذخیره سازهای خود را با نیازهای جدیدی که همواره با آن مواجه هستیم سازگار سازیم.
فرض کنید شما در حال حاضر با مجموعه ای از سرورهای مختلف روبرو هستید که هر کدام از ظرفیت های ذخیره سازی متنوعی برخوردارند و برای کار با هر یک از آن ها نیاز است تا با نرم افزار ذخیره سازی مختص آن کار کنید. SDS به شما این امکان را می دهد این محدودیت را کنار گذاشته و از مجموع ظرفیت ذخیره سازهای خود در محیطی کاملا متمرکز و مقیاس پذیر و بسیار انعطاف پذیر بهره ببرید. با SDS شما به راحتی می توانید ظرفیت ذخیره سازهای خود را به شیوه ای کاملا مقرون به صرفه افزایش دهید.
به عبارتی SDS را می توان بخشی از یک اکوسیستم بزرگتری در نظر گرفت که آن را زیرساخت hyperconverged می نامند. در این نوع از زیرساخت تمام نرم افزارها از سخت افزارهای خود جدا شده اند و حذف چنین محدودیتی بدین معناست که شما به راحتی می توانید سخت افزار مدنظر خود را متناسب با ظرفیت مورد نیازتان خریداری کنید.
مزیت های استفاده از software-defined storage چیست؟
آزادی عمل در انتخاب سخت افزار مورد نیاز برای ارائه خدمات: در هنگام انتخاب SDS هیچ الزامی وجود ندارد که کمپانی ارائه دهنده آن با کمپانی که سخت افزار خود را از آن تهیه کردید یکسان باشد. این بدین معنی است که شما می توانید برای تشکیل زیر ساخت SDS خود از هر نوع سرور یا تجهیز ذخیره سازی استفاده کنید.
مقرون به صرفه بودن: مقیاس پذیر بودن و توزیع پذیری بالای SDS این امکان را به شما می دهد تا در عوض افزایش ظرفیت یا در اصطلاح scaling up، به صورت مستقل میزان بهره وری تجهیزات ذخیره سازی خود را افزایش داده و آن ها را متناسب با نیاز خود تطبیق دهید.
تطبیق پذیری خودکار SDS بر مبنای ظرفیت مورد نیاز: از آنجایی که SDS مستقل از سخت افزار عمل میکند و به آن وابسته نیست، در نتیجه اتوماسیون در SDS نیز به صورت خودکار می باشد. این بدین معنی است که در هر زمان که شما به ظرفیت بیشتری نیاز داشته باشید، عملیات مربوط به اتصال به سخت افزار یا لینک جدید بدون دخالت ادمین و به صورت خودکار صورت میگیرد.
عدم محدودیت: شبکه های ذخیره سازی سنتی (SAN) همواره محدود به تعداد node های (دستگاه های دارای IP اختصاصی) هستند که در اختیار آن ها قرار می گیرد. این در حالیست که بنا بر تعریفی که از SDS داریم چنین محدودیتی در این نوع از معماری وجود ندارد و این باعث می شود که از لحاظ نظری این نوع از معماری بی نهایت مقیاس پذیر (scalable) باشد.
راه اندازی software-defined storage چه پیش نیاز هایی دارد؟
SDS را می توان بر روی تمامی سرورها و دیسک های استاندارد رایج در بازار اجرا نمود. این دقیقا همان وجه تمایز SDS نسبت دیگر استوریج هاست زیرا SDS بیشتر متکی بر نرم افزار خودش است تا سخت افزاری که بر روی آن سوار است. SDS همواره فارغ از در نظر گرفتن قیمت و یا سن و سال تجهیزاتی که بر روی آن قرار دارد اینگونه فرض می کند که ممکن است در نهایت روزی هر یک از ذخیره سازهایی که مدیریت آن را بر عهده دارد از کار بیافتد. در نتیجه می کوشد تا همواره برای چنین شرایطی با توزیع سریع و به موقع بار سیستم در سرتاسر زیرساخت برنامه داشته و آماده باشد.
این بدین معنی است که SDS علاوه بر امکان اجرا بر روی سیستم عامل های استاندارد نصب شده بر روی سرورها، می تواند بر روی ماشین های مجازی نیز اجرا شود. برخی از SDS ها حتی می توانند بر روی کانتینرهای نیز اجرا گردند، با این ویژگی کاربران این امکان را خواهند داشت تا اپلیکیشن ها و سرویس های استوریج خود را فارغ از از نوع زیرساخت (bare metal، virtual یا cloud) موجود و تنها از طریق یک اینترفیس مدیریت کنند.
سوالات متداول پیرامون Software-Defined Storage
SDS به معنای مجازی سازی استوریج نیست!
اگرچه در ابتدا ممکن است تعریف SDS ذهن شما را به این سمت ببرد که SDS به معنای مجازی سازی استوریج است اما باید بدانید که این تفسیر از SDS اشتباه بوده و معنی این دو یکسان نیست. با مجازی سازی استوریج در حقیقت شما تمامی ظرفیت ذخیره سازی اطلاعات خود را به نحوی تجمیع می نمائید که گویی مجموع ظرفیت ذخیره سازی شما تنها بر روی یک دستگاه تجمیع شده است. اما در SDS این موضوع کاملا بر عکس است و SDS به دنبال کوچک نمودن و خلاصه کردن سرویس های استوریج با کمک جداسازی استوریج ها از نرم افزارهای مرتبط با آن سخت افزار است.
SDS کلود نیست!
کلودها در واقع مجموعه ای از منابع مجازی هستند که بنا به نیاز می توان از طریق پرتال های سلف سرویس و به کمک نرم افزارهای مدیریتی و اتوماسیون به آن ها دسترسی پیدا نمود. از آنجایی که SDS نیز بسیاری از این قابلیت ها را داراست شاید عجیب نباشد که برخی SDS را نیز به عنوان کلود در نظر بگیرند. اما SDS تنها یک لایه است که با ارائه منابع ذخیره سازی به صورت یکپارچه در محیط های کلود، به تغذیه داده های مورد نیاز در کلود کمک میکند. با این حال SDS قابلیت های یک ذخیره ساز یا استوریج کلود همچون دسترسی به شبکه، نرم افزار مدیریت و اتوماسیون و … را نیز داراست و همین موضوع شاید باعث شده است که گاها در خانواده کلود استوریج ها قرار گیرد.
SDS یک NAS نیست!
این که SDS را یک NAS معرفی نمی کنیم به این معنی نیست که SDS به شبکه متصل نیست بلکه SDS نیز همانند بسیاری از سیستم های ذخیره سازی اینترپرایز نیازمند برخی از اتصالات مربوط به شبکه است. تفاوت این دو در این است که NAS به سازماندهی و اشتراک فایل ها می پردازد در حالی که SDS کنترل و مدیریت فضاهای ذخیره سازی خود را بر عهده دارد. در حقیقت NAS را می توان یک لایه بالاتر از SDS در نظر گرفت و آن را بروی SDS مستقر کرد زیرا SDS تنها به جداسازی فضای ذخیره سازی از سیستم کنترل یک سخت افزار ذخیره ساز اختصاص دارد.