Solución de problemas de hardware en Linux

| |

COMPARTE EL ARTÍCULO!!!

Los servidores Linux ejecutan aplicaciones empresariales de misión crítica en muchos tipos diferentes de infraestructuras, incluyendo máquinas físicas, virtualización, nube privada, nube pública y nube híbrida. Es importante que los administradores de sistemas Linux comprendan cómo gestionar la infraestructura de hardware de Linux, incluyendo las funcionalidades definidas por el software, relacionadas con las redes, el almacenamiento, los contenedores Linux y las herramientas múltiples en servidores Linux.

Puede llevar algún tiempo resolver problemas y problemas relacionados con el hardware en Linux. Incluso los administradores de sistemas altamente experimentados a veces pasan horas trabajando para resolver misteriosas discrepancias de hardware y software.

Los siguientes consejos deberían facilitar y agilizar la resolución de problemas de hardware en Linux. Muchas cosas diferentes pueden causar problemas con el hardware de Linux; antes de empezar a tratar de diagnosticarlos, es inteligente aprender sobre los problemas más comunes y dónde es más probable que los encuentre.

Dispositivos, módulos y controladores de diagnóstico rápido

El primer paso en la resolución de problemas suele ser mostrar una lista del hardware instalado en su servidor Linux. Puede obtener información detallada sobre el hardware utilizando los comandos ls como lspci, lsblk, lscpu y lsscsi. Por ejemplo, aquí está la salida del comando lsblk:

# lsblk
NOMBRE MAJ:MIN RM TAMAÑO RO TIPO PUNTO DE MONTAJE
xvda 202:0 0 50G 0 disco
├─xvda1 202:1 0 1M 0 part
└─xvda2 202:2 0 50G 0 part / part
xvdb 202:16 0 20G 0 disco
└─xvdb1 202:17 0 20G 0 part

Si los comandos lsc no revelan ningún error, use procesos init (por ejemplo, systemd) para ver cómo está funcionando el servidor Linux. systemd es el proceso init más popular para arrancar espacios de usuario y controlar múltiples procesos del sistema. Por ejemplo, aquí está la salida del comando de estado systemctl:

# estado del sistema
● bastion.f347.internal
Estado: en ejecución
Trabajos: 0 en cola
Fallido: 0 unidades
Desde: Wed 2019-11-28 01:29:05 UTC; hace 2 días
Grupo de trabajo: /
├─1 /usr/lib/systemd/systemd –switched-root –system –deserialize 21
├─kubepods.slice
│ ├─kubepods-pod3881728a_f2af_11e8_af77_06af52f87498.slice
│ │ │ ├─docker-88b27385f4bae77bba834fbd60a61d19026bae13d18eb147783ae27819c34967.scope
│ │ │ │ │ └─23860 /opt/bridge/bin/bridge –public-dir=/opt/bridge/static –config=/var/console-config/console-console-c
│ │ │ └─docker-a4433f0d523c7e5bc772ee4db1861e4fa56c4e63a2d48f6bc831458c2ce9fd2d.scope
│ │ └─23639 /usr/bin/pod
….

Cavar en múltiples registros

Dmesg le permite descubrir errores y advertencias en los últimos mensajes del kernel. Por ejemplo, aquí está la salida del comando dmesg | more:

# dmesg | more
….
[ 1539.027419] IPv6: ADDRCONF(NETDEV_UP): eth0: el enlace no está listo
[ 1539.042726] IPv6: ADDRCONF(NETDEV_UP): veth61f37018: el enlace no está listo
[ 1539.048706] IPv6: ADDRCONF(NETDEV_CHANGE): veth61f37018: el enlace está listo
[ 1539.055034] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: el enlace está listo
[ 1539.098550] dispositivo veth61f37018 entró en modo promiscuo
[ 1541.450207] dispositivo veth61f37018 modo promiscuo izquierdo
SELinux: montaje inválido. Mismo superbloque, diferentes configuraciones de seguridad para (dev mqueue, type mqueue)
[ 9965.292788] SELinux: montaje inválido. Mismo superbloque, diferentes configuraciones de seguridad para (dev mqueue, type mqueue)
[ 9965.449401] IPv6: ADDRCONF(NETDEV_UP): eth0: el enlace no está listo
[ 9965.462738] IPv6: ADDRCONF(NETDEV_UP): vetheacc333c: el enlace no está listo
[ 9965.468942] IPv6: ADDRCONF(NETDEV_CHANGE): vetheacc333c: el enlace está listo
….

