Често задавани въпроси за VMotion във VMWare vSphere функции, типове, настройки

технология VMotion ви позволява да прехвърляте работеща виртуална машина VMWare от един физически хост на ESXi на друг, без да прекъсвате работата му и да спирате услугите. В тази статия ще разгледаме характеристиките на VMWare vMotion технологията: как работи vMotion, какви видове vMotion, как да конфигурирате vMotion в VMWare vSphere и как ръчно да мигрирате виртуална машина между ESXi хостове или трезори, използвайки vMotion. Нека разгледаме основните начини за оптимизиране на vMotion и решаване на проблеми..

Съдържание:

  • Как работи VMWare vMotion?
  • Видове VMware vMotion
  • Функции за VMware Storage vMotion
  • Подобрена vMotion съвместимост (EVC) в VMWare
  • Как да активирате vMotion в VMWare vSphere?
  • vMotion: как да мигрирате виртуални машини между сървъри
  • Защо vMotion не работи?
  • Как да ускорите / оптимизирате vMotion за бърза миграция на VM?

Както казахме, VMotion ви позволява да изпълните „миграция на живо”Виртуални машини без престой и прекъсване на потребителя. Технологията VMotion не е позиционирана като средство за осигуряване на висока наличност на ВМ при аварии. На първо място, това е просто и удобно средство за прехвърляне на продуктивни VM, когато трябва да извършите поддръжка / актуализация / подмяна на физически сървъри с инсталирания ESXi хипервизор или дискови масиви. Също vMotion е в основата на технологията на разпределение (подравняване) на натоварването на физическите сървъри - DRS (Динамичен планиращ ресурс)).

Подобна технология на Microsoft за мигриране на VM между хостове на Hyper-V се нарича Hyper-V Live Migration.

Как работи VMWare vMotion?

Следните компоненти на VMWare се използват за миграция на VM между физически хостове с помощта на vMotion:

  1. струпване VMware HА;
  2. наличност споделено хранилище (свързан чрез Fiber Channel, iSCSI или NAS), на който се съхраняват файловете на виртуалната машина. Благодарение на общото хранилище в SAN мрежата, няколко физически ESXi сървъра имат достъп до файловете на един VM;
  3. Наличието на общия бърза мрежа (поне 1 GB Ethernet) между хоста на източника и дестинацията ESXi. По време на миграцията VM запазва първоначалния си MAC адрес и vMotion уведомява рутера, че местоположението на този MAC адрес е променено. В резултат на това активните мрежови връзки не се губят;
  4. Съвместимост на процесора на хостове или е активирана опцията Enhanced vMotion Compatibility (EVC)

Как се случва vMotion? Първо, на целевия хост се създава сенчест клонинг на източника VM със същата конфигурация от файла vmx. Този VM клон вижда всички VM файлове в споделено хранилище. Съдържанието на RAM паметта и състоянието на работещия VM се предават по мрежата между източника и целевите ESXi хостове. vMotion прави моментна снимка на състоянието на VM паметта, копира го на целевия сървър по мрежата. В същото време vMotion следи промените в страниците на паметта и след това копира променените сегменти на паметта (това може да се случи на няколко етапа, всеки път когато се копира по-малко количество данни и за по-малко време).

В един момент състоянието на източника VM се замразява, модифицираните сегменти на паметта и инструкциите на процесора се копират и VM стартира на целевия ESXi. Целият процес за 1/10 GB Ethernet мрежа за средни VM отнема няколко секунди.

Видове VMware vMotion

VMWare, наречен vMotion, разбира цял куп различни технологии, които ви позволяват да движите работещи VM в движение между сървъри, дискови масиви, градове или между наземна и облачна инфраструктура.

Видове vMotion:

  • класически VMotion - миграция на работещ VM между ESXi сървърите;
  • Съхранение vMotion - Онлайн прехвърляне на файлове на виртуални машини между хранилища (дискови масиви);
  • Споделено-нищо vMotion - Миграция на VM между ESXi сървъри през мрежа без използване на споделено съхранение (изисква L2 мрежа);
  • VMotion на дълги разстояния - VM трансфер между отдалечени сайтове (максимално закъснение с време за пътуване до 150 ms, включително в L3 мрежи). Въведен в vSphere 6.0;
  • Криптирана vSphere vMotion - възможност за криптиране на VM по време на предаване по мрежата (достъпно в vSphere 6.5);
  • Крос облачна студена и гореща миграция - миграция онлайн и офлайн между наземна и облачна инфраструктура;

