НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ ноябрь-декабрь 2015 Том 15 № 6 ISSN 2226-1494 http://ntv.i1mo.ru/
SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS November-December 2015 Vol. 15 No 6 ISSN 2226-1494 http://ntv.ifmo.ru/en
УДК 004.45
МОДЕЛИ ДИНАМИЧЕСКОЙ МИГРАЦИИ С ИТЕРАТИВНЫМ ПОДХОДОМ И СЕТЕВОЙ МИГРАЦИИ ВИРТУАЛЬНЫХ МАШИН С.М. Алексанков^
a Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация ь НИИ Масштаб, Санкт-Петербург, 194100, Российская Федерация Адрес для переписки: [email protected] Информация о статье
Поступила в редакцию 06.04.15, принята к печати 11.09.15 doi:10.17586/2226-1494-2015-15-6-1098-1104 Язык статьи - русский
Ссылка для цитирования: Алексанков С.М. Модели динамической миграции с итеративным подходом и сетевой миграции виртуальных машин // Научно-технический вестник информационных технологий, механики и оптики. 2015. Т. 15. № 6. С. 1098-1104.
Аннотация
Предмет исследования. Исследованы процессы динамической миграции без общего хранилища с копированием до остановки и сетевой миграции. Миграция виртуальных машин является важной возможностью технологии виртуализации, которая позволяет приложениям прозрачно перемещаться вместе с их средами выполнения между физическими машинами. Динамическая миграция (живая миграция, Live Migration) становится заметной технологией для эффективной балансировки загрузки и оптимизации развертывания виртуальных машин на физических узлах в центрах обработки данных. До появления динамической миграции использовалась только так называемая сетевая миграция («Move»), которая влечет за собой остановку выполнения виртуальной машины во время копирования на другой физический сервер, а следовательно, недоступность сервиса. Метод. Рассмотрены алгоритмы динамической миграции без общего хранилища с копированием до остановки и сетевой миграции виртуальных машин с позиции исследования времени переноса и недоступности сервисов при переносе виртуальных машин. Основные результаты. Предложены аналитические модели, позволяющие предсказать время переноса виртуальных машин и время недоступности сервисов при переносе, при использовании таких технологий, как динамическая миграция с итеративным подходом без использования общего хранилища и сетевая миграция. В существующих работах по оценке времени недоступности сервисов и времени переноса при использовании динамической миграции без использования общего хранилища описаны экспериментальные результаты, по которым можно сделать общие выводы об изменении времени недоступности сервисов и времени переноса, но нельзя спрогнозировать их значения. Практическая значимость. Предлагаемые модели могут быть использованы при прогнозировании времени миграции и времени недоступности сервисов, например, при проведении профилактических и аварийных работ на физических узлах в центрах обработки данных. Ключевые слова
живая миграция, динамическая миграция, сетевая миграция, виртуализация, виртуальные машины, высокая доступность, кластеры, моделирование.
MODELS OF LIVE MIGRATION WITH ITERATIVE APPROACH AND MOVE OF VIRTUAL MACHINES S.M. Aleksankova,b
a ITMO University, Saint Petersburg, 197101, Russian Federation b Research Institute Mashtab, Saint Petersburg, 194100, Russian Federation Corresponding author: [email protected] Article info
Received 06.04.15, accepted 11.09.15 doi:10.17586/2226-1494-2015-15-6-1098-1104 Article in Russian
For citation: Aleksankov S.M. Models of live migration with iterative approach and move of virtual machines. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2015, vol. 15, no. 6, pp. 1098-1104.
Abstract
Subject of Research. The processes of live migration without shared storage with pre-copy approach and move migration are researched. Migration of virtual machines is an important opportunity of virtualization technology. It enables applications to move transparently with their runtime environments between physical machines. Live migration becomes noticeable technology for efficient load balancing and optimizing the deployment of virtual machines to physical hosts in data centres. Before the advent of live migration, only network migration (the so-called, «Move»), has been used, that entails stopping the
virtual machine execution while copying to another physical server, and, consequently, unavailability of the service. Method. Algorithms of live migration without shared storage with pre-copy approach and move migration of virtual machines are reviewed from the perspective of research of migration time and unavailability of services at migrating of virtual machines. Main Results. Analytical models are proposed predicting migration time of virtual machines and unavailability of services at migrating with such technologies as live migration with pre-copy approach without shared storage and move migration. In the latest works on the time assessment of unavailability of services and migration time using live migration without shared storage experimental results are described, that are applicable to draw general conclusions about the changes of time for unavailability of services and migration time, but not to predict their values. Practical Significance. The proposed models can be used for predicting the migration time and time of unavailability of services, for example, at implementation of preventive and emergency works on the physical nodes in data centres. Keywords
live migration, move, virtualization, virtual machines, high availability, clusters, modeling.
Введение
Высокая надежность, отказоустойчивость и безопасность систем критического применения реализуется при резервировании основных подсистем [1-7], в том числе средств хранения [8], обработки и передачи данных [9] при консолидации ресурсов, при использовании механизма кластеризации [4-6], виртуализации [1-6] и динамического распределения запросов.
Для обеспечения непрерывности доступа клиентов к приложениям и сервисам используются кластеры высокой доступности. Высокая доступность ресурсов кластерной системы в случае сбоя одного из серверов или при проведении профилактических работ обеспечивается за счет перемещения служб или приложений между узлами [10-13]. Для клиента кластер выглядит как единое целое, и его неполадки могут выразиться в кратковременном снижении производительности или недоступности какого-либо ресурса на время от нескольких секунд до нескольких минут в зависимости от конфигурации [1, 2].
Миграция виртуальных машин (ВМ) является важной возможностью технологии виртуализации, которая позволяет приложениям прозрачно перемещаться вместе с их средами выполнения между физическими машинами [3].
Динамическая миграция (живая миграция, Live Migration) [1-6] становится заметной технологией для эффективной балансировки загрузки и оптимизации развертывания ВМ на физических узлах в центрах обработки данных. Эта новая технология включена в пакеты самых популярных систем виртуализации (KVM, Microsoft HyperV, VMware VSphere, Xen). С помощью динамической миграции ВМ с одного физического узла могут быть переданы на другой без отключения системы. Это полезно при различных сценариях:
- ВМ при отказе физического узла может быть перенесена на работоспособный;
- ВМ на перегруженном физическом узле могут быть перенесены на различные узлы для балансировки нагрузки;
- при профилактических работах.
До появления динамической миграции использовалась только так называемая сетевая миграция («Move») [4, 5], которая влечет за собой остановку выполнения ВМ во время копирования на другой физический сервер, а следовательно, недоступность сервиса. Простое перемещение ВМ с одного узла на другой - это наименее простой способ, но и наиболее долгий и «чувствительный» для пользователей [4].
В работе предложен расчет и сравнительный анализ времени переноса ВМ и времени недоступности сервисов динамической миграции с подходом копирования до остановки и сетевой миграции с помощью аналитических моделей при различных параметрах, таких как интенсивность записи, интенсивность перемещения и др. Стоит отметить, что при быстром развитии технологии динамической миграции мало внимания уделяется аналитическому моделированию различных подходов миграций, в том числе и динамической миграции, по сравнению с вопросами программной реализации.
Задачи исследования
В работе решается задача оценки времен переноса ВМ и недоступности сервисов при динамической миграции без общего хранилища c подходом копирования до остановки (pre-copy) [3, 6] и сетевой миграции.
Динамическая миграция позволяет переносить ВМ практически без прерывания выполнения приложений. В общем процесс динамической миграции можно разделить на два шага:
1. передача управления узлу назначения;
2. передача данных (память, диск) на узел назначения.
Существуют два наиболее распространенных подхода к реализации динамической миграции, основанные на различной последовательности этих шагов:
1. с копированием до остановки: сначала происходит передача данных, а затем - передача управления;
2. с копированием после остановки: сначала происходит передача управления узлу назначения, а затем передача данных.
В настоящей работе рассматривается первый подход (с копированием до остановки или так называемый итеративный подход). В нем передача данных узлу назначения выполняется на протяжении ряда итераций. Страницы, которые были изменены приложением во время передачи ВМ, или «загрязненные» страницы (dirty pages) [3], передаются в каждой новой итерации, и этот процесс повторяется, пока либо не наступит ограничение на итерации, либо пока непереданное количество данных не станет меньше какого-то заданного предела.
В общем, динамическую миграцию с итеративным подходом можно разделить на следующие этапы (рис. 1).
1. Когда миграция начинается, так называемый образ ВМ (память, диск) [3] передается на узел назначения.
2. На последующих этапах только страницы, которые были «загрязнены» во время предыдущей итерации, передаются до тех пор, пока либо не наступит ограничение на итерации, либо пока непереданное количество данных не станет меньше какого-то заданного предела.
Выполнение ВМ на исходном узле останавливается, и состояние процессора, регистры, состояния виртуальных устройств и последних страниц памяти передаются узлу назначения. После этого ВМ возобновляет выполнение на узле назначения. Время этого этапа будет временем недоступности сервисов.
I I I I I I I
Tn
ws Сервер 1
3.
Передача образа Итеративная передача Передача
виртуальной машины загрязненных страниц оставшихся
(1) (2) страниц
(3)
Рис. 1. Временная диаграмма динамической миграции с итеративным подходом, где T0, T1...Tn - времена этапов итеративной передачи загрязненных страниц; n - номер последнего этапа; ws - working set (состояние процессора, регистры, состояния виртуальных устройств и последние страницы памяти)
Сервер 1
т
Сервер 2
Рис. 2. Временная диаграмма сетевой миграции
Итеративный подход хорошо себя зарекомендовал при высокой интенсивности чтения, но в случае высокой интенсивности записи большое количество «загрязненных» страниц приводит к увеличению времени миграции. А когда интенсивность записи данных больше, чем полоса пропускания сети, динамическая миграция с итеративным подходом не будет работать [3].
При сетевой миграции выполнение ВМ останавливается на исходном узле, и данные (память, диск) передаются на узел назначения (рис. 2). Время недоступности сервисов при сетевой миграции значительно превышает это же время в динамической миграции с итеративным подходом, но при этом время переноса меньше, чем в последней, что может быть более приемлемо, когда нужен срочный перенос ВМ или при высоких интенсивностях записи. При построении моделей предполагается, что ВМ работают на кластере из двух физических серверов без общего хранилища (кворума).
Время динамической миграции с итеративным подходом
Будем считать известными интенсивность записи данных - Х„, интенсивность передачи данных -ц, размер образа ВМ (диск, память) - V, а непереданное количество данных, при котором останавливается ВМ, будем считать равным I.
Время переноса ВМ Т будем рассчитыать как сумму времен передачи образа ВМ - Т1, итеративной передачи «загрязненных» страниц - Т2, передачи оставшихся страниц памяти и регистров процессора -Тз:
Т = Т + Т + Тз.
Т1 равно размеру образа ВМ V, деленному на интенсивность передачи данных ц:
и = ^.
Т2 равно сумме времен передачи данных в каждой итерации:
п
Т2 =11. ,
1=1
где время передачи данных в текущей итерации г. вычисляется как количество данных, «загрязненных» в предыдущей итерации (у,-1), деленное на интенсивность передачи данных ц:
= ^. (1) д
Количество данных, загрязненных в текущей итерации V. , определяется как
I 1'
V.. = V¡_1 = V• , (2)
где ' - показатель степени, равный номеру текущей итерации. Подставляя (2) в (1), получим формулу, по которой можно рассчитать время передачи данных в текущей итерации /,-:
1'
г. = V —2' Д'+1
Тогда формула для времени этапа итеративной передачи «загрязненных страниц» принимает следующий вид:
п 1 ' Т2 =fv •-1+2 £ Д.+1
Т3 определяется как непереданное количество данных I, при котором ВМ останавливает свое выполнение, деленное на ц:
Тз = 1.
Д
Количество итераций п можно вывести из следующего неравенства. Количество данных, которое загрязнилось во время последней итерации должно быть меньше или равно I: vn < I или V • 1п < I.
Тогда количество итераций п можно выразить как
п = ^ 11.
Время недоступности сервисов будет равно времени третьего этапа миграции Т3, при котором ВМ останавливает свое выполнение для переноса оставшихся страниц памяти и состояния процессора:
Д
Время сетевой миграции
Время переноса ВМ при сетевой миграции зависит только от количества передаваемых данных и определяется как ^ц. Это же время равно времени недоступности сервисов, так как во все время миграции выполнение ВМ останавливается:
Т = Т = — 1 и 1з ■
V
т = т =—
т т<
Ц
Сравнение вариантов миграции виртуальных машин
Результаты расчета времени переноса ВМ представлены на рис. 3,4. На данных графиках показаны зависимости времени переноса от интенсивности передачи данных и интенсивности записи соответственно. На графиках зависимости от интенсивности передачи данных видно, что время переноса при сетевой миграции меньше при малых величинах ц, и с ее увеличением разница уменьшается. По графику зависимости от интенсивности записи можно заметить, что время переноса при миграции с итеративным подходом увеличивается, и в точке, когда интенсивность записи равна интенсивности передачи, стремится к бесконечности. Время переноса же при сетевой миграции не зависит от интенсивности записи и не меняется на графике.
1000
800
о
§ 600
й
400
200
0 50 100 150
ц, МБ/с
Рис. 3. Зависимости времени переноса виртуальной машины от интенсивности передачи данных:
1 - динамическая миграция, 2 - сетевая миграция
1000 800
600
0
1 400
200
0 50 100 150 К, МБ/с
Рис. 4. Зависимости времени переноса виртуальной машины от интенсивности записи: 1 - динамическая миграция, 2 - сетевая миграция
Результаты расчета времени недоступности сервисов для динамической миграции с итеративным подходом и сетевой миграции представлены на рис. 5. На графике показаны зависимости времени недоступности от интенсивности записи. По графику можно заметить, что время недоступности сервисов при сетевой миграции значительно больше, чем при динамической миграции, при которой график резко падает уже при малых значениях интенсивности передачи данных.
1
2
1000
800
о
в 600 (Г
о о
ч
Я 400
\
2
200
J
0
50
100
150
ц, МБ/с
Рис. 5. Зависимости времени недоступности сервисов виртуальной машины от интенсивности передачи данных: 1 - динамическая миграция, 2 - сетевая миграция
Расчеты подтверждают, что использование динамической миграции позволяет существенно сократить время недоступности сервисов по сравнению с использованием сетевой миграции. Время переноса при использовании этой технологии увеличивается, и процесс миграции в данном случае может сильно затянуться, особенно при значениях интенсивности записи, приближающихся к значению интенсивности передачи данных.
Расчеты проведены для случая F=20000 МБ, /=1000 МБ, Xw=30 МБ/с, ц=125 МБ/с с использованием пакета компьютерной математики Mathcad 15.
В современных дата-центрах используются кластеры, в которых ВМ могут перемещаться между физическими серверами при отказе одного из серверов, при профилактических работах, для обеспечения балансировки нагрузки. Виртуализация может эффективно использоваться при обеспечении высокой доступности и отказоустойчивости кластерных систем при ее совмещении с динамическим распределением запросов. Во время миграции ВМ желательно минимизировать недоступность сервисов, чего и позволяет добиться динамическая миграция с итеративным подходом. А также возможен вариант, когда нужно перенести ВМ в максимальное короткое время, например, при аварийных работах на одном из физических серверов. В этом случае на помощь приходит сетевая миграция. Отметим также, что при высокой интенсивности передачи данных (пропускной способности канала), время переноса при динамической миграции с итеративным подходом приближается к времени переноса при сетевой миграции.
Предложены модели, позволяющие оценить время переноса ВМ и время недоступности сервисов при переносе при использовании таких технологий, как динамическая миграция с итеративным подходом и сетевая миграция. Они могут быть использованы при прогнозировании времени миграции и времени недоступности сервисов, например, при проведении профилактических и аварийных работ на физических узлах в центрах обработки данных.
Модели показали, что динамическую миграцию с подходом копирования до остановки рекомендуется использовать во время профилактических работ, когда время миграции не критично и нужно минимизировать время недоступности сервисов, а также при проведении аварийных работ, когда доступна достаточно высокая полоса пропускания канала, мало количество загрязненных страниц и соответственно уменьшается время миграции. Сетевая миграция рекомендуется при проведении аварийных работ, когда критично время миграции, а также при высокой интенсивности записи, когда растет количество итераций передачи и соответственно время миграции, которое стремится к бесконечности.
Литература
1. Jin H., Li D., Wu S., Shi X., Pan X. Live virtual machine migration with adaptive memory compression // Proc. IEEE International Conference on Cluster Computing (CLUSTER '09). New Orleans, USA, 2009. Art. 5289170. doi: 10.1109/CLUSTR.2009.5289170
2. Bing Wei. A novel energy optimized and workload adaptive modeling for live migration // International Journal of Machine Learning and Computing. 2012. V. 2. N 2. P. 162-167. doi:
Заключение
10.7763/IJMLC.2012.V2.106
3. Sahni S., Varma V. A hybrid approach to live migration of virtual machines // Proc. IEEE Int. Conf. on Cloud Computing for Emerging Markets (CCEM 2012). Bengalore, India, 2012. P. 12-16. doi: 10.1109/CCEM.2012.6354587
4. Косивченко А. Комплексное решение: виртуализация + отказоустойчивый кластер // Системный администратор. 2009. № 9(82). С. 16-19.
5. Обзор миграции виртуальных машин и хранилища [Электронный ресурс]. 2013. Режим доступа: https://technet.microsoft.com/ru-ru/library/jj628158.aspx, свободный. Яз. рус. (дата обращения 30.05.2015).
6. Wu Y., Zhao M. Performance modeling of virtual machine live migration // Proc. IEEE 4th Int. Conf. on Cloud Computing (CLOUD 2011). Washington, USA, 2011. P. 492-499. doi: 10.1109/CL0UD.2011.109
7. Богатырев В.А., Алексанков С.М., Демидов Д.В., Беззубов В.Ф. Надежность резервированного вычислительного комплекса при ограниченном восстановлении // Научно-технический вестник информационных технологий, механики и оптики. 2013. № 3 (85). С. 67-72.
8. Bogatyrev V.A. Fault tolerance of clusters configurations with direct connection of storage devices // Automatic Control and Computer Sciences. 2011. V. 45. N 6. P. 330-337. doi: 10.3103/S0146411611060046
9. Богатырев В.А., Богатырев С.В. Объединение резервированных серверов в кластеры высоконадежной компьютерной системы // Информационные технологии. 2009. № 6. С. 41-47.
10.Bogatyrev V.A., Bogatyrev A.V. Functional reliability of a real-time redundant computational process in cluster architecture systems // Automatic Control and Computer Sciences. 2015. V. 49. N 1. P. 46-56. doi: 10.3103/S0146411615010022
11. Богатырев В. А. Комбинаторно-вероятностная оценка надежности и отказоустойчивости кластерных систем // Приборы и системы. Управление, контроль, диагностика. 2006. № 6. С. 21-26.
12. Богатырев В.А. Оптимальное резервирование системы разнородных серверов // Приборы и системы. Управление, контроль, диагностика. 2007. № 12. С. 30-36.
13. Богатырев В.А., Богатырев А.В., Богатырев С.В. Перераспределение запросов между вычислительными кластерами при их деградации // Изв. вузов. Приборостроение. 2014. Т. 57. № 9. С. 54-58.
Алексанков Сергей Михайлович - аспирант, Университет ИТМО, Санкт-Петербург, 197101,
Российская Федерация; инженер, НИИ Масштаб, Санкт-Петербург, 194100, Российская Федерация, [email protected]
Sergey M. Aleksankov - postgraduate, ITMO University, Saint Petersburg, 197101, Russian
Federation; engineer, Research Institute Mashtab, Saint Petersburg, 194100, Russian Federation, [email protected]