También puede ver todos los registros del sistema Linux en el archivo /var/log/messages, que es donde encontrará los errores relacionados con problemas específicos. Vale la pena monitorizar los mensajes a través del comando tail en tiempo real cuando se realizan modificaciones en el hardware, como el montaje de un disco adicional o la adición de una interfaz de red Ethernet. Por ejemplo, aquí está la salida del comando tail -f /var/log/messages:

# tail -f /var/log/messages
1 Dic 13 13:20:33 bastion dnsmasq[30201]: usando el servidor de nombres 127.0.0.0.1#53 para el dominio in-addr.arpa
1 Dic 13 13:20:33 bastion dnsmasq[30201]: usando el servidor de nombres 127.0.0.0.1#53 para el cluster de dominios.local
1 Dic 13 13:21:03 bastión dnsmasq[30201]: configurando servidores upstream desde DBus
1 Dic 13 13:21:03 bastion dnsmasq[30201]: usando nameserver 192.199.0.2#53
1 Dic 13 13:21:03 bastion dnsmasq[30201]: usando el servidor de nombres 127.0.0.0.1#53 para el dominio in-addr.arpa
Dic 1 13:21:03 bastion dnsmasq[30201]: usando el servidor de nombres 127.0.0.0.1#53 para el cluster de dominios.local
1 Dic 13 13:21:33 bastión dnsmasq[30201]: configuración de servidores upstream desde DBus
1 Dic 13 13:21:33 bastion dnsmasq[30201]: usando nameserver 192.199.0.2#53
1 de diciembre 13:21:33 bastion dnsmasq[30201]: usando el servidor de nombres 127.0.0.0.1#53 para el dominio in-addr.arpa
1 de diciembre 13:21:33 bastion dnsmasq[30201]: usando el servidor de nombres 127.0.0.0.1#53 para el cluster de dominios.local

Análisis de las funciones de red

Es posible que tenga cientos de miles de aplicaciones nativas de nube para dar servicio a los servicios empresariales en un entorno de red complejo; éstas pueden incluir virtualización, nube múltiple y nube híbrida. Esto significa que debe analizar si la conectividad de red está funcionando correctamente como parte de la resolución de problemas. Los comandos útiles para entender las funciones de red en el servidor Linux incluyen ip addr, traceroute, nslookup, dig, y ping, entre otros. Por ejemplo, aquí está la salida del comando ip addr show:

# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
link/ether 06:af:52:f8:74:98 brd ff:ff:ff:ff:ff:ff:ff:ff
inet 192.199.0.169/24 brd 192.199.0.255 scope global noprefixroute dynamic eth0
valid_lft 3096sec preferred_lft 3096sec
inet6 fe80::4af:52ff:fef8:7498/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
enlace/éter 02:42:67:fb:1a:a2 brd ff:ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:67ff:fefb:1aaa2/64 scope link
valid_lft forever preferred_lft forever
….

En conclusión

La resolución de problemas de hardware de Linux requiere un conocimiento considerable, incluyendo el uso de potentes herramientas de línea de comandos y el cálculo de los registros del sistema. También debe saber cómo diagnosticar el espacio del núcleo, que es donde puede encontrar la causa de muchos problemas de hardware. Tenga en cuenta que los problemas de hardware en Linux pueden provenir de muchas fuentes diferentes, incluyendo dispositivos, módulos, controladores, BIOS, redes e incluso fallos de hardware comunes y corrientes.

COMPARTE EL ARTÍCULO!!!

Previous

Pruebe su mano en estos proyectos de hardware abierto para principiantes

Conozca OpenAuto, un emulador de Android Auto para Raspberry Pi

Next

Deja un comentario

shares