📋 Metadata
- ID: KB-2026-0021
- Título: MariaDB no inicia – Error «Plugin ‘InnoDB’ registration failed» por disco lleno
- Fecha: 21 Febrero 2026
- Sistema: Ubuntu 20.04/22.04 LTS
- Servicio: MariaDB 10.6.22
- Tags: #mariadb #innodb #disco-lleno #systemd #logs
🚨 Síntoma Inicial
$ sudo systemctl status mariadb.service
× mariadb.service – MariaDB 10.6.22 database server
Active: failed (Result: exit-code)
Error en logs:
[ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
🔍 Diagnóstico
1. Verificar espacio en disco
df -h
Hallazgo: Disco 100% lleno
/dev/mapper/ubuntu–vg-ubuntu–lv 8,1G 7,7G 0 100% /
2. Identificar consumidores de espacio
sudo du -sh /* 2>/dev/null | sort -h
sudo du -sh /var/log/*
Principales culpables:
/var/log/journal– 801 MB (logs del sistema)/var/lib/snapd– 968 MB (paquetes snap)- Múltiples kernels antiguos (más de 30 versiones)
✅ Solución Aplicada
Paso 1: Liberar espacio URGENTE en logs
# Reducir logs del sistema drásticamente
sudo journalctl –vacuum-size=50M
# Eliminar logs rotados
sudo find /var/log -type f -name «*.gz» -delete
sudo find /var/log -type f -name «*.1» -delete
sudo find /var/log -type f -name «*.2» -delete
sudo find /var/log -type f -name «*.old» -delete
Paso 2: Limpiar cache de paquetes
sudo apt clean
sudo apt autoremove –purge -y
Paso 3: Verificar espacio liberado
df -h
Resultado:
/dev/mapper/ubuntu–vg-ubuntu–lv 8,1G 6,3G 1,4G 82% /
Paso 4: Iniciar MariaDB
sudo systemctl start mariadb
sudo systemctl status mariadb
Resultado: ✅ Servicio iniciado correctamente
📊 Resultado Final
- Espacio liberado: ~1.4 GB
- Estado disco: 82% uso (1.4 GB libres)
- MariaDB: Funcionando
⚠️ Lección Aprendida
El error «Plugin ‘InnoDB’ registration failed» en MariaDB puede ser engañoso. Aunque parece un problema del motor InnoDB, la causa raíz fue falta de espacio en disco que impedía a MariaDB crear sus archivos temporales.
🛡️ Medidas Preventivas Implementadas
1. Monitoreo automático de disco
bash# Script de monitoreo (cada hora) sudo tee /usr/local/bin/check-disk-space.sh << ‘EOF’ #!/bin/bash THRESHOLD=85 CURRENT=$(df / | grep / | awk ‘{ print $5}’ | sed ‘s/%//g’) if [ «$CURRENT» -gt «$THRESHOLD» ]; then echo «Alerta: Disco al ${CURRENT}% el $(date)» >> /var/log/disk-alerts.log fi EOF sudo chmod +x /usr/local/bin/check-disk-space.sh (crontab -l 2>/dev/null; echo «0 * * * * /usr/local/bin/check-disk-space.sh») | crontab –
2. Límite permanente de logs
bash# Configurar journalctl con límite sudo tee /etc/systemd/journald.conf << ‘EOF’ [Journal] Storage=auto Compress=yes SystemMaxUse=100M SystemMaxFileSize=50M MaxRetentionSec=1month EOF sudo systemctl restart systemd-journald
3. Limpieza automática semanal
bashsudo tee /usr/local/bin/clean-logs.sh << ‘EOF’ #!/bin/bash journalctl –vacuum-size=50M find /var/log -type f -name «*.gz» -delete find /var/log -type f -name «*.1» -delete find /var/log -type f -name «*.2» -delete apt clean echo «Limpieza: $(date)» >> /var/log/disk-clean.log EOF sudo chmod +x /usr/local/bin/clean-logs.sh (crontab -l 2>/dev/null; echo «0 2 * * 0 /usr/local/bin/clean-logs.sh») | crontab –
🔧 Comandos de Verificación Rápida
bash# Ver espacio actual df -h # Ver estado de MariaDB systemctl status mariadb # Ver alertas de disco tail -5 /var/log/disk-alerts.log # Ejecutar chequeo completo sudo /usr/local/bin/check-disk-space.sh
📝 Notas Adicionales
- Tiempo de resolución: ~10 minutos
- Impacto: Servicio caído hasta liberar espacio
- Prevención futura: Sistema de monitoreo implementado
KB actualizado por: Soporte Técnico
Última revisión: 21 Febrero 2026
Próxima revisión sugerida: 21 Mayo 2026

Knowledge Base Base de conocimiento de Balam Software