Introducción
Ubuntu Server es una distribución de Linux fiable y ampliamente adoptada, pero incluso los sistemas más fiables pueden enfrentarse a retos que afectan al rendimiento o interrumpen las operaciones. Saber cómo solucionar problemas comunes es crucial para mantener el tiempo de actividad y garantizar un funcionamiento fluido. En esta guía «Solución de problemas comunes en Ubuntu Server» exploraremos técnicas prácticas para diagnosticar y resolver problemas frecuentes, como fallos de arranque, errores de conectividad SSH, problemas de red y más. También aprenderás a utilizar los registros del sistema de forma eficaz para identificar la causa raíz de los problemas y devolver tu servidor a un rendimiento óptimo.
Artículos anteriores:
01. Introducción a Ubuntu Server – SysOSX: AI & Cloud
02. Cómo configurar tu primer servidor Ubuntu: guía para principiantes – SysOSX: AI & Cloud
03.Dominar la línea de comandos de Linux para Ubuntu Server – SysOSX: AI & Cloud
04. Gestionar usuarios y permisos en Ubuntu Server: una guía completa – SysOSX: AI & Cloud
05. Fundamentos de redes para Ubuntu Server: una guía completa – SysOSX: AI & Cloud
06. Instalar y gestionar software en Ubuntu Server: una guía completa – SysOSX: AI & Cloud
07.Aplicar parches y actualizar Ubuntu Server: una guía completa – SysOSX: AI & Cloud
08. Proteger tu servidor Ubuntu: pasos prácticos para reforzar y proteger – SysOSX: AI & Cloud
09. Auditoría y registro en el servidor Ubuntu
11. Registro centralizado para el servidor Ubuntu: una guía imprescindible – SysOSX: AI & Cloud
12. Auditoría y cumplimiento para Ubuntu Server: mejores prácticas – SysOSX: AI & Cloud
14. Alojar varios sitios web en un solo servidor Ubuntu: consejos útiles – SysOSX: AI & Cloud
15. Gestionar el almacenamiento y los discos en Ubuntu Server: guía sencilla – SysOSX: AI & Cloud
18. Cómo configurar y usar LVM en Ubuntu Server: una guía completa – SysOSX: AI & Cloud
22. Primeros pasos con Podman en Ubuntu Server: una guía completa – SysOSX: AI & Cloud
23. Implementar Ubuntu Server en la nube: una guía paso a paso – SysOSX: AI & Cloud
25.Actualizar Ubuntu Server de 22.04 a 24.04: una guía paso a paso – SysOSX: AI & Cloud
Índice
Problemas comunes de Ubuntu Server y cómo solucionarlos
1. Problemas de arranque
Los problemas de arranque pueden deberse a archivos dañados, fallos de hardware o errores de configuración.
Síntomas:
- El servidor no arranca y muestra una pantalla en blanco o mensajes de error.
- El menú GRUB es inaccesible o no aparece.
- Aparecen errores de kernel panic durante el inicio.
Pasos para solucionar problemas:
Paso 1: acceder al menú GRUB
Reinicia el servidor y mantén pulsada la tecla Shift (o la tecla Esc en sistemas UEFI) para acceder al menú GRUB.
Paso 2: arrancar en modo de recuperación
Selecciona Advanced Options > Recovery Mode para arrancar en un entorno mínimo para solucionar problemas.
Paso 3: comprobar los registros del sistema
Inspecciona los registros del sistema para buscar errores relacionados con el proceso de arranque:
sudo journalctl -b
Busca errores o advertencias relacionados con módulos del kernel, montaje de discos o servicios.
Paso 4: reparar paquetes rotos
Ejecuta los siguientes comandos para corregir paquetes rotos:
sudo apt update
sudo apt install --fix-broken
Paso 5: reinstalar GRUB
Si GRUB está dañado, reinstálalo:
sudo grub-install /dev/sda
sudo update-grub
Paso 6: comprobar el estado del disco
Usa fsck para comprobar y reparar errores de disco:
sudo fsck /dev/sda
2. Errores de SSH
Los errores de SSH pueden impedir el acceso remoto al servidor, interrumpiendo las tareas de administración y automatización.
Síntomas:
- No se puede conectar al servidor mediante SSH.
- Errores de «Connection refused» o «Permission denied».
- SSH se cuelga o agota el tiempo de espera.
Pasos para solucionar problemas:
Paso 1: verificar el servicio SSH
Asegúrate de que el servicio SSH está en ejecución:
sudo systemctl status ssh
Si el servicio está inactivo, inícialo:
sudo systemctl start ssh
Paso 2: comprobar los registros SSH
Inspecciona los registros SSH para ver mensajes de error detallados:
sudo tail -n 50 /var/log/auth.log
Entre los problemas habituales están:
- Fallos de autenticación.
- Bloqueos de direcciones IP debidos a fail2ban o reglas del cortafuegos.
Paso 3: comprobar las reglas del cortafuegos
Asegúrate de que el cortafuegos permite el tráfico SSH:
sudo ufw allow OpenSSH
sudo ufw status
Paso 4: inspeccionar la configuración SSH
Comprueba si hay errores en el archivo de configuración SSH:
sudo nano /etc/ssh/sshd_config
Reinicia SSH después de hacer cambios:
sudo systemctl restart ssh
Paso 5: verificar la conectividad de red
Asegúrate de que el servidor es accesible:
ping <server-ip>
3. Problemas de conectividad de red
Los problemas de red pueden impedir que el servidor acceda a internet o se comunique con otros dispositivos.
Síntomas:
- No se puede hacer ping a sitios web externos ni a otros servidores.
- Errores de resolución DNS.
- Las interfaces de red están caídas o mal configuradas.
Pasos para solucionar problemas:
Paso 1: comprobar las interfaces de red
Enumera las interfaces de red activas:
ip a
Si una interfaz está caída, actívala:
sudo ip link set <interface-name> up
Paso 2: comprobar los registros en busca de errores de red
Inspecciona los registros relacionados con la red en busca de posibles problemas:
sudo journalctl -u systemd-networkd
Paso 3: verificar la configuración IP
Comprueba la dirección IP, la puerta de enlace y la configuración DNS del servidor:
cat /etc/netplan/*.yaml
Si la configuración es incorrecta, edita el archivo y aplica los cambios:
sudo nano /etc/netplan/*.yaml
sudo netplan apply
Ejemplo de configuración de Netplan:
network:
version: 2
ethernets:
eth0:
dhcp4: true
Paso 4: probar la resolución DNS
Verifica la resolución DNS:
nslookup google.com
Si la resolución DNS falla, actualiza /etc/resolv.conf con servidores DNS válidos:
nameserver 8.8.8.8
nameserver 8.8.4.4
4. Problemas de espacio en disco
La falta de espacio en disco puede hacer que las aplicaciones fallen o impedir las actualizaciones.
Síntomas:
- Errores de «No space left on device».
- El servidor deja de responder.
Pasos para solucionar problemas:
Paso 1: comprobar el uso del disco
Usa df para comprobar el uso del disco:
df -h
Paso 2: identificar archivos grandes
Busca archivos grandes que consuman espacio en disco:
sudo du -ah / | sort -rh | head -n 10
Paso 3: comprobar el tamaño de los archivos de registro
Los archivos de registro pueden crecer demasiado. Comprueba /var/log para buscar registros demasiado grandes:
sudo du -sh /var/log/*
Elimina o archiva registros antiguos:
sudo rm -rf /var/log/*.gz
sudo rm -rf /var/log/*.log.old
Paso 4: ampliar el espacio en disco
Si el disco está lleno, amplía el volumen (plataformas en la nube como AWS, Azure y GCP permiten cambiar el tamaño de los discos).
5. Errores de instalación de paquetes
Los errores de instalación de paquetes pueden deberse a dependencias rotas o problemas con los repositorios.
Síntomas:
- Errores de «Unable to locate package» o «Dependency errors» durante la instalación.
Pasos para solucionar problemas:
Paso 1: comprobar los registros en busca de errores de paquetes
Inspecciona los registros de apt para ver errores detallados:
sudo tail -n 50 /var/log/apt/history.log
Paso 2: actualizar el índice de paquetes
Asegúrate de que el índice de paquetes está actualizado:
sudo apt update
Paso 3: corregir dependencias rotas
Ejecuta el siguiente comando para resolver problemas de dependencias:
sudo apt install --fix-broken
Paso 4: añadir repositorios que faltan
Si un paquete no está disponible, añade el repositorio necesario:
sudo add-apt-repository universe
sudo apt update
6. Uso elevado de CPU o memoria
El uso excesivo de recursos puede provocar degradación del rendimiento y tiempos de respuesta lentos.
Síntomas:
- El servidor deja de responder.
- Las aplicaciones fallan o agotan el tiempo de espera.
Pasos para solucionar problemas:
Paso 1: supervisar el uso de recursos
Usa top o htop para supervisar el uso de CPU y memoria:
top
Paso 2: comprobar los registros en busca de errores de aplicaciones
Inspecciona los registros específicos de aplicaciones en /var/log para buscar errores que causen un alto uso de recursos.
Paso 3: identificar procesos que consumen muchos recursos
Busca procesos que consuman recursos en exceso:
ps aux --sort=-%cpu | head -n 10
ps aux --sort=-%mem | head -n 10
Paso 4: eliminar procesos innecesarios
Termina los procesos que consumen muchos recursos:
sudo kill <pid>
Usar registros para solucionar problemas
Los registros son una de las herramientas más valiosas para solucionar problemas del servidor. Así es como se comprueban los registros para problemas comunes:
- Registros del sistema:
sudo journalctl -xeOfrece registros detallados sobre errores y advertencias del sistema. - Registros de autenticación:
sudo tail -n 50 /var/log/auth.logÚtiles para diagnosticar problemas relacionados con SSH y el inicio de sesión. - Registros específicos de aplicaciones:
Comprueba/var/logpara ver registros específicos de aplicaciones (por ejemplo, Apache, MySQL). - Registros del kernel:
sudo dmesgMuestra mensajes relacionados con el kernel, útiles para problemas de hardware y arranque.
Conclusión
Solucionar problemas de Ubuntu Server requiere un enfoque sistemático para diagnosticar y resolver problemas. En esta guía, tratamos:
- Resolver problemas de arranque, errores de SSH y problemas de conectividad de red.
- Corregir errores de espacio en disco e instalación de paquetes.
- Usar los registros de forma eficaz para diagnosticar problemas.
Siguiendo estos pasos y aprovechando los registros, puedes identificar y corregir problemas del servidor de forma eficiente, garantizando un entorno de Ubuntu Server estable y fiable.