Функции за VMware Storage vMotion

Както казахме, технология Вмоция за съхранение позволява преместване на файлове на работеща виртуална машина (виртуални дискове и конфигурационни файлове) в друго VMFS / NFS съхранение (LUN, дисков масив) без спиране на VM.

Изисквания за успешно стартиране на VMotion за съхранение:

  • VM дисковете трябва да са устойчиви или RDM;
  • Миграцията на VM не се поддържа по време на инсталирането на VMware Tools;
  • Когато мигрирате, трябва да вземете предвид версията на VMFS в хранилището. Например, не можете да прехвърлите диск, по-голям от 2 TB от VMFS5 към VMFS3;
  • Наличие на лиценз за хоста на ESXi;
  • Хостът, на който работи VM, трябва да има достъп до източника и целевото хранилище;
  • При копиране на диск на виртуална машина се използва технологията за проследяване на променени блокове, която ви позволява да проследявате модифицирани блокове с данни и да ги копирате.

Подобрена vMotion съвместимост (EVC) в VMWare

режим Подобрена съвместимост на vMotion (EVC) за клъстери VMware, HA / DRS се използва, ако клъстерът е изграден на хостове с процесори от различни поколения (но не на различни производители !!). Когато активирате EVC за клъстер, хипервизорът започва да маскира инструкциите на процесора, които не се поддържат от всички хостове. Когато EVC е включен, всички функции на хост процесорите на ESXi в клъстера започват да съответстват на някакъв основен минимален набор от инструкции за процесора, които vSphere администраторът е посочил в настройките.

По този начин, благодарение на EVC, можете да мигрирате VM между хостове с различни набори от инструкции за процесори..

Не можете да смесвате хостове с различни доставчици на процесори в един и същ клъстер vSphere, например Intel и AMD. EVC позволява съвместимост между процесори само на един доставчик.

Можете да активирате VMWare EVC на ниво клъстер. Отидете в секцията Конфигуриране -> Конфигурация -> VMWare EVC и натиснете бутона редактирам.

Когато активирате EVC за клъстер, трябва да изберете EVC режим (за AMD или Intel) и да изберете минималното поколение процесори на доставчици, които са във вашия клъстер, от падащия списък.

VMWare препоръчва винаги да активирате EVC, независимо какви хостове имате в своя клъстер. Така че ще ви бъде по-лесно, когато разширите клъстера. Дори има отделен документ, който доказва, че дори и вашите виртуални машини не използват целия набор от инструкции, това няма да повлияе на производителността.

VMware vSphere 6.7 въведе миграционни технологии между облака и on-prem (Cross-Cloud Cold and Hot Migration). За да внедрите VM в облака, вече можете да активирате VM в настройките Per-VM EVC (наличен в vSphere 6.7 с хардуерна версия 14).

Можете да получите основните нива на EVC, зададени за VM в клъстер от PowerCLI:

Get-VM | Изберете Име, HardwareVersion,
@ Name = 'VM_EVC_Mode'; Expression = $ _. ExtensionData.Runtime.MinRequiredEVCModeKey,
@ Name = 'Cluster_Name'; Expression = $ _. VMHost.Parent,
@ Name = 'Cluster_EVC_Mode'; Expression = $ _. VMHost.Parent.EVCMode | фута

За да включите най-поддържания EVC режим:
Get-VMHost | Select-Object Name, ProcessorType, MaxEVCMode

Как да активирате vMotion в VMWare vSphere?

Нека да видим как да активирате vMotion, използвайки VMWare vSphere 6.7 като пример. Лицензът за Essentials Plus е достатъчен за използване на vMotion .

vMotion се включва в VMkernel ESXi виртуален превключвател. Изберете хост, отидете на раздел Конфигуриране -> Работа в мрежа -> VMkernel адаптери.

Изберете вашия интерфейс VMkernel и отворете неговите свойства (редактирам).

В свойствата на vmk порта в секцията Активирана услуга опция за активиране VMotion.

В моя пример HA вече е създаден VMWare клъстер и използва vSphere Distributed Switch (VDS).

vMotion: как да мигрирате виртуални машини между сървъри

За да използвате vMotion за прехвърляне на работещия VM между два ESXi хоста, стартирайте vSphere Client, щракнете върху VM и изберете Мигриране.

Изберете типа миграция, който искате да използвате:

  • Промяна само на изчислителния ресурс - Миграция на VM към друг ESXi сървър;
  • Промяна само на хранилището - предполага Storage vMotion - промяна на Datastore, в която се съхраняват VM файловете;
  • Променете както изчислителния ресурс, така и съхранението - режим на миграция без споделено съхранение (vMotion без споделено съхранение / Shared-Nothing), докато VM файловете се копират между хостове през мрежата).

