15 October 2009

Hyper-V R2

Live Migration

Една от ключовите функции е Live Migration. VMware вече имат такава технология с наименованието vMotion. Тя позволява на жива машина (виртуална) да бъде преместена от един физически хост на друг физически хост. Quick Migration на Microsoft върши чудесна работа, но изисква рестарт на виртуалната машина, a клиентите свикваме бързо с удобствата. На софтуерния гигант му се наложи да догонва VMware. Голямата спирачка в Hyper-V за жива миграция беше липсата на файлова система способна да работи в клъстер режим. NTFS е стандартизирана и широко използвана, но не е клъстерна файлова система. Проблемът с файлова система NTFS е, че няма възможност за два различни хоста да погледнат в същия том и да са в състояние да разберат кой, на кои файлове е собственик. Наложи се да бъде създаден CSV (cluster shared volume). Само за аналогия VMware използват VMFS (virtual machine file system), която поддържа vMotion. С две думи клъстерната файлова система позволява да бъде монтирана едновременно на няколко сървъра. От тази гледна точка тя става споделена за тези сървъри. Идеята е, че виртуална машина работеща на даден физически хост, с виртуални дискове, разположени на споделена файлова система – видима и от останалите физически хостове, може да бъде преместена на друг хост, стига и той да „вижда” същата файлова система. Специалистите по съхранение на данни твърдят, че CSV е в ранна детска възраст. Това в никакъв случай не означава, че не работи или има проблеми. Просто все още липсват някои екстри, като допълнителни възможности за управление на сториджа, има нужда от обогатяване на възможностите за репликация и т.н.
За момента можем да разглеждаме CSV, като тунингован NTFS. Ясно е, че е по добре да се тръгне от нещо познато и утвърдено. Все пак бизнес модела на Microsoft досега беше да се използват подобни решения от други разработчици. Сега ще се наложи да създадат свой продукт, а мотива е убедителен.

Какво се случва при живото мигриране?

Живата миграция не премества виртуални дискове на виртуални машини. Нейната задача е да премести стартиралите процеси и съдържанието на оперативната памет от един хост на друг в реално време без прекъсване работата на потребителите.

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

За потребителите негативния ефект е падане на производителността за няколко милисекунди до няколко секунди в зависимост от натовареността на виртуалната машина (скоростта с която се променя съдържанието на паметта спрямо началото на копирането). При много големи промени се налага извършването на много итерации. От съществено значение е скоростта на мрежовата връзка.

Конкуренцията в областта на виртуализацията нараства. Залозите стават все по-високи.

Нека победи по-добрия!

Клиента може само да спечели.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.