Оптимизировали живую миграцию и добавили дашборд для мониторинга в Deckhouse Virtualization Platform

Мы оптимизировали живую миграцию виртуальных машин в Deckhouse Virtualization Platform: теперь ВМ переносятся между узлами кластера без прерывания сетевых соединений. А ещё добавили в платформу дашборд мониторинга виртуальных машин, который позволяет отслеживать в Grafana нагрузку на CPU, память и другие ресурсы.

Недавно мы доработали живую миграцию виртуальных машин между гипервизорами: теперь она выполняется без прерывания сетевых соединений. А ещё пользователям стал доступен дашборд в Grafana, который позволяет следить за потреблением CPU, памяти и других параметров.

Живая миграция без прерывания доступа

Живая миграция виртуальных машин — это механизм, который позволяет переносить запущенную ВМ с одного гипервизора на другой без прерывания её работы. Это важно, например, когда физические узлы кластера необходимо перевести в режим обслуживания или перезагрузить.

Deckhouse Virtualization Platform основана на Kubernetes, изначально заточенном под stateless-контейнеры, которые можно без проблем перезапускать на узлах кластера без потери данных. Виртуальные машины же работают с дисками и имеют более строгие требования к задержкам при миграции, которым необходимо соответствовать для обеспечения целостности данных.

Для управления сетевыми взаимодействиями в кластере мы используем Cilium. Он по умолчанию ожидает, что у каждой сущности (например, пода или ВМ) в кластере свой уникальный IP-адрес. Однако при миграции на целевом узле создаётся копия виртуальной машины, на которую должна будет переехать оперативная память с работающей ВМ. При этом у копии тот же IP-адрес, что и у исходной ВМ. В этот момент Cilium «теряется» и не понимает, куда отправлять трафик.

Мы решили эту проблему:

  • Миграция происходит без единого разрыва бесшовно. Пользователи не заметят перемещения виртуальной машины, даже если в этот момент происходит активный обмен трафиком.

  • Сетевые соединения не рвутся, а продолжают корректно работать при миграции.

Для тестирования изменений мы использовали iPerf, который измеряет пропускную способность сети в реальном времени. Запускали его на виртуальных машинах и проверяли поведение соединений в разных сценариях: между узлами, между ВМ, через NodePort и LoadBalancer. Теперь даже при активном сетевом трафике миграция проходит без прерывания доступа.

Дашборд для мониторинга в Grafana

Виртуальные машины в DVP запускаются внутри подов Kubernetes. Раньше работа с метриками виртуальных машин была не такой удобной: их можно было отслеживать только через поды:

Теперь в Grafana появился отдельный дашборд мониторинга виртуальных машин. Он позволяет отслеживать:

  • использование CPU и памяти;

  • состояние запущенных ВМ;

  • общую нагрузку на инфраструктуру виртуализации.

В будущем планируем добавить на дашборд метрики по нагрузке на отдельные узлы и по проектам.

Больше скриншотов дашборда

Материал опубликован при поддержке сайта habr.com
Комментарии

    Актуальные новости по теме "Array"