Hosting y kernel estático
Estaba intentado instalar oVirt en un servidor dedicado de OVH cuando recibí este error:
[root@ns349642 ~]# hosted-engine --deploy
[ INFO ] Stage: Initializing
[ INFO ] Generating a temporary VNC password.
[ INFO ] Stage: Environment setup
During customization use CTRL-D to abort.
Continuing will configure this host for serving as hypervisor and create a VM where you have to install the engine afterwards.
Are you sure you want to continue? (Yes, No)[Yes]: yes
It has been detected that this program is executed through an SSH connection without using screen.
Continuing with the installation may lead to broken installation if the network connection fails.
It is highly recommended to abort the installation and run it inside a screen session using command "screen".
Do you want to continue anyway? (Yes, No)[No]: yes
[ INFO ] Hardware supports virtualization
Configuration files: []
Log file: /var/log/ovirt-hosted-engine-setup/ovirt-hosted-engine-setup-20161228165855-e07dbr.log
Version: otopi-1.5.2 (otopi-1.5.2-1.el7.centos)
[ INFO ] Stage: Environment packages setup
[ INFO ] Stage: Programs detection
[ INFO ] Stage: Environment setup
[ ERROR ] Failed to execute stage 'Environment setup': Failed to start service 'vdsmd'
[ INFO ] Stage: Clean up
[ INFO ] Generating answer file '/var/lib/ovirt-hosted-engine-setup/answers/answers-20161228165858.conf'
[ INFO ] Stage: Pre-termination
[ INFO ] Stage: Termination
[ ERROR ] Hosted Engine deployment failed
Log file is located at /var/log/ovirt-hosted-engine-setup/ovirt-hosted-engine-setup-20161228165855-e07dbr.log
Intenté iniciar manualmente el servicio que fallaba:
[root@ns349642 ~]# systemctl start vdsmd
A dependency job for vdsmd.service failed. See 'journalctl -xe' for details.
Mirando el status:
[root@ns349642 ~]# systemctl status vdsmd
● vdsmd.service - Virtual Desktop Server Manager
Loaded: loaded (/usr/lib/systemd/system/vdsmd.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Dec 28 15:31:53 ns349642.ip-5-196-79.eu systemd[1]: Dependency failed for Virtual Desktop Server Manager.
Dec 28 15:31:53 ns349642.ip-5-196-79.eu systemd[1]: Job vdsmd.service/start failed with result ‘dependency’.
Mirando con más detalle en journalctl -xe:
-- Unit multipathd.service has begun starting up.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: multipathd.service: control process exited, code=exited status=1
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Failed to start Device-Mapper Multipath Device Controller.
-- Subject: Unit multipathd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit multipathd.service has failed.
--
-- The result is failed.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Dependency failed for Virtual Desktop Server Manager.
-- Subject: Unit vdsmd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit vdsmd.service has failed.
--
-- The result is dependency.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Dependency failed for MOM instance configured for VDSM purposes.
-- Subject: Unit mom-vdsm.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mom-vdsm.service has failed.
--
-- The result is dependency.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Job mom-vdsm.service/start failed with result 'dependency'.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Job vdsmd.service/start failed with result 'dependency'.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Unit multipathd.service entered failed state.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu polkitd[496]: Unregistered Authentication Agent for unix-process:15396:1368819 (system bus name :1.526, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, l
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: multipathd.service failed.
Vemos que el servicio multipathd.service, del que depende vdsm, ha fallado al inicio.
Estudiando en el estado de dicho servicio:
[root@ns349642 ~]# systemctl status multipathd.service
● multipathd.service - Device-Mapper Multipath Device Controller
Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2016-12-28 16:59:06 CET; 1min 20s ago
Process: 15402 ExecStartPre=/sbin/modprobe dm-multipath (code=exited, status=1/FAILURE)
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Starting Device-Mapper Multipath Device Controller…
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: multipathd.service: control process exited, code=exited status=1
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Failed to start Device-Mapper Multipath Device Controller.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: Unit multipathd.service entered failed state.
Dec 28 16:59:06 ns349642.ip-5-196-79.eu systemd[1]: multipathd.service failed.
La línea
Process: 15402 ExecStartPre=/sbin/modprobe dm-multipath (code=exited, status=1/FAILURE)
nos da la clave. No se ha podido insertar el módulo dm-multipath. Por curiosidad probé a hacerlo manualmente:
[root@ns349642 ~]# /sbin/modprobe dm-multipath
[root@ns349642 ~]# echo $?
1
Intento listar los módulos del sistema:
[root@ns349642 ~]# lsmod
libkmod: kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory
Error: could not get list of modules: No such file or directory
Esto es muy raro. Buscando en Internet este problema me encuentro con esto:
Submitted by JamieCameron on Fri, 03/06/2015 – 15:38 Comment #1
The /proc/modules file being missing is rather surprising – is your system a physical machine, or a VM?
Submitted by siteXmedia on Fri, 03/06/2015 – 18:20 Comment #2
Thanks for the reply, yes it is a physical machine, but it is run with a custom kernel, which I can choose not to use. Webmin / Virtualmin has been installed on this server using the custom kernel without problems.
I can re install with the distribution Kernel and see what happens
Submitted by JamieCameron on Fri, 03/06/2015 – 19:45 Comment #3
Yeah, i’d recommend using the distro-provided kernel – otherwise kernel modules from packages are unlikely to work.
En efecto, el kernel estaba personalizado:
[root@ns349642 ~]# uname -r
3.14.32-xxxx-grs-ipv6-64
En los foros de OVH encontré también este enlace:
Hello,
Our kernel is static, wich mean that all module are static inside the kernel. You cannot add additionnal module. You have to recompile a kernel OR use the default kernel of your distribution (deb/rpm).
If your solution is to recompile, you can take the actual kernel configuration in /proc/config.gz. This will allow you to modify the configuration and include the module you want.
If it’s a new server installation, you can simply reinstall your server and select the option «Use the distribution’s native kernel (advanced users)» in the manager and it will install the default kernel.
Thanks,
Mat @ OVH
Como bien se explica arriba, el kernel personalizado de OVH es estático y no permite insertar módulos. La solución es recompilarlo o instalar el nativo. Al final opté por instalar la ISO de oVirt Node a través de IPMI (out of band) cargando la imagen con la opción «virtual media».