نتورک

مطالبی در مورد نتورک

نتورک

مطالبی در مورد نتورک

Fault Tolerance چیست؟

FT یا Fault Tolerance قابلیتی است که به شما ویژگی های دسترس پذیری بالاتر و محافظت بیشتری از ماشین ها ، در مقایسه با زمانی که از قابلیت HA  استفاده میکنید ، ارائه میکند. از نکات منفی قابلیت HA زمان بر بودن بازگشت از Failover و داشتن Down Time است. FT از ورژن 4 معرفی شد اما تا ورژن 6 استفاده نمیشد.

نحوه کار FT

FT فقط برای ماشین هایی با درجه اهمیت بسیار بالا ، با ساختن یک ماشین یکسان دیگر از آن و دردسترس قرار دادن آن برای استفاده در زمان های Failover عمل میکند. به ماشینی که توسط این قابلیت محافظت میشود Primary و به ماشین دوم که یک  Mirror از آن است Secondary میگویند. این دو ماشین به طور متناوب وضعیت یکدیگر را زیرنظر میگیند . در زمانی که هاست ماشین Primary از دسترس خارج شود ، ماشین Secondary به سرعت فعال و جایگزین آن میشود و یک ماشین Secondary دیگر ایجاد و وضعیت FT به حالت طبیعی باز میگردد ، و زمانی که هاست ماشین Secondary از دسترس خارج شود یک ماشین Secondary دیگر جایگزین آن میشود. در هر دو حالت کاربر هیچ وقفه ایی در کار ماشین احساس نمیکند و دیتایی از بین نمیرود.

به منظور اطمینان از در دسترس بودن حداقل یکی از ماشین ها ، ماشین Primary و Secondary نمیتوانند هم زمان در یک هاست حضورداشته باشند . همچنین FT از فعال بودن هر دو ماشین در زمان برگشت از وضعیت Failover به منظور جلوگیری از “split-brain” محافظت میکند.

 

موارد استفاده Fault Tolerance

زمانی که ماشین Secondary فعال شده و نقش ماشین Primary را اجرا میکند ، وضعیت ماشین به طور کامل بازیابی میشود ، یعنی محتویات رم ، برنامه های در حال اجرا و وضعیت پردازشی بدون هیچ تاخیر و نیاز به Load مجدد .به عنوان مثال از این قابلیت برای زمانی که سرویسی داریم که نیاز داریم تمام مدت ، بدون هیچ تاخیری در حال اجرا باشد ، استفاده میشود.

 

نیازمندی ها و محدودیت های Fault Tolerance

CPU هاست ها باید با  V-motion و یا Enhanced V-motion سازگار باشد و از MMU پشتیبانی کند و حتما از شبکه 10G در بستر شبکه استفاده شود. در هر هاست حداکثر تا 4 ماشین را میتوان توسط FT محافظت کرد (هر دو Primary و Secondary شمارش میشوند) اما میتوان این محدودیت را از طریق Advanced Option افزایش داد.

تا آن زمان فقط ماشین هایی که یک هسته CPU داشتند را میتوانستید توسط FT محافظت کنید اما اکنون تا چهار هسته CPU را میتوان محافظت کرد .

در ورژن 6 به بعد ، دیسک ماشین Secondary میتواند روی LUN دیگری در Storage دیگر باشد زیرا دو ماشین در حال Sync شدن هستند . ماشین Secondary برای اپدیت شدن وضعیت اش باید محتویات Memory و CPU را سینک کند  ،   برای  اینکار  باید پورت Vm kernel network ایی داشته باشیم . به همین دلیل VMware توصیه میکند برای پورت فیزیکی از کارت 10G ستفاده شود.

 

قالبیت ها و Device هایی که با این ویژگی از دست خواهید داد:

  • از ماشینی که FT enabled میشود نمیتوان Snapshot گرفته و Snapshot های قبلی را باید حذف کرد.
  • ماشینی که FT enabled میشود نباید Linked clone باشد و نمیتوان از خود آن هم Linked clone گرفت.
  • قابلیت VMCP را برای ماشین نمیتوان فعال کرد.
  • I\O filters
  • Virtual Volume data store
  • Storage-based policy management
  • Physical Raw Disk mapping (RDM)
  • CD-ROM or floppy virtual devices
  • N Port ID Virtualization (NPIV)
  • USB and sound devices
  • NIC pass through
  • Hot-plugging devices
  • Serial or parallel ports
  • Video devices that have 3D enabled
  • Virtual EFI firmware
  • Virtual Machine Communication Interface (VMCI)
  • 2TB+ VMDK

 

نکته : به منظور افزایش Availability میتوانید از FT در کنار قابلیت DRS ، فقط زمانی که ویژگی EVC فعال شده باشد استفاده کنید.

  

