در حال بارگزاری...

VMware vMotion چیست؟

محصولات شرکت VMware زمانی که بحث مجازی سازی در میان باشد همیشه یکی از بهترین گزینه ها است، چون این حقیقت بر هیچ متخصص فناوری اطلاعاتی پوشیده نیست که قدرت و امکانات محصولات این شرکت برتری معناداری نسبت به رقبای دیگر خود دارد. بر این اساس ما نیز در این مقاله قصد داریم یک ویژگی بسیار کاربردی و مهم از بسته نرم افزاری vSphere با نام vMotion را معرفی کنیم. در ادامه با ما همراه باشید.

VMware vMotion چیست؟

vMotion یک ویژگی است که باعث شده بسیاری از متخصصان برای استفاده از VMware در زیر ساخت فناوری اطلاعات خود برنامه ریزی کنند. به نوعی می توان گفت که این قابلیت یک برتری ویژه در مجازی سازی سرور ها در شبکه است، جایی که ماشین های مجازی در حال اجرا، بدون وقفه (یا بسیار کم و در حد از دست رفتن چند پینگ) به یک میزبان (سرور) دیگر انتقال داده می شوند.
اگر شما هم قبلا از این ویژگی استفاده کرده اید، به احتمال زیاد اولین بار که تنظیمات را انجام داده اید به خاطر دارید که از طریق یک ping تعداد بسته های از دست رفته را تخمین می زدید!   

در این مقاله ما نه تنها یاد می گیریم که vMotion چیست، بلکه نسخه های متفاوتی از آن را می بینیم و یک multi-NIC vMotion راه اندازی خواهیم کرد که اجازه می دهد در زمانی که نرخ انتقال پایین است از نهایت قدرت استفاده کنیم که این ویژگی مشخصا برای ماشین های مجازی که دارای vRAM زیادی هستند بسیار مفید است.

456348 6362744117048 Imms7
شاید یک مدیر معمولی نیازی به دانستن تمام جزئیات و اتفاقات پشت پرده نداشته باشد و در اکثر اوقات تنها  کافی است که بداند ماشین های مجازی در حال اجرا بین میزبان های مختلف بدون از دست دادن ارتباط منتقل می شوند .

از یک نگاه عمیق تر، vMotion در ابتدا در میزبان مقصد، یک ماشین مجازی که به آن ماشین مجازی سایه (VM Shadow) می گویند می سازد. مشخصات  این ماشین دقیقا با مشخصات ماشین مبدأ یکسان می باشد. سپس تمام صفحات حافظه ماشین مجازی مبدأ را Capture و آنها را از طریق vMotion network به ماشین مجازی مقصد انتقال می دهد. این عمل را کپی اولیه صفحات حافظه(PreCopy)  می گویند. در حین عملیات کپی، ماشین مبدا فعال بوده و به درخواست کاربران پاسخ می دهد و تغییرات در حافظه خود را Cache کرده و در پایان عملیات PreCopy، این تغییرات (که به آن DirtyMemory می گویند) نیز به ماشین مقصد منتقل می شوند.

در این لحظه فرآیند غیر فعال شدن ماشین مجازی مبدا و فعال شدن ماشین مقصد برای سرویس دهی شروع می شود و کار به سرعت ادامه پیدا می کند. آخرین قسمت بخش قبل در چندین میلی ثانیه انجام می شود.

دلیل اصلی که ما باید صبر کنیم تا vMotion به اتمام برسد بخاطر شبکه است و به همین دلیل است که داشتن multi-NIC vMotion  بسیار جذاب است.

vmware hero 72

 vMotion در گستره یک کشور

 قابلیت Long-Distance vMotion در نسخه vSphere 6.0 معرفی شد و برای راه اندازی آن نیازمند به یک لایسنسEnterprise Plus  هستیم. vMotion Long-Distance، به ماشین های مجازی اجازه می دهد از یک مرکز داده به دیگری منتقل شوند اما برای عملیاتی کردن آن نیاز است که مراکز داده دارای یک لینک ارتباطی با (Round Trip Timer) RTT کمتر از ۱۵۰ میلی ثانیه باشند. فرآیند vMotion قادر است که وقایع ماشین های مجازی (رویدادها، زنگ خطرها، شمارنده کارایی و ...) همچنین خواصی مانند گروه های DRS، تنظیمات High Availability، که مرتبط با vCenter است را نگه داری کند. در قسمت زیر برخی از نیازمندی های این قابلیت آورده شده است.

نیازمندی ها:

- نسخه ۶ vCenter در هر دو طرف
- یک دامنه SSO (البته از طریق API امکان پذیر است که از دامنه SSO متفاوت استفاده کرد)
- اتصال لایه ۲ برای شبکه ماشین مجازی
- شبکه  vMotion
- پهنای باند ۲۵۰ مگابیت بر ثانیه به ازای هر عملکرد vMotion

