Saltar a contenido

Error en el nodo de control

Warning

Documentación en progreso.

Síntomas

No se pueden crear máquinas virtuales, la instancia se queda en estado Planificando y no se crea.

Podemo comprobar que hay servicios que no están funcionando al ejecutar el comando:

systemctl status

Comprobamos si se trata del servicio var-lib-machines.mount.

systemctl status var-lib-machines.mount

Consultamos los mensajes de log.

journalctl -u var-lib-machines.mount -f

May 16 18:23:13 ostack-ams-infra-1-3.example.net mount[1026]: mount: /var/lib/machines: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
May 16 18:23:13 ostack-ams-infra-1-3.example.net systemd[1]: Mounting Virtual Machine and Container Storage (Compatibility)...
May 16 18:23:13 ostack-ams-infra-1-3.example.net systemd[1]: var-lib-machines.mount: Mount process exited, code=exited, status=32/n/a
May 16 18:23:13 ostack-ams-infra-1-3.example.net systemd[1]: var-lib-machines.mount: Failed with result 'exit-code'.
May 16 18:23:13 ostack-ams-infra-1-3.example.net systemd[1]: Failed to mount Virtual Machine and Container Storage (Compatibility).

Comprobamos si el tipo del sistema de archivos es ext4.

file /var/lib/machines.raw

/var/lib/machines.raw: Linux rev 1.0 ext4 filesystem data, UUID=b2c7accf-c3bb-4ab0-9301-371a099de544 (extents) (64bit) (large files) (huge files)

Comprobamos si el archivo var-lib-machines.mount tiene configurado un sistema de archivos incorrecto. Por ejemplo: btrfs.

cat /lib/systemd/system/var-lib-machines.mount

# SPDX-License-Identifier: LGPL-2.1+
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.

# This unit is required for pre-240 versions of systemd that automatically set
# up /var/lib/machines.raw as loopback-mounted btrfs file system. Later
# versions don't do that anymore, but let's keep minimal compatibility by
# mounting the image still, if it exists.

[Unit]
Description=Virtual Machine and Container Storage (Compatibility)
ConditionPathExists=/var/lib/machines.raw

[Mount]
What=/var/lib/machines.raw
Where=/var/lib/machines
Tyep=btrfs
Options=loop

Solución

Editar el archivo:

nano /lib/systemd/system/var-lib-machines.mount

Corregir el tipo de sistema de archivos y lo configuramos como ext4.

[Mount]
...
Type=ext4
...

Reiniciar la máquina para que se apliquen los cambios.

sudo reboot

Referencia