قبل از فعال کردن FT مطمئن شوید که :

  • ماشین و هاست های شما شرایط لازم برای فعال کردن FT را دارند
  • وضعیت شبکه هر هاست را بررسی کنید
  • کارت شبکه V-motion بررسی شود
  • کلاستر HA ایجاد و فعال شود
  • CPU شما پشتیبانی شود
  • HV در تنظیمات BIOS هاست فعال باشد
  • فایل های ماشین ها در فضای Shared storage باشد
  • حداقل 3 هاست داشته باشید
  • حداکثر تا 4 هسته را میتوان FT کرد
  • ماشین هایی که FT enabled میشود Snapshot  نداشته باشد
  • VMware tools نصب باشد
  • EVC در صورت نیاز فعال باشد
  • هیچ گونه Removable Media نداشته باشد
  • FT دوبرابر شرایط معمول منابع مصرف میکند
  • توصیه میشود کارت شبکه 10G dedicated استفاده شود
  • CPU و Memory قابلیت Hot plug نداشته باشد
  • هر هاست نهایتا تا 8 هسته FT شده میتواند داشته باشد

برای مثال : با 3 هاست ، 3 ماشین 4 کور میتوانیم داشته باشیم (ماشین Secondary هم حساب میشود)

 

فعال کردن قالبیت FT :

ابتدا یک کارت شبکه اختصاصی میسازیم ، برای اینکار به تب VM kernel adapter رفته و کارت شبکه اضافه میکنیم ، سپس برروی ماشینی که میخواهیم محافظت شود راست کلیلک کرده و Fault tolerance را فعال میکنیم ، پس از آن پنجره ای باز میشود که از ما محل ماشین دوم ، محل دیسک و بعد هاست را انتخاب مکنید و در نهایت Finish را انتخاب میکنیم.

پس از فعال کردن FT رنگ آیکون ماشین به آبی تغیر رنگ میدهد. برای تست FT و اطمینان از عملکرد صحیح آن میتوانید از گزینه  Test Failover استفاده کنید.

DRSچیست؟

Distributed Resource Scheduler یا به اختصار DRS ابزاری است که وضعیت هاست های فیزیکی ما را از نظر میزان منابع زیر نظر میگیرد و براساس آن ماشین های مجازی را به نحوی در بین هاست ها جابجا میکند تا منابع تمام هاست به طور بهینه و یکسان مورد استفاده قرار گیرد و چنانچه ماشین های مجازی یک هاست با کمبود منابع مواجه شوند با انتخاب بهترین هاست از نظر منابع کافی ، ماشین را به آن هاست منتقل میکند.

همانطور که قبلا اشاره شد ، اینFeather یکی از ویژگی های Cluster است و برای فعال کردن آن باید Cluster داشته باشیم.

ویژگی های کلاستر :

DRS:

این ویژگی هاست های ما را از نظر میزان مصرف RAM و CPU ، و در ورژن 6.5 از نظر Network ، Load balance میکند . معمولا این Feather را در کنار گزینه های دیگر مانند HA و یا FT ، به منظور بهره وری هرچه بیشتر از قابلیت های vSphere فعال میکنند.

این ویژگی از طریق V-motion عمل مکیند و در دو زمان بخصوص اعمال میشود:

  • زمانی که یک ماشین درحال روشن شدن است ، بهترین هاست برای روشن شدن ماشین در آن را انتخاب میکند
  • زمانی که Load هاست های ما به هم میریزد

با انتخاب گزینه Manual ، چه در زمان روشن شدن ماشین و چه در زمان بهم ریخت Load هاست ها ، به ما فقط Recommends میدهد و خود ما باید دستور جابجایی ماشین ها را صادر کنیم.

با انتخاب گزینه Fully automated در هر دو حالت به صورت خودکار جابجایی اعمل میشود .

و با انتخاب گزینه Partially automated ، در زمان روشن شدن ماشین جابجایی به صورت خودکار انجام میشود ، اما زمانی که Load هاست ها بهم میریزد ، به ما Recommend میدهد و خود ما باید دستور جابجایی ماشین ها را صادر کنیم.

شما میتوانید Role هایی تنظیم کنید تا به عنوان مثال دو ماشین (DC) که سرویس های Parallel ارائه میکنند هم زمان در یک هاست نباشند و یا نرم افزاری که Database ایی دارد که باید درکنار ماشین خودش باشد ، در یک هاست قرار بگیرد و یا ماشینی که دانگل دارد و باید در یک هاست بخصوصی باشد .

در این Role ها 4 حالت به تفکیک ذیل داریم :

  • Must
  • Must not
  • Should
  • Should not

نکته : گزینهShould به عنوان توصیه و گزینه Must حالت اجبار دارد.

Predictive DRS:

اگر شما نرم افزار vRealize را داشته باشید ، این نرم افزار طبق گزارشات خود اطلاع دارد که به عنوان مثال شنبه 8 صبح Domain Controller ، Load زیادی دارد پس وضعیت آنرا Normal در نظر میگیرد. Predictive DRS از اطلاعات Historical این نرم افزار استفاده میکند و زمان هایی که میداند الگوی Load هاست به زودی تغییر می کند ، قبل از رسیدن به آن زمان مشخص ، در صورت نیاز ماشین را جابجا میکند تا دچار Bottleneck نشود.

EVC:

قابلیت Enhanced vMotion Compatibility یا EVC ، پردازشگر های هم برند اما غیر هم خانواده را با هم Compatible میکند تا بتوانیم V-motion و FT را فعال کنیم. این گزینه یک لایه نرم افزاری یا Mask را بین VCPU و PCPU اعمال میکند. (در سری سرورهای G8 و G9 نیازی به فعال کردن این گزینه ندارید)

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