Віртуалізація - як працює shared-nothing vmotion (enhanced vmotion) в vmware vsphere 5

Як знають багато користувачів, серед нових можливостей VMware vSphere 5.1 є так звана Enhanced vMotion або "Shared-Nothing" vMotion - функція, що дозволяє перемістити працюючу віртуальну машину на локальному сховищі ESXi на інший хост і сховище за допомогою комбінації технік vMoton і Storage vMotion в одній операції. Це означає, що для такого типу гарячої міграції не потрібно загальне сховище (Shared Storage), а значить і витрат на його придбання. Нагадаємо також, що функція Enhanced vMotion включена в усі комерційні видання VMware vSphere, крім vSphere Essentials.

Давайте подивимося ближче, як це все работет:

Віртуалізація - як працює shared-nothing vmotion (enhanced vmotion) в vmware vsphere 5

Спочатку наведемо вимоги і особливості роботи vMotion при відсутності загального сховища:

Віртуалізація - як працює shared-nothing vmotion (enhanced vmotion) в vmware vsphere 5

Міграція Enhanced vMotion йде по звичайній мережі vMotion (а не по Storage Network), по ній передаються і диск ВМ, і її пам'ять з регістрами процесора для забезпечення безперервної працездатності віртуальної машини під час міграції:

Віртуалізація - як працює shared-nothing vmotion (enhanced vmotion) в vmware vsphere 5

Віртуалізація - як працює shared-nothing vmotion (enhanced vmotion) в vmware vsphere 5

Mirror mode driver під час своєї роботи ігнорує ті блоки вихідного сховища, які змінюються, але ще не були скопійовані на цільове сховище. Щоб підтримувати максимальну швидкість копіювання, Mirror mode driver використовує спеціальний буфер, щоб не використовувати відкладений запис блоків.

Віртуалізація - як працює shared-nothing vmotion (enhanced vmotion) в vmware vsphere 5

Коли диски на вихідному і цільовому сховище і їх змінюються блоки приходять в синхронне стан, починається передача даних оперативної пам'яті і регістрів процесора (операція vMotion). Це робиться після Storage vMotion, так як сторінки пам'яті змінюються з більш високою інтенсивністю. Після проведення vMotion йде операція миттєвого перемикання на цільової хост і сховище (Switch over). Це робиться традиційним способом - коли відмінності в пам'яті і регістрах процесора досить малі, віртуальна машина на мить підморожується, відмінності допередаются на цільової хост (плюс перекидання мережевих з'єднань), машина розморожується на цільовому хості і продовжує виконувати операції і використовувати сховище з віртуальним диском вже цільового хоста.

Ну а якщо ви переміщаєте віртуальну машину не між локальними дисками хост-серверів, а між загальними сховищами, до яких мають доступ обидва хоста, то міграція дисків ВМ йде вже по Storage Network, як і у випадку зі звичайним Storage vMotion, щоб прискорити процес і не створювати навантаження на процесори хостів і мережу vMotion. У цьому випадку (якщо можливо) буде використовуватися і механізм VAAI для передачі навантаження по копіюванню блоків на сторону дискового масиву.

Віртуалізація - як працює shared-nothing vmotion (enhanced vmotion) в vmware vsphere 5

Картинки і опис процесу взяті у Френка.