Более 2010 заметок о виртуализации и виртуальных машинах VMware, Microsoft, Citrix, Red Hat
VM Guru / News / Как работает Storage VMotion в VMware vSphere.
Как работает Storage VMotion в VMware vSphere.
25/05/2009
Реклама:
Пост:
Одна из замечательных технологий, которая стала доступна из GUI в VMware vSphere, Storage VMotion позволяет перемещать хранилище виртуальной машины (ее виртуальные диски) на другой том VMFS / LUN без остановки работы служб и приложений.
На диаграмме ниже показано, какие именно фазы проходят в ESX / ESXi при перемещении виртуальной машины между хранилищами.
Во-первых, при инициировании миграции, VMware vSphere копирует все файлы виртуальной машины, за исключением виртуальных дисков, на новое целевое виртуальное хранилище.
Во-вторых, в VMware vSphere включается технология Changed Block Tracking для диска виртуальной машины. VMware vSphere отслеживает изменяющиеся блоки и записывает эти данные в битовый массив. Обычно этот битовый массив хранится в памяти VMware ESX / ESXi.
Далее VMware vSphere «пре-копирует» диск виртуальной машины и swap-файл с целевого устройства на хранилище назначения (первая итерация). В это время виртуальная машина может продолжать запись в виртуальный диск. В это время некоторые блоки диска меняются и отслеживаются технологией Changed Block Tracking. Далее изменившиеся данные посылаются vSphere на целевой диск и применяются там (вторая итерация). При этом во время такого копирования данные на исходном диске также изменятся и также эти изменения отследятся Changed Block Tracking. Таким образом, итерации будут продолжаться до тех пор, пока объем изменений не будет настолько мал, что они будут переданы мгновенно на целевой виртуальный диск.
Теперь ESX вызывает «быстрый приостанов-старт» виртуальной машины (fast suspend/resume). Виртуальная машина «приостанавливается» (suspend) на хосте ESX и процесс, реализующий виртуальную машину, запускает ее уже с целевого хранилища (resume). Именно в этот момент происходит последняя итерация копирования изменившихся данных исходного диска на целевой vmdk. Таким образом, виртуальные диски исходного и целевого виртуального хранилищ оказываются идентичны, после чего происходит resume виртуальной машины.
После того, как виртуальная машина запустилась с целевого хранилища, ее виртуальные диски и другие файлы на исходном хранилище уничтожаются.