El sistema de archivos de red (NFS) permite a las máquinas montar una partición de disco en una máquina remota como si fuera un disco local. Permite compartir archivos de forma rápida y sin problemas a través de una red. Sin embargo, debido a que NFS se basa en la infraestructura de red existente, cualquier falla en la red puede afectar el rendimiento de la conexión. Las dos herramientas más importantes que he usado a lo largo de los años para analizar el rendimiento de NFS desde la perspectiva del servidor y del cliente son nfsstat
y nsfiostat
. Las dos herramientas forman parte del paquete nfs-utils y deben instalarse como tales:
yum install -y nfs-utils
Comprender el resultado de las herramientas puede ayudar a optimizar el rendimiento de NFS.
El comando nfsstat
El nfsstat
El comando muestra información estadística sobre las interfaces NFS y de llamada a procedimiento remoto (RPC) para el kernel.
En el servidor NFS, ejecute el siguiente comando:
nfsstat -s
El resultado debe ser similar al siguiente:
Server rpc stats:
calls badcalls badclnt badauth xdrcall
107310012 0 0 0 0
Server nfs v4:
null compound
21 0% 107310004 99%
Server nfs v4 operations:
op0-unused op1-unused op2-future access close commit
0 0% 0 0% 0 0% 910848 0% 5671218 2% 153218 0%
create delegpurge delegreturn getattr getfh link
4104 0% 0 0% 517 0% 58659066 22% 8700995 3% 0 0%
El campo más importante a verificar es badcalls
, que representa el número total de llamadas rechazadas por la capa RPC. Cuando las badcalls
es mayor que 0, entonces se debe verificar la red subyacente, ya que podría haber latencia. Además, es muy importante colocar el servidor NFS en la misma subred que el cliente NFS al diseñar la red.
En el cliente NFS, ejecuta lo siguiente:
nfsstat -c
La salida debe ser similar a la siguiente:
Client rpc stats:
calls retrans authrefrsh
30557550 27686 11075
Client nfs v4:
null read write commit open open_conf
0 0% 1601136 5% 568239 1% 23683 0% 1652804 5% 1466260 4%
open_noat open_dgrd close setattr fsinfo renew
0 0% 0 0% 1648000 5% 27154 0% 8 0% 28320 0%
De lo anterior, al cliente le está yendo bien ya que tiene relativamente pocas solicitudes de retransmisión. Si encuentra retransmisiones excesivas, es posible que desee ajustar los tamaños de búfer de transferencia de datos, que se especifican en el mount
opciones de comando rsize
y wsize
.
También puede verificar el paquete descartado ejecutando el siguiente comando tanto en el servidor como en el cliente:
nfsstat -o net
El comando nfsiostat
El nfsiostat
El comando funciona de manera similar al iostat
comando, pero se usa para los puntos de montaje NFS en el servidor. Utiliza el archivo /proc/self/mountstats
como entrada y proporciona información sobre el rendimiento de entrada/salida de los recursos compartidos NFS montados en el sistema.
El nfsiostat
El comando se utiliza en el cliente NFS para comprobar su rendimiento cuando se comunica con el servidor NFS.
Ejecutando nfsiostat
sin ningún argumento debería tener una salida similar a la siguiente:
10.10.1.10:/data/share mounted on /samba/students:
op/s rpc bklog
16.96 0.00
read: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms)
0.900 5.392 5.990 0 (0.0%) 0.550 0.660
write: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms)
0.031 21.818 708.149 0 (0.0%) 122.745 35874.872
Las estadísticas más importantes a tener en cuenta son:
retrans
- Este es el número de retransmisiones.avg RTT (ms)
- Esta es la duración desde el momento en que el núcleo del cliente envía la solicitud RPC hasta el momento en que recibe la respuesta.avg exe (ms)
- Esta es la duración desde el momento en que el cliente NFS realiza la solicitud RPC a su núcleo hasta que se completa la solicitud RPC. Esto incluye el RTT.
Un avg RTT(ms)
muy alto y retrans
indica que hay una latencia alta en la red. La alta latencia también afecta el rendimiento de E/S, porque habrá muchos tiempos de espera. El cliente se volverá lento y será difícil trabajar con él.
También es muy importante tener siempre una red dedicada entre el servidor NFS y el cliente NFS para garantizar un alto rendimiento.
Terminando
El uso de nfsstat
y nfsiostat
para solucionar problemas de rendimiento de NFS puede convertirlo en un administrador del sistema mucho más eficiente. Tómese un tiempo para aprender y usar estas excelentes herramientas de NFS.
[ ¿Quiere más para su red? Descargue un libro electrónico gratuito sobre la automatización de redes con Ansible. ]