(VMware vSphere Fault Tolerance (FT بالاترین حفاظت برای ماشین مجازی میباشد. VM هرگز به دلیل مشکل سختافزار اصلی، از کار نخواهد افتاد برخلاف (High Availability (HA ک که در آن VM صرفا بر یک Host دیگر بر روی همان کلاستر، Restart میگردد.
vSphere FT تمام مدت از VM محافظت مینماید و زمانی که مشکلی در Host اصلی وجود داشته باشد (Shadow VM (VM ثانوی ساخته شده حین فعالسازی FT بلافاصله بدون این که کاربران متوجه شوند جایگزین VM از کار افتادهی اولیه میگردد.
بااینحال، کاربر نمیتواند صرفا FT را برای هر VM دیتاسنتر فعال نماید، چراکه محدودیتهایی وجود دارد، قواعدی هست که باید بدان احترام گذاشت و سرانجام، محدودیتهایی نیز برای Licensing وجود دارد.
نحوهی کار و تاریخچهی FT
vSphere FT طی چندین سال تکامل یافتهاست. با Replicate نمودن مداوم کامل یک VM در حال اجرا از یک سرور فیزیکی به دیگری کار میکند. VM محافظت شده، VM اولیه میباشد. فعالسازی FT یک Duplicate VM به اسم VM ثانوی میسازد که روی یک Host دیگر اجرا میگردد.
FT به طور مداوم VM اولیه را با VM ثانویه Replicate مینماید تا VM ثانوی بتواند در هر زمانی کنترل را به دست گیرد و در نتیجه، حفاظت Fault Tolerant را ارائه نماید. در صورت بروز یک مشکل سختافزاری روی Hostی که VM اولیه را اجرا مینماید، یک VM ثانوی جدید را راهاندازی و به صورت خودکار مجددا افزونگی FT را ایجاد میکند.
این فرایند به طور عکس نیز عمل میکند. در صورتی که یک مشکل سختافزاری روی ماشینی که یک VM ثانوی را Host میکند، وجود داشته باشد، VM اولیه آن را شناسایی میکند و مجددا یک VM ثانوی روی Host دیگری تحت کلاستر vSphere میسازد.
موارد کاربرد FT
- برنامهی کاربردیای که لازم است ضد گلوله (Bulletproof) گردد: بار کاری این برنامه نمیتواند پنج دقیقه Downtime داشته باشد. از آنجایی که این برنامهی کاربردی سازمانی مهم و حیاتی برای کسبوکار است، هر دقیقه ارزش دارد.
- یک برنامهی کاربردی سفارشی که نمیتواند Clustering را طور دیگری انجام دهد.
- محافظت موقت: ممکن است کاربر یک گزارش ماهانه داشته باشد که ماهی یک بار اجرا میشود و بخواهد کاملا مطمئن باشد که VM وی به خاطر یک مشکل سختافزاری از کار نمیافتد. بنابراین کاربر، FT را برای یک روز برای آن VM به خصوص فعال مینماید.
- Clustering پیچیدهتر از آن است که بتوان آن را حفظ (Maintain) و پیکربندی نمود: ممکن است مواردی پیش آید که برنامهی کاربردی شخص امکان کلاستر شدن داشته باشد اما نصب و پشتیبانی آن سخت و دشوار باشد.
نیازمندیها، محدودیتها و Licensing
- CPUهای فیزیکی لازم است که vMotion و مجازیسازی واحد مدیریت حافظهی سختافزار (MMU) که Intel EPT یا AMD RVI هستند را پشتیبانی نمایند. این CPUها باید از خانواده Intel Sandy Bridge یا مدلهای بعدی باشند و برای AMD بایستی AMD Bulldozer یا مدلهای بعدی باشند.
- کاربر به 10 گیگابایت شبکه برای Logکردن FT نیاز دارد و باید بررسی نماید که آیا در شبکه تاخیر وجود دارد یا نه؟ VMware، شبکهی اختصاصی جهت این نوع ترافیک توصیه میکند.
محدودیتها
- تعداد VMهای محافظتشده توسط FT برای هر کلاستر: به طور پیشفرض تعداد آن چهار است، اما از طریق پارامتر maxftvmsperhost در بخش پیکربندی پیشرفتهی قابل پیکربندی میباشد.
- تعداد CPUهای مجازی یا vCPUهای پیکربندیشده تحت VMهای محافظتشده توسط FT: به صورت پیشفرض این تعداد هشت است، اما از طریق پارامتر maxftvcpusperhost در بخش پیکربندی پیشرفتهی قابل پیکربندی میباشد.
Licensing
سطح Licensing خریداریشده برای vSphere، تعداد vCPUهای پشتیبانیشده توسط یک Fault-Tolerant VM واحد را محدود میکند.
پشتیبانی FT به صورت ذیل است:
- vSphere Standard and Enterprise حداکثر دو vCPU را میسر میسازد.
- vSphere Enterprise Plus حداکثر هشت vCPU را میسر میسازد.
محدودیتهای VM
پاسخگویی به برخی نیازمندیها برای VM نیز لازم است.
- هیچ دستگاه پشتیبانی نشدهای نباید به VM وصل باشد.
- VM باید روی فضای اشتراکی (Shared Storage) ذخیره شده باشد.
- کاربر نمیتواند CD-ROM، Floppy، Passthroughهای کنترلر رابط شبکه (NIC)، دستگاههای Hotplug، پورتهای موازی یا سریالی، کارت ویدئو با ویژگیهای فعالشدهی 3D و یا VMDKهای بالای 2 TB داشته باشد.
بهترین راهکارها برای VMware FT
زمانی که شخص به فکر استفاده از FT تحت زیرساخت مجازی خود است باید برخی راهکارهای مناسب را دنبال کند.
- کاربر باید تقریبا از CPU Frequencyهای یکسان روی Hostهایی که VMهای اولیه و ثانویه روی آنها اجرا میگردد، استفاده کند. این بدین دلیل است که VM ثانویه ممکن است بیشتر Restart شود. پیکربندی Host، Low-Frequency Mode را اعمال مینماید تا در مصرف برق صرفهجویی شود. تنظیمات BIOS باید بررسی گردد و Host طوری پیکربندی گردد که از Mode انرژی اقتصادی برای CPU استفاده نکند.
- BIOS باید در تمام Hostها پیکربندی گردد تا مجموعه دستورالعمل یکسانی را اعمال نماید (فعال یا غیرفعال).
کاربر باید از این موارد نیز استفاده نماید:
- پردازندههایی از گروه پردازندهی سازگار یکسان
- نسخهی ESXi یکسان
- دسترسی مشترک به Data Storeهایی که VMها از آنان استفاده میکنند
- پیکربندی شبکهی VM یکسان
فعالسازی VMware Fault Tolerance
ابتدا روی هر Host باید یک آداپتور (Adapter) شبکهی VMkernel جدید ساخته شود و Logکردن Fault Tolerance فعال گردد.
پس از لاگین به vSphere Web Client به Host > Manage > Networking رفته و سپس به VMkernel > adapters > Add host networking مراجعه نموده و VMkernel network adapter انتخاب گردد و یک سوئیچ استاندارد موجود یا یک vSwitch جدید برگزیده شود. در Port properties، باید Fault Tolerance فعال گردد.
به علاوه، کاربر باید رابط vMotion VMkernel را فعال نماید و همچنین اطمینان حاصل کند که Host، Licenseی دارد که Fault Tolerance را پوشش میدهد. سپس در سطح VM، میتواند VMware FT را پیکربندی نماید که فرایند نسبتا آسانی است. زمانی که کاربر نیازمندیها را برطرف ساخت، تنها باید روی یک VM راست کلیک کند و بهFault Tolerance > Turn on Fault Tolerance برود.
سخن پایانی
VMware FT بالاترین حفاظت برای VMها و بارهای کاری شخص است. به هیچگونه پیکربندی In-Guestی نیاز نیست و لازم نیست که هیچ نرمافزاری درون VM نصب گردد یا پیکربندی خاصی در VMها صورت گیرد.
اما نیازمندیهای کلاستر، VM و Host باید پیگیری شوند تا FT با موفقیت فعال گردد. زمانی که فعال شد، تا زمانی که کلاستر و Hostهای تحت کلاستر فرد پیکربندیهای مشابه و همسانی داشته باشند، نیازی نیست که توجه خاصی صورت گیرد.