امروزه مهمترین دارایی یک سازمان و نهاد، دادههای آنها میباشد. این دادهها از منابعی گوناگونی بهوجود میآیند. بنابراین ذخیرهسازی دادهها یکی از اساسیترین نیازهای انواع کسب و کارها و دغدغه بسیاری از شرکتها و سازمانها است. یکی از روشهای امن ذخیرهسازی داده، Block Storage (بلاک استوریج – ذخیرهسازی بلوک) است، که هم در شبکههای ذخیرهسازی SAN و هم در پلتفرمهای ابری ارائه میشود.
پیشتر در مقاله Cloud Storage چیست؟ به مفهوم ذخیرهسازی ابری و معماری Block Storage به عنوان یکی از راه حلهای ابری اشاره کردیم. حالا در این مقاله میخواهیم شما را با مفهوم این معماری بیشتر آشنا کرده و نحوه ذخیرهسازی داده را از طریق Block Storage بررسی کنیم.
آنچه در این مقاله میخوانید:
Block Storage چیست؟
Block Storage که گاهی اوقات با عنوان ذخیرهسازی سطح بلوک (Block-Level Storage) نیز شناخته میشود، یک نوع فناوری برای ذخیره فایلهای داده در شبکههای فضای ذخیرهسازی (SAN) یا محیطهای ذخیرهسازی مبتنی بر ابر است. بسیاری از توسعه دهندگان از Block Storage برای امور محاسباتی دادههای خود که نیاز به انتقال داده به صورت سریع، کارآ و قابل اطمینان نیاز دارند، استفاده میکنند.
Block Storage دادهها را به چند بلوک تقسیم کرده و به هر بلوک یک شناسه منحصربهفرد میدهد. ذخیرهسازی بلوکها در SAN به این صورت است که بلوکهای داده براساس کارآمدی، در مکانهای مختلفی قرار داده میشوند. این بدان معناست که میتوان بلوکهای داده را در سیستمهای مختلفی ذخیره کرده است. هر بلوک میتواند برای کار با سیستمعاملهای مختلف پیکرهبندی یا پارتیشنبندی شود.
همچنین، Block Storage با توزیع دادهها در چندین محیط ذخیرهسازی، مسیرهای متعددی را برای دادهها ایجاد میکند و به کاربر اجازه میدهد تا به سرعت آنها را بازیابی کند. هنگامی که کاربر یا یک اپلیکیشن از سیستم Block Storage درخواست داده میکند، بلوکهای داده دوباره در کنار هم جمع شده و به صورت داده اصلی (به صورت یکپارچه) به کاربر یا اپلیکیشن ارائه میشود.
مثالهایی از کاربرد Block Storage
Block Storage امکان ایجاد فضای ذخیرهسازی خام را فراهم میکند که سیستمعاملهای سرور میتوانند به آن متصل شوند. این فضای خام را میتوان به عنوان هارد دیسکهای جداگانه در نظر گرفت که به شما اجازه می دهد برای هر نوع برنامهای، از جمله فایل، پایگاه داده، سیستم فایل ماشین مجازی (VMFS) و همچنین، استقرار ابر خصوصی (Private cloud) از آن استفاده کنید.
به عنوان مثال، شرکتی را در نظر بگیرید که میخواهد چند ماشین مجازی داشته باشد. این شرکت با Block Storage میتواند به راحتی یک حجم ذخیرهسازی برای ذخیره VMFS ایجاد و فرمت کند. سپس با یک سرور فیزیکی به آن بلوک متصل شده و ماشینهای مجازی خود را روی آن ایجاد کند.
انعطافپذیری ذاتی Block Storage برای Containers (کانتینرها) نیز بسیار ایدهآل است. با ذخیرهسازی بلوک، میتوانید کانتینرها را به سرعت تعریف و راه اندازی کنید.
برای آشنایی با Container مقاله “داکر چیست؟” را مطالعه کنید.
شبکههای فضای ذخیرهسازی
شبکههای فضای ذخیرهسازی (SAN) یک شبکه کامپیوتری است که امکان ذخیرهسازی دادهها و دسترسی به آنها را فراهم میکند. SANها هر یک از بلوکها را همانند یک دستگاه ذخیرهسازی به سایر سیستمهای شبکهای ارائه میدهند. به عنوان مثال، سرورها میتوانند با استفاده از یکی از اتصالات شبکه داده، مانند فیبر نوری، رابط سیستم کامپیوتر کوچک اینترنت (iSCSI) یا Infiniband به SAN متصل شوند. همچنین، امکان پیکرهبندی چندین آرایه ذخیرهسازی (storage arrays) در SAN وجود دارد تا بتوان چندین سرور را به آن متصل کرد.
SAN از لایههای زیادی تشکیل شده است:
اولین لایه، لایه میزبان است که در آن سرور قرار دارد و سیستمعامل شبکه را اجرا میکند. این سرور از طریق کارت host bus adapter به شبکه داده متصل شده و با استفاده از یک کابل به شبکه ذخیرهسازی متصل میشود.
لایه میزبان به لایه فابریک متصل است که مجموعهای از دستگاهها مانند سوئیچهای SAN، روترها، پلهای پروتکل (protocol bridges)، دستگاههای Gateway و کابلها است.
لایه فابریک با لایه ذخیرهسازی که متشکل از دستگاههای ذخیرهسازی فیزیکی مانند دیسک درایو ها، نوار مغناطیسی یا رسانههای نوری است، تعامل دارد.
آرایههای RAID در Block Storage
ذخیرهسازی بلوک به خودی خود قابلیت افزونگی (Redundancy) را ارائه نمیدهد؛ منظور از افزونگی این است که دادهها به طور مکرر در چند مکان مختلف ذخیره شوند. اینجاست که آرایههای RAID وارد عمل میشوند. RAID در واقع آرایهای از دیسکهای ذخیرهسازی است که از دادهها محافظت میکند. در این هنگام، اگر یک دیسک از کار بیفتد، دادههای روی دیسک(های) دیگر میتوانند بدون اطلاع کاربران از وقفهی ایجاد شده، جایگزین شوند.
سرویس ابری Block Storage
کسانی که به دنبال ذخیرهسازی مبتنی بر ابر هستند میتوانند از ذخیرهسازی بلوک، فایل یا آبجکت برای ذخیرهسازی داده خود استفاده کنند. “Block Storage بهعنوان سرویس” (BSSaaS) در ابر، زیرمجموعهای از “ذخیرهسازی سازمانی بهعنوان سرویس” (ESaaS) قرار میگیرد. در بیشتر موارد، هنگام کار با ESaaS، کاربران باید یکی از راه حلهای IaaS یا PaaS را انتخاب کنند و برنامهها و سرورهای خود را مستقیما در فضای ابری مستقر کنند.
توانایی پاسخگویی به تقاضای کاربران مبنی بر ذخیرهسازی دادههای آنها بسیار مهم است. باید با توجه به این نیازها، بتوان مقیاسبندی مناسبی را به آنها ارائه داد. ذخیرهسازی بلوک مستقل از منابع محاسباتی است. بنابراین مقیاسپذیری آن (کوچک یا بزرگ کردن مقیاس Block Storage) به ایجاد حجمهای اضافی در ارائهدهنده ESaaS نیاز دارد.
برای شرکتهایی که از رویکرد ابر ترکیبی استفاده میکنند. مقیاسپذیر کردن ممکن است نیاز به خرید هارد دیسکهای اضافی یا آرایههای RAID داشته باشد. اَبر دِراک با ارائهی سرویس ابری Block Storage مطمئن و پایدار امکان ذخیرهسازی نامحدود دادههای شخصی و سازمانی را فراهم نموده است. اَبر دِراک همچنین قابلیت شخصیسازی آنها را به کاربران خود ارائه میدهد.
مزایای ذخیرهسازی ابری
ذخیرهسازی بلوکی به دلیل مزایای بیشماری که دارد، یک انتخاب رایج و محبوب برای ذخیرهسازی ابری است.
راندمان بالا
IOPS بالا و تأخیر کم در ذخیرهسازی بلوک، استفاده از آن را برای برنامههایی که به کارآیی بالایی نیاز دارند، ایدهآل میکند.
سازگاری
ذخیرهسازی بلوک در سیستم عاملها و سیستمهای فایل مختلف کار میکند و آن را برای شرکتها با هر پیکربندی و محیطی سازگار میکند.
انعطافپذیری
با ذخیرهسازی بلوک، مقیاسپذیری افقی بسیار انعطافپذیر است. در صورت نیاز میتوان گرههایی را به کلاستر اضافه کرد تا امکان ذخیرهسازی کلی بیشتری را فراهم کرد.
کارایی فایلهای بزرگ
برای فایلهای بزرگ، مانند آرشیو و فایلهای ویدیویی، هنگام استفاده از ذخیرهسازی فایل یا شی دادهها باید کاملا بازنویسی شوند. با ذخیرهسازی بلوک، برنامه مدیریت تنها بلوک موردنظر تغییر یافته در فایل بزرگ را شناسایی میکند. این مساله باعث افزایش کارایی در بهروزرسانی دادهها میشود.
موارد استفاده از ذخیرهسازی بلوک
مانند ذخیرهسازی اشیا و انواع دیگر ذخیرهسازی ابری، ذخیرهسازی بلوک در شرایط خاص و بر اساس نیازهای کاربر و پارامترهای داده شده بهترین کارایی را دارد. موارد زیر تنها چند مورد از موارد استفاده موثر از ذخیرهسازی بلوک هستند:
کانتینرها
ذخیرهسازی بلوک استفاده از پلتفرمهای کانتینری مانند Kubernetes را پشتیبانی میکند و حجم بلوکی ایجاد میکند که ذخیرهسازی دائمی را برای کل کانتینر امکانپذیر میکند. این امکان مدیریت مناسب و مهاجرت کانتینرها را در صورت نیاز فراهم میکند.
سرورهای ایمیل
سرورهای ایمیل میتوانند از انعطافپذیری و مقیاسپذیری ذخیرهسازی بلوک استفاده کنند. در واقع، در مورد Microsoft Exchange به دلیل عدم پشتیبانی از ذخیرهسازی متصل به شبکه، ذخیرهسازی بلوک مورد نیاز است.
پایگاههای داده
ذخیرهسازی بلوک سریع، کارآمد، انعطافپذیر و مقیاسپذیر است و از فضای افزونه نیز پشتیبانی میکند. این ویژگیها به ذخیرهسازی بلوک اجازه میدهد که از پایگاههای داده به ویژه آنهایی که باید حجم زیادی query ها را مدیریت کنند و تاخیر نیز حداقل باشد، پشتیبانی کنند.
امکان بازیابی اطلاعات
ذخیرهسازی بلوکی میتواند یک راهحل پشتیبان اضافی برای ذخیرهسازی در مکانی نزدیک به کاربر و بازیابی سریع اطلاعات در موارد ضروری باشد.
سوالات متداول
بلاک استوریج (Block Storage) چیست؟
بلاک استوریج یک فناوری مبتنی بر ابر برای ذخیرهسازی فایلهاست. این فناوری مجموعهای از بلوکهاست. در هر بلوک یک تکه از یک فایل ذخیره میشود و هر بلوک آدرس منحصربهفرد خود را دارد.
ذخیرهسازی بلوک برای چه افرادی مناسب است؟
ذخیرهسازی بلوک یک گزینه ذخیرهسازی ابری کارآمد و انعطافپذیر برای شرکتهایی است که به حجم کارایی بالا یا مدیریت فایلهای بزرگ نیاز دارند.
بلاک استوریج چگونه کار میکند؟
در هر بلوک یک تکه از فایل با آدرس منحصربهفردی ذخیره شده است. پس از درخواست کاربر بلوکهای مربوط به داده فراخوانی شده و دادههای مورد نظر به کاربر تحویل داده میشود.