26. Solución de problemas comunes en Ubuntu Server: una guía práctica

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

10. Herramientas de supervisión del sistema para Ubuntu Server: una guía completa – SysOSX: AI & Cloud

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

13.Configurar tu servidor Ubuntu para alojamiento y aplicaciones web: guía definitiva – 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

16. Configurar servicios de uso compartido de archivos en Ubuntu Server: una guía completa – SysOSX: AI & Cloud

17. Configurar un servidor de bases de datos seguro en Ubuntu: MySQL frente a MariaDB – SysOSX: AI & Cloud

18. Cómo configurar y usar LVM en Ubuntu Server: una guía completa – SysOSX: AI & Cloud

19. Introducción a la virtualización con KVM: guía para principiantes de Ubuntu Server – SysOSX: AI & Cloud

20. Cómo instalar Docker en Ubuntu Server: guía paso a paso de la contenedorización – SysOSX: AI & Cloud

21. Primeros pasos con LXD: instala contenedores con facilidad + hoja de referencia – 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

24. Automatizar la configuración de Ubuntu Server con Ansible: una guía práctica – 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:

  1. Registros del sistema: sudo journalctl -xe Ofrece registros detallados sobre errores y advertencias del sistema.
  2. 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.
  3. Registros específicos de aplicaciones:
    Comprueba /var/log para ver registros específicos de aplicaciones (por ejemplo, Apache, MySQL).
  4. Registros del kernel: sudo dmesg Muestra 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.

Deja un comentario