Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Live Migration )
Перейти к навигации Перейти к поиску

Под динамической миграцией понимается процесс перемещения работающей виртуальной машины или приложения между разными физическими машинами без отключения клиента или приложения. Память, хранилище и сетевое подключение виртуальной машины передаются с исходной гостевой машины на место назначения. [1]

Миграция памяти ВМ [ править ]

Два метода перемещения состояния памяти виртуальной машины из источника в место назначения - это миграция памяти перед копированием и миграция памяти после копирования.

Перенос памяти перед копированием [ править ]

Фаза разминки [ править ]

При миграции памяти перед копированием гипервизор обычно копирует все страницы памяти из источника в место назначения, в то время как виртуальная машина все еще работает на источнике. Если некоторые страницы памяти изменяются (становятся «грязными») во время этого процесса, они будут повторно скопированы до тех пор, пока скорость повторного копирования страниц не превысит скорость загрязнения страниц. [2]

Фаза остановки и копирования [ править ]

После фазы прогрева виртуальная машина будет остановлена ​​на исходном хосте, оставшиеся грязные страницы будут скопированы в место назначения, а виртуальная машина будет возобновлена ​​на целевом хосте. [3] Время между остановкой виртуальной машины на исходном хосте и возобновлением ее работы на месте назначения называется «временем простоя» и колеблется от нескольких миллисекунд до секунд в зависимости от размера памяти и приложений, запущенных на виртуальной машине. Существует несколько методов сокращения времени простоя динамической миграции, например использование функции плотности вероятности изменения памяти. [4]

Миграция памяти после копирования [ править ]

Пост-копия [5]Миграция виртуальной машины инициируется приостановкой виртуальной машины в источнике. Когда виртуальная машина приостановлена, минимальное подмножество состояния выполнения виртуальной машины (состояние ЦП, регистры и, необязательно, невыгружаемая память) передается целевому объекту. Затем виртуальная машина возобновляет работу на цели. Одновременно источник активно проталкивает оставшиеся страницы памяти виртуальной машины к цели - действие, известное как предварительная подкачка. На целевой машине, если виртуальная машина пытается получить доступ к странице, которая еще не была передана, она генерирует отказ страницы. Эти сбои, известные как сбои сети, улавливаются на цели и перенаправляются источнику, который отвечает страницей с ошибкой. Слишком большое количество сетевых сбоев может снизить производительность приложений, работающих внутри виртуальной машины.Следовательно, предварительный поисковый вызов может динамически адаптировать порядок передачи страниц к сетевым сбоям, активно проталкивая страницы в непосредственной близости от последней ошибки. Идеальная схема предварительного пейджинга замаскировала бы большую часть сетевых ошибок, хотя ее производительность зависит отшаблон доступа к памяти рабочей нагрузки виртуальной машины. Пост-копия отправляет каждую страницу по сети ровно один раз. Напротив, предварительная копия может передавать одну и ту же страницу несколько раз, если страница неоднократно загрязнялась в источнике во время миграции. С другой стороны, предварительная копия сохраняет актуальное состояние виртуальной машины в источнике во время миграции, тогда как при посткопировании состояние виртуальной машины распределяется как по источнику, так и по месту назначения. Если место назначения выходит из строя во время миграции, предварительное копирование может восстановить виртуальную машину, а посткопирование - нет.

Бесшовная живая миграция [ править ]

Когда простой виртуальной машины во время динамической миграции не заметен для конечного пользователя, это называется бесшовной динамической миграцией. Бесшовная живая миграция зависит от структуры динамического интерфейса [6], подчиняющей процесс протоколам шифрования с отложенной последовательностью. [7]

Менеджеры виртуальных машин с поддержкой живой миграции [ править ]

  • Virtuozzo
  • Xen с версии 2.0, 2004 для гостей PV; с версии 3.1 от 18 мая 2007 г. для гостей HVM [8]
  • OpenVZ
  • Parallels Cloud Server
  • Разделы рабочей нагрузки
  • Виртуальные машины целостности
  • KVM [1] [9] [10] с февраля 2007 года, [11] с различными методами. [12]
  • Oracle VM Server для x86
  • Oracle VM Server для SPARC
  • OVirt
  • Виртуализация Red Hat
  • Гипервизор POWER (PHYP)
  • VMware ESXi
  • IBM Live Partition Mobility , с 2007 г.
  • Hyper-V Server 2008 R2 [13]
  • VirtualBox
  • Виртуальная среда Proxmox [14]

Облачные платформы с поддержкой живой миграции [ править ]

  • Jelastic
  • Облачная платформа Google
  • CloudEndure

Системы, обеспечивающие живую миграцию программного обеспечения [ править ]

  • OpenSSI
  • MOSIX
  • Односистемный образ

См. Также [ править ]

  • Виртуальная машина
  • Самостоятельная миграция
  • Сравнение программного обеспечения для виртуализации платформ
  • CRIU

Ссылки [ править ]

  1. ^ a b Алексей Лесовский (ноябрь 2013 г.). Начало работы с oVirt 3.3 . ISBN 9781783280070.
  2. ^ Хакерство, Стюарт и др., Улучшение процесса динамической миграции больших корпоративных приложений , VTDC'09.
  3. ^ Кларк, Кристофер; и другие. Живая миграция виртуальных машин . НСДИ'05. CiteSeerX 10.1.1.138.4067 . 
  4. ^ Фаррахи Могхаддам, Ферейдун и др., Уменьшение времени простоя при миграции живых виртуальных машин с использованием выбора страницы памяти на основе изменения памяти PDF , ICNSC'10.
  5. ^ Хайнс и др., Живая миграция виртуальных машин после копирования.
  6. ^ Травостино; и другие. (2006). «Бесшовная живая миграция виртуальных машин через MAN / WAN». Компьютерные системы будущего поколения . 22 (8): 901–907. DOI : 10.1016 / j.future.2006.03.007 .
  7. ^ Айаш; и другие. (2014). «Безопасная миграция живых виртуальных машин: проблемы и решения». Семинары 28-й Международной конференции по передовым информационным сетям и приложениям : 160–165.
  8. ^ http://lists.xenproject.org/archives/html/xen-announce/2007-05/msg00002.html
  9. ^ https://www.linux-kvm.org/page/Migration
  10. ^ https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/virtualization_administration_guide/chap-virtualization_administration_guide-kvm_live_migration
  11. ^ https://lwn.net/Articles/223754/
  12. ^ https://www.berrange.com/posts/2016/05/12/analysis-of-techniques-for-ensuring-migration-completion-with-kvm/
  13. ^ Windows Server 2012 Unleashed . Sams. 2012-09-16. ISBN 978-0-672-33622-5.
  14. ^ https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines#qm_migration

Внешние ссылки [ править ]

  • HOWTO Статья о миграции Xen
  • Контрольные точки OpenVZ и живая миграция
  • Живая миграция в KVM
  • VMware VMotion
  • Microsoft: пошаговое руководство по динамической миграции
  • Технический документ Microsoft: Обзор и архитектура динамической миграции