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,
- El uso de la red llega a cerca de 1 Gbps,
- las interrupciones de NET_RX abruman los núcleos de la CPU y
- 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