مباحثی مربوط به Storage در ساختار VMware vSphere - بخش دوم

مباحثی مربوط به Storage در ساختار VMware vSphere - بخش دوم

مزایای فایل سیستم vmfs:

1- برای اینکه چندین هاست همزمان بتوانند به فضاهای Lun یکسان دسترسی داشته باشند و روی آن Read/Write انجام بدهند باید از فایل سیستمهای Shared Cluster استفاده بکنند یا فایل سیستمهایی که مخصوص محیطهای Cluster هستند. در NTFS نمی توانیم اینکار را انجام بدهیم و یک فضا را بین چندین هاست Share کنیم، این قابلیت فقط مختص به فایل سیستم vmfs می باشد. البته این حالت بدین معنا نیست که وقتی یک VM در یک Lun داریم چندین نفر بتوانند به آن دسترسی داشته باشند، یعنی اگر VM1 بر روی Host1 باشد متعلق به Host1 می باشد و Host2 نمی تواند به آن دسترسی داشته باشد حتی اگر این VM1 در یک Lun باشد که بین Host1 و Host2 مشترک باشد. اما این اتفاق به چه صورت می افتد:

به محض روشن شدن VM فایلی به نام vmx.lck در Datastore ذخیره می شود که محتویات این فایل نشان دهنده وضعیت روشن بودن VM می باشد و اینکه صاحب این VM چه کسی هستش. هاست های دیگر نمی توانند به آن دسترسی داشته باشند، این اصطلاح تحت عنوان Block-level Locking مطرح می شود.

2- Dynamically Expand: می توانیم در صورت کمبود فضا از داخل Datastore به صورت live فضا را افزایش دهیم البته در صورتی که بر روی Lun فضا داشته باشیم.

3- Block size=1MB: وقتی ما فضایی را فرمت می کنیم ابرای اینکه دیتا بر روی این فضا Write شود به فضاهایی کوچکتر تقسیم می شود. به این فضاهای کوچک Block گفته می شود. در واقع وقتی این فضا را فرمت می کنیم، Block به Block می شود که اندازه هر Block برابر با 1MB می باشد، که کاملاً مناسب برای فضاهای Virtual Disk ها می باشد و اگر کوچکتر باشد performance پایین تر می آید و کندتر می شود. در ساختار storage اندازه این Block ها را می توانیم تغییر دهیم (در هنگام Raid کردن) ولی در ESXi این امکان وجود ندارد و باید توجه داشته باشیم که سایز Block های ما در Storage کمتر از 1MB نباشد چون مشکل ساز می شود.

مجدداً این Block ها به قطعات کوچکتری به اسم Sub Block تقسیم می شوند که اندازه این Sub Block ها برابر با 8KB می باشد و این قضیه به این دلیل می باشد که فایل های کوچک روی این Sub Block ها نوشته می شوند.

اضافه کردن فضای Datastore:

بر روی Datastore کلیک کنید و گزینه Increase Capacity را بزنید:

Add an extent to existing VMFS datastore:

این روش فوق العاده خطرناک است و پیشنهاد نمی شود چون یکی از Lunها از دست برود کل Datastore از دست خواهد رفت. این روش زمانی استفاده می شود که ما مجبور باشیم و فضایی بیشتر از 64 TB (حداکثر فضای قابل استفاده) بر روی Datastore می خواهیم.

Expand an existing VMFS datastore extent:

در این حالت فضای یک Lun را گسترش می دهیم.

تفاوت Delete کردن و Unmount کردن یک Datastore:

Delete: از روی کل Storage دیتای ما را پاک می کند.

Unmount: Map را که انجام داده بودیم Unmap می کند و ارتباط آن با هاست قطع می شود ولی دیتا پاک نمی شود.

شرایط Unmount و Delete کردن Datastore:

- هیچ Vmای نباید از Datastore مورد نظر استفاده کند.

- Datastore عضوی از Datastore Cluster نباشد.

- Datastore مورد نظر با Storage DRS نباید کنترل بشود.

- گزینه Storage I/o Control فعال نباشد.

- Datastore مورد نظر نباید عضوی از vSphere HA heartbeat باشد.

Multi Pathing:

یعنی چند مسیر بودن که این موضوع بیشتر باید در سمت Storage انجام شود.

ولی این کار به چه منظور انجام می شود:

جهت پشتیبانی از Failover: یعنی اگر یکی از مسیرها قطع شد برای انتقال دیتا از مسیر دیگری استفاده بشود.

جهت پشتیبانی از Load Balance و Throughput دیتا.

حال برای اینکه Multi Pathing کار کند یکسری Policy برای آن وجود دارد.

پالیسی ها به دو دسته تقسیم می شوند:

A) VMware native policy: پالیسی هایی هستند که مربوط به ساختار VMware vSphere هستند و به سه دسته تقسیم می شوند:

1- Fixed

2- Most Recently Used

3- Round Robin

این گزینه ها از مسیر زیر قابل دسترسی هستند:

وارد vSphere Client شوید و بر روی هاست خود کلیک کنید و به تب Summary بروید و بر روی Datastore خود کلیک راست کنید و گزینه Properties را انتخاب کنید.

در صفحه باز شده بر روی Manage Paths کلیک کنید. در صفحه باز شده در قسمت Path Selection می توانید پالیسی های مورد نظر را ببینید.

 

Fixed: یک مسیر به عنوان Active و یک یا چند مسیر به عنوان Passive انتخاب می شود. در اینجا ما بحث Failover را خواهیم داشت ولی Load Balance را خیر چون دیتا همیشه از یک مسیر رد و بدل می شود.

Most Recently Used: این حالت کاملاً شبیه به Fixed می باشد و دیتا همیشه از یک مسیر عبور و مرور می کند با این تفاوت که در Fixed همیشه مسیر Active به بقیه مسیرها ارجعیت دارد و اگر Fail شود مسیر Passive جایگزین آن خواهد شد، حال اگر مسیری که Fail شده بود مجدداً به مدار باز گردد دوباره به عنوان Active انتخاب می شود این گزینه برای زمانی مناسب است که مسیر اصلی ما به طور مثال 16 G باشد ولی مسیر Passive مثلاً 1 G باشد. به این عمل Failback گفته می شود.

Round Robin: در این مدل همه مسیرها به عنوان Active می باشند و Passive نخواهیم داشت. این روش مشکل ساز است، به این علت که اگر یکی از مسیرها Fail شود، تشخیص داده نمی شود که نباید برای این مسیر I/O برود و اتفاقی که میفتد این است که اگر متوجه نشویم بخشی از دیتا از دست خواهد رفت ولی اگر از مسیرها مطمئن هستیم و دائماً مانیتورینگ انجام می دهیم این روش Performance بسیار بالایی دارد. این روش بر اساس میزان Load و وزن کار نمی کند بلکه به هر مسیر یک Iops یکسانی را می دهد.

B) 3rd party: بسیار قوی تر از VMware native عمل می کند ولی در شرایطی که از Storage های Midrange به بالا استفاده بشود.