Есть несколько вариантов:
1. Запускать не "голый" KVM, а какое-либо облачное решение nebula\openstack. Там есть возможность передовать в гостя псевдоустройство на котором лежит скриптик и который будет запускаться, а в скрипте уже логика может любая.
2. Использовать систему контроля конфигурации (puppet, chef...). Машины при этом надо будет наливать из заготовленного образа, в котором уже будет присутствовать пакет нужной системы с прописанным в нем сервером.
3. Тоже самое, что и пункт 2, но реализованное через ansible. То-есть после установки гостя, откуда-то натравливается на него ansible и ставит подключает все что надо.
Второй и третий пункты требудт чтобы на машинке после установки работала сеть.