انتقال ماشین های مجازی در حالت های زیر امکان پذیر است:

- از  VSS به  VSS
- از VSS به   VDS
- از VDS به  VDS

VSS: Virtual Standard Switch

VDS: Virtual Distributed Switch

 vMotion در میان vCenterها:

این مکانیزم اجازه تغییر شبکه ها، توان پردازشی، ذخیره سازی و مدیریت شبکه را می دهد. شما به کمک این قابلیت قادر به انتقال ماشین های مجازی از vCenter شماره ۱ (جایی که ماشین مجازی در یک میزبان مشخص، محل ذخیره سازی و منابع مختلفی قرار دارد) به vCenter شماره ۲، (جایی که ماشین مجازی بر روی یک محل ذخیره سازی و میزبان متفاوت و منابع دیگری هست) می باشید.

 1

قابلیت های vMotion در میان vCenter ها:

- شماره UUID ماشین مجازی در میان سرورهای vCenter نگه داری می شود.
- زنگ خطرها، رویدادها، وظیفه و تاریخچه نگهداری می شوند.
- تنظیمات HA/DRS شامل قوانین Affinity/Anti-affinity، پاسخ انزوا، سطح خودکار سازی و اولویت start-up نگه داری می شوند.
- منابع ماشین مجازی (Reservation, Share, Limit) نگه داری می شوند.
- آدرس (MAC) متعلق به کارت شبکه های مجازی نگهداری می شوند.
- ماشین مجازی که به یک vCenter دیگر می رود مک آدرس خود را نگه می دارد و این مک آدرس دیگر در vCenter  مبدا مورد استفاده قرار نمی گیرد.

 vMotion بدونShared Storage:

این ویژگی قسمتی از vSphere است که از نسخه ۵.۱ اضافه شده است. شما دیگر به Shared Storage  برای منتقل کردن یک ماشین مجازی از یک سیستم به سیستم دیگر نیازی ندارید. فرآیند همانند vMotion سنتی است اما به همراه Storage vMotion انجام می شود.

این مکانیزم برای مهاجرت های cross-cluster مفید است برای مثال وقتی که ماشین های کلاستر مقصد ممکن است به منابع ذخیره سازی کلاستر مبدا دسترسی نداشته باشند. با استفاده از vMotion فرآیندهایی که در حال کار بر روی ماشین مجازی هستند در حین انتقال نیز در حال اجرا می مانند و خللی در سرویس دهی ماشین مجازی ایجاد نمی گردد.

 2

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

چگونه Multiple-NIC را با سوییچ های استاندارد راه اندازی کنیم؟

نیازمندی ها:

- حداقل به دو کارت شبکه مختص به هر میزبان نیاز دارید.
- همه VMkernel port ها بر روی همه میزبان ها باید در VLAN/Subnet مشترک باشند.

چند راه برای انجام این کار وجود دارد. یک راه می تواند ساختن vSwitch جدا برای vMotion باشد یا می توانید از vSwitch مشترک برای vMotion و مکانیزم های دیگر استفاده کنید. در این مثال ما راه دوم را انتخاب کرده ایم. اولین portgroup مربوط به VMkernel vMotion با نام vMotion-1 است و از vmnic0 به عنوان کارت فعال استفاده می کند.

در برنامه Client vSphere Web ایجاد VMKernel Port به این شکل است:

3

4

5

 

6

 این مراحل را برای ساخت VMkernel Port دوم هم انجام می دهیم:

7

 حال ما دو VMkernel Port داریم که قابلیت vMotion بر روی آنها فعال شده است و دارای آدرس های 10.1.1.1 و 10.1.1.2 می باشند.

سپس VMkernel port را انتخاب کنید و بر روی آیکون مداد کلیک و تنظیمات and failover teaming را به صورت زیر انجام دهید:

-    vMotion1 : از vmnic0 به عنوان Active و vmnic1 به عنوان Standby استفاده کند.
-    vMotion2 : از vmnic1 به عنوان Active و vmnic0 به عنوان Standby استفاده کند.

این کار را برای همه میزبان ها درون کلاستر خود تکرار کنید. در این حالت شاید ترجیح دهید vSphere Distributed vSwitch (vDS) داشته باشید چون فقط یک بار نیاز به تنظیمات بر روی vDS خواهید داشت.

8

 

9

 vMotion در جاهای مختلفی مستند شده است و در نسخه های قبلیvSphere  نیز وجود داشته است.

 

 ویدیو راه اندازی Multi-NIC vMotion:

 

 راه اندازی Multi-NIC vMotion از طریق dvSwitch: