+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Нові можливості технології Instant Clone у VMware vSphere 6.7

Функція миттєвого клонування віртуальної машини (раніше відома як VMFork) дозволяє дуже швидко зробити копію запущеної ВМ на платформі VMware vSphere.

Робиться це за рахунок того, що "на льоту" створюється клон віртуальної машини (VMX-файл, процес у пам'яті), який починає використовувати ту ж пам'ять (Shared memory) для читання, що й батьківська ВМ. У цьому дочірня ВМ у пам'ять писати неспроможна, а запису власних даних використовується виділена область пам'яті. Для дисків аналогічно - з використанням технології Copy-on-write до дельта-диску дочірньої ВМ пишуться відмінності від базового диска батьківської ВМ

Така схема використання батьківської ВМ у VMware vSphere 6.5 вимагала, щоб батьківська машина та її миттєві клони знаходилися на одному сервері ESXi. Отже для цих ВМ не підтримувалися такі технології, як vMotion/HA/Storage vMotion та DRS. Це дуже важливо для служб тестування, відділів DevOps тощо.

Тепер у VMware vSphere 6.7 з'явилися наступні поліпшення Instant Clone:

  • З'явився найпростіший публічний API, який дозволяє автоматизувати процес створення та переміщення миттєвих клонів. Він вміє поки що не все, але розвиватиметься. GUI для цього поки що також немає.
  • Інтеграція з технологіями vSphere для забезпечення доступності віртуальних машин (HA, DRS, vMotion, Storage/XvMotion тощо).
  • Підтримка двох робочих процесів створення миттєвих клонів: перший - це послідовне створення клонів у процесі роботи батьківської віртуальної машини, другий - відпочкування клонів від "замороженої" батьківської ВМ.
  • Використання технології P-Share для дедуплікації сторінок пам'яті засобами технології Transparent Page Sharing (навіть коли вона вимкнена на хості ESXi).
  • Тепер ставлення батька-клона не таке тісно пов'язане, як раніше.
Давайте подивимося на перший робочий процес - створення миттєвих клонів працюючої ВМ. Це, наприклад, може стати в нагоді, коли ви масово тестуєте оновлення компонентів будь-якої програми. Оновили перший компонент – зробили кілька клонів для тесткейсів, провели тести, потім оновили наступний – і знову зробили кілька клонів для тестування.

У батьківської ВМ створюється дельта-диск, який використовується першим миттєвим клоном, потім базова ВМ дещо змінюється за час до створення наступного - і на момент створення нового миттєвого клону використовуватиметься вже наступний дельта-диск і таке інше. Поки що для цього немає візуального інтерфейсу, але все це можна потестувати через MOB-браузер.

Така схема має недолік у тому, що у батьківської ВМ розмножуються дельта-диски, що призводить до того, що швидкодія батьківської ВМ уповільнюється, а сама структура за рахунок збільшення числа дисків суттєво ускладнюється, що потенційно може призвести до різноманітних збоїв.

Також у даному випадку є проблема мережевої ідентифікації - всі віртуальні машини, які народжуються як миттєві клони, мають ті ж налаштування IP та MAC-адреси, що й батько. Щоб змінити їх, потрібно виконати такі дії:

  1. Після створення Instant Clone всередині потрібно вимкнути мережний інтерфейс через властивість VirtualEthernetCard->connectable->migrateConnect, що встановлюється значення disconnect. Далі потрібно встановити параметри мережної ідентифікації ВМ.
  2. Якщо не хочеться змінювати параметри мережної ідентифікації, нові ВМ можна просто запускати в окремій портгрупі, без виходу до зовнішньої мережі, щоб уникнути конфліктів IP та MAC-адрес.
  3. Всередині миттєвого клону потрібно оновити налаштування мережного інтерфейсу, щоб гостьова ОС отримала нову MAC-адресу. Це можна автоматизувати через Guest Operations API.
  4. Знову приєднати віртуальну мережеву картку до ВМ, щоб нові налаштування були застосовані та машина вільно працювала в мережі. Для цього необхідно встановити значення якості VirtualEthernetCard->connectable->connected в true.

Друга схема - це "заморожування" батьківської ВМ таким чином, що її CPU перестає виконувати інструкції (для цього використовується функція instantclone.freeze в утиліті vmware-rpctool). Після цього механізм Instant Clone здатний створювати пов'язані клони цієї підмороженої ВМ.

Це дозволяє не плодити дельта-диски батьківської ВМ (оскільки її стан не змінюється) і досягти уніфікованої конфігурації миттєвих клонів

Така схема може підійти для масштабування будь-яких типових уніфікованих навантажень у віртуальних машинах – наприклад, VDI, хости з контейнерами, Hadoop-воркери тощо.

Поморозка ВМ відбувається засобами утиліти vmware-rpctool, яка розгортається у віртуальній машині разом із VMware Tools.

Також тепер миттєві клони значно менше прив'язані до батьківської ВМ, що дозволяє використовувати їх ширше, а самі вони називаються "parentless".

 

 

 

 

Інші новини

Найкраща ціна