Всем доброго дня!
Изучаю сей чудный продукт, столкнулся с одной проблемкой. На свежеразвернутом по мануалам с wiki тестовом сервере пытаюсь запустить новую ВМ, но она сразу сваливается в статус «выключено». При этом, в журнале пишет, что не получается развернуть машину и подключиться к гипервизору:
[Z0][VM]: New state is ACTIVE
[Z0][VM]: New LCM state is BOOT_POWEROFF
[Z0][VMM]: Generating deployment file: /var/lib/one/vms/5/deployment.21
[Z0][VMM]: Successfully execute transfer manager driver operation: tm_context.
[Z0][VMM]: ExitCode: 0
[Z0][VMM]: Successfully execute network driver operation: pre.
[Z0][VMM]: Command execution fail: AVMBREST=0 SVMBREST=0 /var/lib/one/remotes/vmm/kvm/deploy ‘/var/lib/one/vms/5/deployment.21’ ‘br-test.ipa.local’ ‘0’ ‘0’ 5 br-test.ipa.local 9026a680c56a9d517a5d3048935f1a19339c89bf123b5cec2b37709ce436c8e3 0 0
[Z0][VMM][E]: Could not start domain one-5 error: failed to connect to the hypervisor
[Z0][VMM][E]: error: unable to connect to server at ‘br-test.ipa.local:16509’: Connection refused
[Z0][VMM]: ExitCode: 255
[Z0][VMM]: Failed to execute virtualization driver operation: deploy.
[Z0][VMM][E]: Error deploying virtual machine: one-5 0 0
[Z0][VM]: New state is POWEROFF
[Z0][VM]: New LCM state is LCM_INIT
Причем, эта ошибка возникает и в соло режиме и в режиме RAFT. В соло внешние диски не подключал, при этом хранилище system не показывает доступный объем (думал, что в этом причина). Но в RAFT с подключенными хранилищами по схеме LVM_LVM ситуация не меняется. Логические тома создаются, объем виден, но воз и ныне там.
Пробовал разные комбинации драйверов raw и qcow2 для iso и пустого образа.
Еще странное заметил — если в текущий момент узел виртуалки например третий, а лидер первый, то каталог /var/lib/one/vms/5 есть только на первом. В соло каталог все же присутствует, но от ошибки это не избавляет.
Я пока что тапок в этом вопросе, но что можно сделать, в какую сторону копать? По сути, все делал по мануалам, гугл не особо помогает.
Сам затупил — сам нашел, где накосячил.
Пропустил спойлер в узлах виртуализации с установкой пакетов:
sudo apt install ipa-libvirt-qemu opennebula-node
sudo ipa-libvirt-qemu-configure
Такая же ошибка на тестовом стенде после того как удалили хранилища из one и добавил эти же хранилища обратно.
До этого всё работало.
Ранее созданные VMs удалил. Так же удалил все образы.
Всё создал по новой. Но вот теперь машина не размещается ни на одном узле…
Проверь сетевые настройки в бресте. Удали у виртуалок виртуальную сеть, у меня из за неправильных настроек сети не деплоилось. Проверь без сети.
Мы проблему решили.
Проблема именно в не корректной работе OpenNebula старой с CEPH.
Косяки надо править командами в CEPH или просто с нуля создавать VMs (шаблоны).
В текущей версии OpenNebula это уже исправлено, а Бресте думаю не исправлено ещё.
@S4nfs, huge thanks for your appreciation of my work. I wish I could spend more time on my projects so that I could finish them and improve them from time to time 😅
Thanks a lot for providing me the full error message. In this case I think you’re right and it’s not something I could test on my side ’cause I’m only relying on the PHP
embedded web server to run the web interface.
Regarding the deployment, I got two working deployments using the PHP
embedded web server and then just using the script start-web-server.sh to fire it up. So, I got a local deployment and a remote deployment on a small dedicated server. That’s why I didn’t encountered similar issues as you did.
What I don’t understand in your case is why apparently libvirt
is trying to write into your apache
web folder under a .cache/libvirt
subfolder…
Just to make sure that the issue is not in the code / to isolate it correctly, could you please just try running the script start-web-server.sh and see if you get the same issue?
Otherwise, if you can’t, what you can do would be to create that /var/www/.cache
folder and set it temporarily to chmod 777
and see under which user the libvirt
folder got created. Once done, try to restrict write access to only the related user used to create that libvirt
folder.
Also, I don’t think that having deployed everything on the same host would be an issue. Basically if you check the code, I’m simply calling the libvirt
binaries like virsh
, parsing the output and render it in the web interface. And as I just deployed the code in the $HOME
folder, I didn’t had the same permission issues you had.
I’ll try to setup a VM with apache
+ the nested virtualization enabled and do some tests to understand what caused your issue, debug it and then document my findings + workarounds if possible.
Thanks again for having took the time to report your issue 🙇🏽
Skip to navigation
Skip to main content
Infrastructure and Management
- Red Hat Enterprise Linux
- Red Hat Virtualization
- Red Hat Identity Management
- Red Hat Directory Server
- Red Hat Certificate System
-
Red Hat Satellite
- Red Hat Subscription Management
- Red Hat Update Infrastructure
- Red Hat Insights
- Red Hat Ansible Automation Platform
Cloud Computing
- Red Hat OpenShift
- Red Hat CloudForms
- Red Hat OpenStack Platform
- Red Hat OpenShift Container Platform
- Red Hat OpenShift Data Science
- Red Hat OpenShift Online
-
Red Hat OpenShift Dedicated
- Red Hat Advanced Cluster Security for Kubernetes
- Red Hat Advanced Cluster Management for Kubernetes
- Red Hat Quay
- OpenShift Dev Spaces
- Red Hat OpenShift Service on AWS
Storage
- Red Hat Gluster Storage
- Red Hat Hyperconverged Infrastructure
- Red Hat Ceph Storage
- Red Hat OpenShift Data Foundation
Runtimes
-
Red Hat Runtimes
- Red Hat JBoss Enterprise Application Platform
- Red Hat Data Grid
- Red Hat JBoss Web Server
- Red Hat Single Sign On
- Red Hat support for Spring Boot
- Red Hat build of Node.js
- Red Hat build of Thorntail
- Red Hat build of Eclipse Vert.x
- Red Hat build of OpenJDK
-
Red Hat build of Quarkus
Integration and Automation
- Red Hat Process Automation
- Red Hat Process Automation Manager
- Red Hat Decision Manager
All Products
- Symptom
-
While libvirtd should listen on TCP ports for connections, the connections fail:
# virsh -c qemu+tcp://host/system error: unable to connect to server at 'host:16509': Connection refused error: failed to connect to the hypervisor
The libvirt daemon is not listening on TCP ports even after changing configuration in
/etc/libvirt/libvirtd.conf
:# grep listen_ /etc/libvirt/libvirtd.conf listen_tls = 1 listen_tcp = 1 listen_addr = "0.0.0.0"
However, the TCP ports for libvirt are still not open after changing configuration:
# netstat -lntp | grep libvirtd #
- Investigation
-
The libvirt daemon was started without the
--listen
option. Verify this by running this command:# ps aux | grep libvirtd root 27314 0.0 0.0 1000920 18304 ? Sl Feb16 1:19 libvirtd --daemon
The output does not contain the
--listen
option. - Solution
-
Start the daemon with the
--listen
option.To do this, modify the
/etc/sysconfig/libvirtd
file and uncomment the following line:#LIBVIRTD_ARGS="--listen"
Then restart the libvirtd service with this command:
# /etc/init.d/libvirtd restart