Ubuntu Trusty: производительность virt-manager по глобальной сети... более 40 секунд зависает
Я использую графический интерфейс 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.
Должно быть, я что-то делаю неправильно, но что?
1 ответ
После обновления до более поздней версии я могу подтвердить, что ранее наблюдаемая низкая производительность осталась в прошлом. Версии, упакованной для Ubuntu "Trusty", более двух лет (0.9.5 против 1.2.0).
Обновление не так уж сложно, за исключением, возможно, выяснения, какие зависимости требуются (более новая версия, кажется, имеет намного больше, чем старая). Вот как:
- Возьмите tarball для последней версии (я проверял это с 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 из текущего каталога; попытайся:
./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/
- Не забудьте проверить, что вы используете правильную версию, нажав Справка-> О программе