Мне как-то libvirt не показался. Его концепция разграничения доступа в корне противоречит тому, что мне кажется правильным unix-way. (и вполне поддерживается qemu), он зачем-то использует постоянный процесс-демон, отличный от собственно qemu-system. Ну и XML, да.
"Ну и XML, да." С этим полностью согласен, редактировать неудобно. Но некая абстракция от qemu-system и ручного управления и сетью (linux-brigde или openvswitch), и дисковой подсистемой и, непосредственно, настройками виртуалок нужна. Нужен демон для асинхронного запуска и остановки виртуалок и сбора статистики. Можно, конечно, OpenNebula забабахать (одна из самых простых облачных платформ), но для одной машинки это перебор.