El servidor SSH se detiene cuando los usuarios recopilan archivos grandes - NET_RX alto y softirqs altos - ¿Cómo limitar?

El servidor SSH se detiene cuando los usuarios recopilan archivos grandes - NET_RX alto y softirqs altos - ¿Cómo limitar?

Tengo un servidor que ejecuta fedora 14 - Linux-2.6.35 con una NIC de 1 Gbps. Tiene montajes NFSv3 suministrados por un servidor Isilon.

Se congela cada vez que un usuario trabaja con un archivo grande (grep o similar) que existe en el servidor NFS. Pude ver claramente que justo antes de que el servidor se congelara,

  1. El uso de la red llega a cerca de 1 Gbps,
  2. las interrupciones de NET_RX abruman los núcleos de la CPU y
  3. Grandes cantidades de soft_irqs.

¿Alguna idea para acercarnos a estos puestos?

ifconfig en la NIC muestra

[root@interactive ~]# ifconfig eth1 <redacted>
eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
      inet addr:xx.yy.zz.aa  Bcast:A.B.C.255  Mask:255.255.252.0
      inet6 addr: aaaa::bbb:ccc:ddd:eee/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:685902495 errors:6256 dropped:28226 overruns:0 frame:6256
      TX packets:661268729 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:973006411081 (906.1 GiB)  TX bytes:146154890021 (136.1 GiB)
      Interrupt:19 Memory:d8000000-d8012800 

¿Los errores son demasiado altos?

¿Existe alguna forma de limitar la capacidad de un usuario de SSH para saturar la interfaz de red?

Respuesta1

La solución recomendada sería aumentar el ancho de banda disponible para el servidor. Puede actualizar a conectividad 10G o puede agregar NIC adicionales en el servidor y combinarlas (etherchannel).

Además, como Sven comentó anteriormente, deberá asegurarse de tener los controladores más recientes para su NIC y actualizar el sistema operativo si es necesario.

Para limitar la capacidad del usuario ssh, puede probar Calidad de servicio (Control de tráfico). Puede encontrar más información buscando el comando 'tc'.

Respuesta2

La red va a funcionar porque lo que sea (grep, etc.) tiene que leer el archivo. Lo que probaría sería:

Actualice a una versión deesta DÉCADA- Lo sé, estás estancado.

Intente lo mismo a través de la consola. Apuesto a que esto no es SSH.

¿Hay algo en los registros (es decir, /var/log/messages, dmesg) como CPU atascada o servidor NFS que no responde?

Wireshark para paquetes fragmentados, etc.

Cambie las opciones de montaje del cliente nfs: duro vs suave, wsize, rsize, timeo y retrans, UDP vs TCP

Baje la MTU en ambos dispositivos

información relacionada