block storage چیست و چه کاربردی دارد؟
به طورکلی در فضای ابری، منابع به سه صورت و فرمت کلی File ،Block و Object وجود دارند. حال سوالی که پیش میآید این است که کدام فرمت مناسبترین روش برای ذخیره سازی است. ما در این مقاله ضمن پاسخ به این سوال که block storage چیست و چه کاربردی دارد به شما کمک میکنیم تا بهترین سرویس ذخیره سازی متناسب با نیازهایتان را انتخاب کنید؛ پس با ما همراه باشید.
block storage چیست ؟
block storage که بعضا با عنوان ذخیره سازی در سطح بلوک نیز شناخته میشود، فناوری است که برای ذخیره فایل های داده در شبکههای منطقه ذخیره سازی (SAN) یا محیطهای ذخیره سازی مبتنی بر ابرمورد استفاده قرار میگیرد. توسعهدهندگان عموما از block storage در موقعیتهای محاسباتی حساس که به انتقال دادهها به صورت سریع، کارآمد و امن نیاز دارند، استفاده میکنند.
ذخیرهسازی بلوک دادهها را به بلوکها تقسیم میکند و سپس آن بلوکها را بهعنوان قطعات جداگانه ذخیره میکند که هر کدام دارای یک شناسه منحصربهفرد هستند. SAN آن بلوک های داده را در هر کجا که کارآمدتر باشد قرار می دهد. این بدان معناست که میتواند آن بلوکها را در سیستمهای مختلف ذخیره کند و هر بلوک را میتوان برای کار با سیستمعاملهای مختلف پیکربندی کرد (یا پارتیشن بندی کرد).
ذخیرهسازی بلوک همچنین دادهها را از محیطهای کاربر جدا کرده و به آنها اجازه میدهد در چندین محیط پخش شوند. این امر، مسیرهای متعددی را برای دادهها ایجاد کرده و به کاربر اجازه میدهد تا به سرعت آنها را بازیابی کند. هنگامی که کاربر یا برنامهای از block storage درخواست داده میکند، سیستم ذخیره سازی زیربنایی، بلوک های داده را مجددا جمعآوری کرده و دادهها را به کاربر یا برنامه ارائه میدهد.
Object storage چیست ؟
Object Storage که اغلب از آن با عنوان ذخیره سازی مبتنی بر اشیا ( object based storage ) یاد میشود، یک معماری ذخیره سازی داده برای مدیریت مقدار زیادی از دادههای بدون ساختار است. دادههای بدون ساختار، دادههایی هستند که با یک پایگاه داده (data base) سازگار نیست و نمیتوان آنها را به راحتی سازماندهی کرد. البته باید گفت که امروزه عمده دادههای ارتباطات اینترنتی، برخلاف دادههای سنتی، ساختار درست و منظمی ندارند.
در دنیای نوین رایانش ابری ، Object Storage در واقع ذخیره دیتا و متادیتاهای ساختارنیافته (Unstructured) با استفاده از یک HTTP API است. در واقع ما به جای آن که فایلها را به بلاکهای مختلف تقسیم کنیم تا با استفاده از فایل سیستم، آنها را روی دیسک ذخیره کنیم، با Object های کاملی سروکار داریم که بر روی شبکه ذخیره شدهاند. این Object میتواند یک فایل تصویری، فایل HTML، یا مجموعهای از دیتای Self-Contained باشد. به طوری که به دیتای دیگری وابسته نباشد.
از آنجایی که صحبت بیشتر در مورد Object Storage در این مقاله نمیگنجد، ما در مقالهای دیگر به تفصیل در Object Storage، روش کار و مزایای استفاده از آن صحبت کردهایم. پیشنهاد میکنیم برای کسب اطلاعات بیشتر در مورد این فضای ذخیره سازی، به مقالهی Object Storage چیست مراجعه کرده و از نکات مهمی که بیان کردهایم،استفاده کنید.
تفاوت Object storage و block storage چیست ؟
یکی از تفاوتهای مهم بین ذخیرهسازی شی و ذخیرهسازی بلوکی نحوه مدیریت ابردادهها است. در Object Storage، ابردادهها را میتوان به گونهای سفارشی کرد که شامل اطلاعات اضافی و دقیق درباره فایلهای داده ذخیرهشده در شیء باشد. به عنوان مثال، ابرداده همراه با یک فایل ویدئویی را میتوان سفارشی کرد تا مشخص کند فیلم کجا ساخته شده است، نوع دوربینی که برای عکسبرداری از آن استفاده شده است و حتی چه موضوعاتی در هر فریم گرفته شده است. در ذخیره سازی بلوک، ابرداده به ویژگیهای اصلی فایل محدود میشود.
ذخیرهسازی بلوک برای فایلهای استاتیکی که اغلب تغییر نمیکنند مناسبتر است؛ زیرا هر تغییری که در فایل ایجاد میشود منجر به ایجاد یک شی جدید میشود.
File storage چیست؟
در این قسمت برای درک اینکه دقیقا block storage چیست و چه کاری انجام میدهد، میخواهیم یکی دیگر از انواع فضای ذخیره سایزی یعنی File storage را تعریف کنیم.
File storage که با عنوان ذخیرهسازی در سطح فایل یا ذخیرهسازی مبتنی بر فایل نیز شناخته میشود، معمولاً با فناوری ذخیرهسازی متصل به شبکه (NAS) مرتبط است. NAS ذخیره سازی را با استفاده از همان ایدئولوژی سیستم فایل شبکه سنتی به کاربران و برنامه ها ارائه میدهد. به عبارت دیگر، کاربر یا برنامه کاربردی دادهها را از طریق دایرکتوری، پوشهها و فایلهای فردی دریافت میکند. این عملکرد مشابه یک هارد دیسک محلی است. با این حال، NAS یا سیستم عامل شبکه (NOS) حقوق دسترسی، اشتراک گذاری فایل، قفل کردن فایل و سایر کنترلها را کنترل میکند.
پیکربندی ذخیرهسازی فایل میتواند بسیار آسان باشد، اما دسترسی به دادهها توسط یک مسیر واحد به دادهها محدود میشود که میتواند بر عملکرد در مقایسه با block storage تأثیر بگذارد. File storage نیز فقط با پروتکلهای رایج در سطح فایل، مانند سیستم فایل فناوری جدید (NTFS) برای ویندوز یا سیستم فایل شبکه (NFS) برای لینوکس کار میکند. این موضوع میتواند قابلیت استفاده در سیستمهای غیر مشابه را محدود کند.
رابطهی ماشین مجازی با block storage چیست ؟
block storage امکان ایجاد حجمهای ذخیره سازی خام را فراهم میکند که سیستمعاملهای مبتنی بر سرور میتوانند به آن متصل شوند. شما میتوانید آن حجمهای خام را به عنوان هارد دیسکهای جداگانه نیز در نظر بگیرید. این موضوع به شما امکان میدهد تقریباً برای هر نوع برنامهای از block storage استفاده کنید؛ از جمله File storage، ذخیره سازی پایگاه داده، حجم سیستم فایل ماشین مجازی (VMFS) و… .
به عنوان مثال، استقرار ماشینهای مجازی در سراسر یک شرکت را در نظر بگیرید. با ذخیره سازی بلوک، میتوانید به راحتی یک حجم ذخیره سازی مبتنی بر بلوک برای ذخیره VMFS ایجاد و فرمت کنید. سپس یک سرور فیزیکی میتواند به آن بلوک متصل شده و چندین ماشین مجازی ایجاد کند. علاوه بر این، ایجاد یک حجم مبتنی بر بلوک، نصب یک سیستم عامل و الصاق به آن حجم به کاربران امکان میدهد فایلها را با استفاده از آن سیستم عامل بومی به اشتراک بگذارند.
منظور از انعطاف پذیری در block storage چیست ؟
انعطاف پذیری ذاتی block storage، آن را برای ظروف ایدهآل میکند. کانتینرها برنامههای کاربردی را از سیستمعاملها انتزاع میکنند؛ درست مانند مجازیسازی که سیستمهای عامل را از سختافزار فیزیکی انتزاع میکند. با block storage، میتوانید به سرعت کانتینرها را تعریف و راهاندازی کنید.
کانتینریسازی، که در آن چندین کانتینر در یک محیط سازمانی تنظیم شدهاند، از سرعت block storage و توانایی بومی یک میزبان برای نصب چندین بلوک سود میبرد.
شبکه های فضای ذخیره سازی
توسعه دهندگان اغلب block storage را با استفاده از یک شبکه منطقه ذخیره سازی (SAN) مستقر میکنند. SAN یک شبکه کامپیوتری است که دسترسی به ذخیره سازی دادهها را فراهم میکند. SAN ها ذخیره سازی را به سایر سیستمهای شبکهای، بلوک میکنند که گویی آن بلوکها، دستگاههای متصل محلی هستند. برای مثال، یک سرور میتواند با استفاده از یک اتصال شبکه داده به SAN متصل شود؛ مانند کانال فیبر، رابط سیستم کامپیوتر کوچک اینترنت (iSCSI) یا Infiniband. شما همچنین میتوانید چندین آرایه ذخیره سازی را در یک SAN پیکربندی کرده و چندین سرور را به SAN متصل کنید.
یک SAN از عناصر یا لایههای زیادی تشکیل شده است. اولین لایه، لایه میزبان است که از سرور تشکیل شده است (یک سیستمعامل شبکه را اجرا میکند) که از طریق کارت آداپتور باس میزبان به شبکه داده متصل است، که با استفاده از یک کابل به شبکه ذخیره سازی متصل میشود. لایه میزبان به لایه فابریک متصل است که مجموعهای از دستگاهها مانند سوئیچهای SAN، روترها، پلهای پروتکل، دستگاههای دروازه و کابلها است. لایه فابریک با لایه ذخیرهسازی که متشکل از دستگاههای ذخیرهسازی فیزیکی، مانند درایو دیسک، نوار مغناطیسی یا رسانههای نوری است، تعامل دارد.
آرایه های RAID
ذخیره سازی بلاک، به خودی خود، چیز زیادی را در قالب افزونگی ارائه نمیدهد و آرایههای RAID را به ملاحظات مهم برای هر اجرای ذخیره سازی بلوک حیاتی تبدیل میکند. RAID (آرایه اضافی از دیسک های مستقل) با نوشتن آن در دو یا چند درایو از داده ها محافظت می کند. اگر یک دیسک از کار بیفتد، اطلاعات روی دیسک(های) دیگر معمولا می تواند بدون اطلاع کاربران از وقفه، جایگزین آن شود.
Open source یا متن باز بودن
اگر برای شما هم سوال پیش آمده که منظور از Open source یا متن باز بودن در block storage چیست باید عنوان کنیم که جایگزینهای منبع باز برای راهحلهای SAN سنتی فروشنده محور در حال افزایش هستند. با پروژههای جدید تقریباً روزانه در حال ظهور هستند؛ در حالی که پروژههای تثبیتشده همچنان به بهبود و افزودن ویژگیها ادامه میدهند. پروژه منبع باز FreeNAS هم ذخیرهسازی بلوک و هم RAID نرمافزاری را ارائه میدهد. Openfiler یکی دیگر از راهحلهای ذخیره سازی منبع باز است که شامل پشتیبانی از ذخیره سازی بلوک و RAID است.
در حالی که منبع باز در بخش ذخیره سازی نوید قابل توجهی را نشان میدهد، برای تضمین موفقیت نیاز به تخصص دارد، که به نوبه خود به این معنی است که مدیران فضای ذخیره سازی امروزی باید برای پشتیبانی و خدمات به فروشندگان مراجعه کنند.
آیا کسبوکار شما به استفاده از block storage نیاز دارد؟
block storage بهعنوان سرویس (BSSaaS) در دستهبندی بسیار بزرگتر ذخیرهسازی سازمانی بهعنوان سرویس (ESaaS) قرار میگیرد، که در آن کسانی که به دنبال ذخیرهسازی مبتنی بر ابر هستند میتوانند از block storage، فایل یا شی برای پشتیبانی از نیازهای ذخیرهسازی داده خود استفاده کنند. در بیشتر موارد، هنگام کار با ESaaS، کاربران همچنین باید یک راه حل IaaS یا PaaS را انتخاب کرده و برنامهها و سرورها را مستقیماً در فضای ابری مستقر کنند.
توانایی پاسخگویی به تقاضا برای ذخیره سازی بسیار مهم است. مصرف ذخیره سازی با نرخ تصاعدی رشد کرده است. از آنجایی که block storage مستقل از منابع محاسباتی است، کوچکسازی به چیزی بیش از ایجاد حجمهای ذخیره بلوک اضافی در یک ارائهدهنده ESaaS نیاز ندارد.
برای شرکتهایی که از رویکرد ابری ترکیبی استفاده میکنند، کوچکسازی ممکن است نیاز به خرید هارد دیسکهای اضافی یا آرایههای RAID داشته باشد، اما روند واقعی کوچکسازی نسبتاً یکسان است. تامین حجم ذخیره سازی بلوک اضافی، نیاز اولیه برای افزایش مقدار فضای ذخیره سازی موجود است.
emulated storage چیست ؟
سیستمهای اندرویدی، انواع مختلفی از دستگاه و فضاهای ذخیرهسازی را پشتیبانی میکنند. یکی از محبوبترین و پراستفادهترین فضای ذخیرهسای توسط کاربران، کارت SD است که به راحتی میتوان آن را جابهجا کرد. از دیگر انواع فضای ذخیره سازی، emulated storage است که با عنوان فضای ذخیره سازی شبیه سازی شده نیز از آن یاد میشود. این فضای ذخیره سازی، با تاییديه شما به فضای خیرهسازی داخلی، از طریق یک لایه شبیهسازی به دستگاه Android اضافه میشود.
emulated storage یکی از مهمترین storage های سیستم اندروید است که آشنایی با آن برای کاربران اندرویدی ضروری است. اگر شما هم میخواهید از تمامی قابلیت سیستم اندرویدی خود استفاده کنید، میتوانید با مراجعه به وبلاگ ابرآراز از محتوای مقالهی emulated storage چیست استفاده کنید.