Создание фермы виртуализации на базе KVM/QEMU с WEB-интерфейсом управления WebVirtManager


Сразу скажу, что мигрировал я систему с VirtualBox с каким-то web-интерфейсом управления, система мне досталась в состоянии глубокого легаси с долгими поисками открытого решения с адекватным интерфейсом управления и полностью прозрачной лицензией. Миграция со старой фермы на базе VirtualBox постоянно откладывалась и существующая ферма обрастала костылями. 

Так выглядит интерфейс управления фермой виртуализации на базе VirtualBox

От коммерческих решений на VmWare сразу отказались (по причине требований лицензионной чистоты в компании), а лицензия на Proxmox выглядит какой то недостаточно прозрачной и я решил использовать решение которое давно уже использовал для внутренних нужд и оно отлично себя зарекомендовало, при этом состоит из исключительно открытых компонентов:

  • KVM
  • Libvirt
  • Qemu
  • Webvirtmanager

И хотя я давно уже использовал такую связку для работы двух тестовых серверов, настраивать ферму разработки из 12-и серверов на этом решении с постепенной миграцией с VirtualBOX было довольно интересным опытом и главное что все работает отлично и по сей день. Из минусов было только, то что я не смог настроить систему снапшотов на уровне хранилища на базе BTRFS для системы резерного копирования виртуальных машин на лету (точнее прототип то я сделал, но использование снимков BTRFS порождало такой бешенный оверхэд, что пришлось свернуть этот проект и реализовать другую систему резервного копирования).

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

Естественно, что я не могу сказать, что это решение получилось полностью аналогичным VmWare или коммерческой редакции Proxmox, так как я не смог реализовать механизмы миграции виртуальных дисков между нодами фермы и перенос виртуальных машин возможен только при использовании сетевого хранилища, а в остальном все работает стабильно и не требует от сопровождающих системных администраторов глубокого понимания происходящих в системе процессов, так как все управление производится при помощи web-интерфейса управления.