Я использую графический интерфейс virt-manager 0.9.5-1ubuntu3 на моем ноутбуке под управлением Ubuntu 14.04 на сервере, расположенном на некотором расстоянии (та же ОС), и получаю довольно неприятную производительность.
Пинги между ноутбуком и сервером составляют ~ 50 мс, что не очень хорошо, но, безусловно, достаточно для доступа по SSH и даже нормального запуска Firefox через X / ssh. И сервер, и ноутбук имеют много свободных циклов ЦП, ОЗУ и дисков. Мой локальный ADSL - 8 Мбит / с на 800 Кбит / с восходящего потока, и, в исключительных случаях, жена не транслирует мыло ;-)
Я создаю новую виртуальную машину и выбираю «настроить конфигурацию перед установкой». Нажатие кнопки «Добавить оборудование» приостанавливает virt-manager примерно на 40 секунд, в течение которых происходит небольшая сетевая активность (отправлено 117 кБ, записано 151 кБ, пики 5 кбит / с вниз, 11 кбит / с вверх); ЦП / ОЗУ абсолютно в порядке на обоих устройствах.
Нажатие «Готово» в диалоговом окне «Добавить новое виртуальное оборудование» для добавления сетевой карты занимает 50 секунд с аналогичной статистикой пропускной способности.
Напротив, фактическое создание виртуальной машины (35 ГБ QCOW2 img) занимает около 15 секунд, а производительность консольного доступа через virt-manager великолепна - не намного медленнее, чем по SSH.
Я, должно быть, делаю что-то не так, но что?
После обновления до более новой версии я могу подтвердить, что ранее наблюдаемая низкая производительность ушла в прошлое. Версия для Ubuntu «Trusty» старше двух лет (0.9.5 против 1.2.0).
Обновление не так уж сложно, за исключением, возможно, выяснения того, какие зависимости требуются (в новой версии, похоже, намного больше, чем в старой). Вот как:
grep '^Requires:' virt-manager.spec.in
Для каждой выявленной зависимости проверьте, нужно ли вам ее устанавливать; ниже приведен список (я считаю полным, но YMMV) пакетов, которые мне нужно было установить. Как указано в файле README, имя большинства зависимостей должно иметь префикс gir-1.2:
sudo apt-get install python-ipaddr
sudo apt-get install gir1.2-libvirt-glib
sudo apt-get install gir1.2-libosinfo
sudo apt-get install gir1.2-gtk-vnc
sudo apt-get install gir1.2-spice-client-gtk-3.0
./virt-manager
и убедитесь, что ваши предыдущие проблемы с производительностью исчезли. Если это не удается, скорее всего, из-за отсутствия зависимости, поэтому вернитесь к предыдущему шагу.Остальное необязательно, так как вы можете просто продолжать запускать быструю версию из своего временного каталога, но если вы хотите установить под /usr
чтобы заменить вялую упакованную версию во всей системе, запустите это:
sudo python setup.py install --prefix=/usr
Если вы попытаетесь запустить установленную версию, она может не работать из коробки. Немного отладки с python -d -v /usr/share/virt-manager/virt-manager --debug --no-fork
выявил основную причину как (virt-manager:8484): GLib-GIO-ERROR **: Settings schema 'org.virt-manager.virt-manager' is not installed
. Google наконец привел меня к этот отчет об ошибке; короче лекарство должно было бежать:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/