Dedicated Volume

هر سرویس دارای اطلاعات ارزشمندی است که باید بتوان آن‌ها را در فضایی پایا ذخیره کرد تا بتوان در هر زمان به آن دسترسی داشت. در بستر فندق، این محل‌های ذخیره سازی volume نام دارند.


انواع volume ها

فندق برای آنکه سرویس‌ها بتوانند اطلاعات خود را در فضایی پایا و مانا ذخیره کنند دو ویژگی در نظر گرفته است:

  • ۱- فضای ذخیره سازی اشتراکی
  • ۲- فضای ذخیره سازی اختصاصی )Dedicated Volume(

۱- فضای ذخیره سازی اشتراکی

همانطور که از اسم این فضا مشخص است، سکوی ابری فندق برای هر کاربر یک فضای ذخیره سازی اختصاصی را فراهم می کند.

با اینکه این فضا مشکل ذخیره سازی اطلاعات را حل می‌کند اما گزینه‌ای همه منظوره نیست. این فضا از فضای ذخیره سازی خود سکوی ابری فندق بوده و سرعت خواندن و نوشتن بر روی آن کندتر از volume اختصاصی یا dedicated volume است.

برای موارد مصرفی همچون پایگاه‌های داده و یا سرویس‌های دیگری که در آن ها سرعت پروسه I/O از اهمیت بالایی برخوردار است، فندق Dedicated Volumeها را در اختیار شما قرار می‌دهد.

۲- فضای ذخیره سازی اختصاصی )Dedicated Volume(

برای آنکه بتوان از افت سرعت و کیفیت سرویس‌ها جلوگیری کرد فندق Dedicated Volume‍ را به سکو خود اضافه کرده است تا با استفاده از آن، هر سرویس بتواند فضایی اختصاصی برای ذخیره سازی اطلاعات داشته باشد.

تمام volumeهایی که کاربران می‌سازند، همگی توسط فندق مدیریت می‌شوند تا شما نگران مدیریت و نگهداری آنها نباشید.

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

نکته

توجه داشته باشید هر volume تنها به یک سرویس متصل می شود، لذا اگر تعداد replica بیشتر از ۱ باشد شما مجاز به استفاده از آن volume نخواهید بود و با پیغام خطا مواجه خواهید شد.

مقایسه Volume اشتراکی با اختصاصی

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

چگونگی ساخت volume

فضاهای اختصاصی نیز مانند تمام منابع دیگری که در فندق ساخته می شوند نیازمند یک درخواست هستند.
برای این منظور کاربر می تواند با استفاده از دستور add درخواستی مبنی بر ساخت یک volume به سرور فندق بفرستد.

fandogh volume add --name vol1 -c 10
fandogh volume add --name vol2 -c 30
fandogh volume add --name vol3 -c 20

پارامترهای دستور add :

n- یا name--
با استفاده از این پارامتر کاربر نام دلخواهی برای volume خود انتخاب می‌کند.

c- یا capacity--
با استفاده از این پارامتر کاربر می‌تواند مقدار فضای مورد نیاز خود را مشخص کند.

توجه

توجه داشته باشید که واحد ورودی فضا گیگابایت است

بعد از آنکه درخواستی مبنی بر ساخت یک volume به سمت سرور بیاید، فندق این درخواست‌ها را بررسی کرده و سریعا به Dedicated Volume خود منتقل می کند تا رویه ساخت volume انجام شود، که در شکل زیر نمایی مفهومی از این رویه را مشاهده میکنید.

Volume Creation

بعد از آنکه درخواست ساخت volume با موفقیت به پایان برسد، سرور پاسخی را در قالب جدول زیر برای شما ارسال خواهد کرد.

Creation DateCapacityVolumeMounted ToConditionStatusName
2018-11-19 13:15:17+00:0010Gipvc-28a98eabebfd11e8NoneOperativeBoundvol1

همانطور که در جدول بالا مشاهده می‌کنید، یک پیغام مبنی بر موفقیت آمیز بودن ساخت volume با نام vol1 نمایش داده شده و در ادامه آن یک جدول نمایش داده شده که دارای چند ستون است، که در آن اطلاعاتی مربوط به volume تازه ساخته شده آورده شده است که در ادامه در مورد هر کدام از این فیلدها توضیح خواهیم داد.

توضیح ستون ها :

  • Name
    این ستون بیانگر نام volumeای است که شما در دستور خود به سرور فرستاده اید.

  • Status
    این ستون بیانگر این موضوع است که volume ساخته شده به درستی به Block Storage متصل شده است یا خیر. مقادیر نمایش داده شده در این ستون دو حالت دارد:

    • Bound
      یعنی volume به درستی ساخته و تنظیم شده است و آماده اتصال به یک سرویس است.
    • Unbound
      یعنی ‌Block Storage هنوز در حال آماده سازی volume بوده و باید کمی صبر کنید تا کار آن تمام شده و وضعیت به Bound تغییر کند، تا بتوانید volume را به سرویس مورد نظر خود متصل کنید.
  • Mounted To
    این ستون به ما میگوید که آیا در حال حاضر به سرویسی متصل شده است یا خیر. در صورتی که volume به سرویسی متصل باشد، نام آن سرویس در این ستون نمایش داده خواهد شد.

  • Condition
    این ستون بیانگر شرایط volume شما خواهد بود که نشان میدهد کاری بر روی آن در حال انجام است یا خیر. مقادیر نمایش داده شده در این ستون دو حالت دارد:

    • Operative
      یعنی volume سالم و فعال است و هیچ عملیاتی بر روی آن انجام نمی‌شود.

    • Resizing یا FileSystemResizePending
      یعنی ‌volume در حال افزایش فضا است.

  • Volume
    این ستون نام کوبرنتیزی volume شما را نمایش می‌دهد.

  • Capacity
    این ستون حجم volume شما را نمایش می‌دهد.

  • Creation Date
    همانطور که از نام این ستون مشخص است، تاریخ ساخته شدن یک volume در این ستون نمایش داده می‌شود.

fandogh-cli

برای اطلاع از وضعیت volume های خود می توانید از دستور زیر استفاده کنید.

fandogh volume list

این دستور جدولی شامل لیست تمام volume های شما را نمایش خواهد داد.

چگونگی حذف یک volume

برای آنکه بتوانید یک volume را حذف کنید، کافی است تا نام volume مورد نظر را به دستور زیر بدهید.

fandogh volume delete --name vol1
هشدار

پاک کردن یک volume منجر به پاک شدن تمام محتوای داخل آن شده و بازگرداندن آن امکان‌ پذیر نخواهد بود.

راهنمایی

توجه داشته باشید، اگر volume ای که قصد پاک کردن آن را دارید به یک سرویس متصل باشد، ابتدا باید آن سرویس را destroy کرده و بعد تلاش به حذف volume مورد نظر کنید.

مدیریت volume‌ها

 CLI Image

fandogh-cli

شما همچنین می‌توانید با وارد کردن دستورfandogh volume --help در fandogh-cli لیست دستورات موجود را مشاهده کنید.

list

با استفاده از دستور fandogh volume list می‌توانید لیست تمام volumeهایی که تا به حال ساخته‌اید را مشاهده کنید.

add

با وارد کردن دستور fandogh volunme add --name VOLUME_NAME --capacity VOLUME_CAPACITY شما می‌توانید یک volume با نام VOLUME_NAME و ظرفیت VOLUME_CAPACITY بسازید.

توجه

توجه داشته باشید که واحد ورودی فضا گیگابایت است

name-- یا n-
پارامتر name یا n نمایانگر نام volume‌ای است که می‌خواهید بسازید.

capacity-- یا c-
پارامتر capacity یا c بیانگر ظرفیت volume است.

expand

با وارد کردن دستور fandogh volunme expand --name VOLUME_NAME --capacity VOLUME_CAPACITY شما می‌توانید فضای volume با نام VOLUME_NAME را به ظرفیت VOLUME_CAPACITY افزایش دهید.

توجه

توجه داشته باشید که واحد ورودی فضا گیگابایت است

name-- یا n-
پارامتر name یا n نمایانگر نام volume‌ای است که می‌خواهید فضای آن را افزایش دهید.

capacity-- یا c-
پارامتر capacity یا c بیانگر ظرفیت جدید volume است.

delete

با استفاده از دستور fandogh volume delete --name VOLUME_NAME می‌توانید volume با نام VOLUME_NAME را پاک کنید.

name-- یا n-
پارامتر name یا n نمایانگر نام volume‌ای است که می‌خواهید آن را پاک کنید.