Избрах първия вариант.

Съветникът за миграция ще ви предложи да изберете хоста, клъстера, пула от ресурси или vApp, към който искате да прехвърлите тази виртуална машина. Изберете хост. Ако vMotion е конфигуриран правилно и не се открият конфликти, разделът Съвместимост ще посочи: Проверките за съвместимост бяха успешни.

Ако полето за съвместимост съдържа някакви грешки, трябва внимателно да ги прочетете и да поправите.

Щракнете върху Напред.

Помощникът за миграция на VM ви подканва да изберете в коя мрежа искате да поставите vNIC на мрежовия VM по време на миграция. Ако искате VM да е наличен след миграция, той трябва да бъде поставен в същия сегмент (VLAN) като на източника хост. Ако използвате стандартния vSphere Switch, трябва да създадете една и съща група порт за всички ESXi хостове. При използване на VDS групите от портове на всички хостове в клъстера са еднакви.

На последния етап трябва да изберете приоритета на миграцията на vMotion. По подразбиране се използва най-високият приоритет (График vMotion с висок приоритет). Винаги го използвам.

Ляво за щракване до -> финиш и започва процесът на миграция на VM към друг хост. Можете да наблюдавате състоянието на миграция в панела Скорошни задачи (работа Преместете виртуална машина). В моя случай процесът на миграция на VM с помощта на vMotion над 10 GB Ethernet отне около 3 секунди.

Уверете се, че вашият VM сега работи на друг хост ESXi.

Можете да преместите работещ VM към друг хост, използвайки командлета на PowerShell Move-VM от PowerCLI. Например, искаме да прехвърлим всички виртуални машини от хоста на esxi-1 в esxi-2:

Get-VMHost esxi-1 | Get-Vm | Преместване-VM-дестинация (Get-VMHost esxi-2)

Защо vMotion не работи?

Ние изброяваме основните причини, поради които vMotion може да се провали или миграцията на VM е много бавна:

  1. Несъвместимост на процесора (активирайте EVC режим - подобрена vMotion съвместимост);
  2. VMotion във VMkernel не е активиран;
  3. Неправилни мрежови настройки на хост или виртуални превключватели на ESXi, групи от портове (неправилно конфигурирани Jumbo Frames, конфликт на IP адреси в vMotion мрежата, неправилни настройки vSwitch, лоша мрежа, загуба на пакет);
  4. Липса на споделено хранилище (за vSphere преди версия 5.) 1. В vSphere 5.1 и по-нови версии е наличен режим Shared-Nothing VMotion;
  5. Не са налични CD / DVD или ISO изображение;
  6. С включени правила за борба с афинитета
  7. Гостът VM инсталира vMware инструменти;
  8. Ако гост операционната система активно променя съдържанието на своята RAM памет, процесът на vMotion може да няма време да прехвърли променените данни по мрежата в копие на VM на друг хост;
  9. Ако целевият хост няма достатъчно процесор или памет за създаване на VM в сянка, vMotion няма да успее.
Ако възникнат грешки при миграция, вашият VM не се изключва, не спира да работи и все още работи на оригиналния хост.

Как да ускорите / оптимизирате vMotion за бърза миграция на VM?

Можете да ускорите миграцията на вашите виртуални машини по няколко начина.

  • На първо място е желателно да се използва най-продуктивната мрежа между ESXi хостове. Трябва да използвате поне 10 Gb и за предпочитане 25 Gb мрежа (мрежовият адаптер на вашия ESXi сървър и физическият превключвател трябва да поддържат този режим).
  • Използвайте различни физически интерфейси за vMotion трафик;
  • Миграцията на VMotion използва нишки. Една нишка е създадена за един VMkernel интерфейс, за който vMotion е активиран. Тази нишка обаче може да използва само едно ядро ​​на процесора..

За да осигурите vMotion процеси с повече от едно ядро ​​на процесора, трябва да създадете няколко VMkernel интерфейси с включена опция vMotion и да ги свържете към един NIC интерфейс. Един поток vMotion има средна пропускателна способност от около 15 GbE, така че се нуждаете от 6 нишки, за да заредите мрежа от 100 GbE. Можете също да увеличите броя на vMotion потоци (потоци) за един vmkernel интерфейс, като използвате опцията Migrate.VMotionStreamHelpers в Разширени системни настройки.