Aumentar el rendimiento del nas
#17
(14-02-2021, 06:54 AM)yeraycito escribió: Antes de empezar me gustaría dar las gracias a mi hijo mayor por sus conocimientos del terminal de linux ( del que no tengo ni idea debido a que tuve hace relatívamente poco tiempo la feliz idea de abandonar windows y pasarme a linux ) y al amigo Ganekogorta por aguantar mis consultas privadas y asesorarme en asuntos técnicos que por mis pobres conocimientos no alcanzo a conseguir. 

En este tutorial voy a intentar explicar de la forma más sencilla posible cómo con muy pocos pasos podemos acelerar el rendimiento en internet y en la red privada nuestro nas.
 
Empezamos:

Todos los sistemas operativos, sean los que sean, vienen configurados con las configuraciónes mínimas por defecto para que funcionen bien en todos los entornos y bajo las manos mas torpes. Si queremos sacarles el máximo rendimiento nos toca tocar y modificar ajustes para conseguirlos. El caso de los nas de Qnap es un caso un poco especial. Los nas de Qnap utilizan Linux y por lo que he podido descubrir parece que utilizan una versión de Ubuntu modificada. Modificada por decir algo. Distribuciones Linux hay un montón pero sea la que sea, al ser de código libre, permite una gran cantidad de modificaciones que sabiendo uno lo que hace, puede hacer. El linux que utiliza Qnap en sus nas está modificado y muy protegido a la hora de hacer esas modificaciones pero voy a explicar en este caso cómo hacerlas. Como digo, los sistemas operativos están configurados al mínimo y en este caso vamos a tocar ajustes del kernel de linux de nuestro nas de tal manera que el rendimiento en cuanto a conexiones de red va a aumentar consideráblemente. Para ello voy a modificar cierto archivo del nas y le voy a poner unos parámetros para conseguir esto. Si os da miedo hacerlo no hay problema porque todo el proceso es fácilmente reversible.

A tener en cuenta: 

1 - Todos los parámetros y el archivo que voy a modificar son válidos para cualquier linux así que si alguno usa una distribución linux puede fácilmente utilizarlos para su sistema

2 - Los parámetros que voy a introducir son el resultado de muchas búsquedas en internet y algunos de ellos ( muy pocos ) son especiales para el nas debido a que éste utiliza una versión relatívamente antigua a fecha de hoy 4.xxx del kernel de Linux yendo éste actualmente por la versión 5.10 y a punto de sacar la 5.11.

3 - Los parámetros son áltamente configurables y modificables NO en su término pero si en su valor. Por ejemplo y refiriéndome al punto anterior el parámetro net.core.somaxconn = 4096 es válido para el kernel que utiliza actuálmente nuestro nas. Si quisiéramos usarlo en un linux con un kernel más moderno podemos sustituir el valor 4096 por 8192.

4 - Los parámetros que pongo son los que después de mucho investigar son los que sacan más rendimiento al nas. Por supuesto, sois libres de poner o no poner los que queráis.

Para este tutorial he usado un ordenador linux con manjaro y con el software Filezilla pero creo que se podrá hacer desde un ordenador con windows con Winscp. Digo "creo" porque el archivo que voy a modificar está protegido por lo que he comentado antes y una opción en Filezilla me ha permitido acceder. Si esa opción, que ahora voy a explicar, existe en Winscp no hay problema.

TUTORIAL:

1 - Accedemos a nuestro nas y vamos a Panel de control - Telnet/SSH y lo activamos



2 - En nuestro ordenador ejecutamos Filezilla o Winscp. Como he dicho antes en Winscp no lo he probado pero en Filezilla, una vez ejecutado, y ANTES de conectarnos al nas tenemos que activar la opción de Forzar mostrar archivos ocultos en el programa.



3 - Una vez hecho esto nos conectamos al nas con usuario/contraseña para acceder a sus archivos internos. Una vez hecho esto el programa Filezilla nos abre 2 ventanas izquierda/derecha. En la izquierda están los archivos del ordenador en el que estamos ejecutando en el programa y en la parte derecha están los archivos de nuestro nas. Nos fijamos en la parte derecha. Tenemos que ir a esta ruta:    /share/CACHEDEV1_DATA/.qpkg/HD_Station/etc
A tener en cuenta: Dependiendo del modelo de nas el apartado de la ruta CACHEDEV1_DATA puede variar. Os toca buscar en vuestro nas el correspondiente. Una vez accedido a ese directorio vemos esto:



4 - Vemos que hay un archivo llamado sysctl.conf. Lo primero que vamos a hacer es descargarlo. Para hacerlo le damos con el botón derecho del ratón:



5 - Una vez descargado lo guardamos bien guardado por si en un futuro no nos gustan los cambios y lo queremos restaurar. Ese archivo descargado en nuestro ordenador lo podemos editar con un editor de archivos de texto. Al abrirlo nos aparece esto ( el archivo es un poco más largo pero os pongo la parte de arriba ):



6 - Lo vamos a editar añadiendo los parámetros que comenté al principio del post. Quedará tal que así:



Como es una captura os pongo a continuación los parámetros introducidos para que los podais copiar/pegar:

# Increase Linux autotuning TCP buffer limits
# Set max to 16MB for 1GE and 32M (33554432) or 54M (56623104) for 10GE
# Don't set tcp_mem itself! Let the kernel scale it based on RAM.
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 1048576
net.core.wmem_default = 1048576
net.core.optmem_max = 65536
net.ipv4.tcp_rmem = 4096 1048576 2097152
net.ipv4.tcp_wmem = 4096 65536 16777216

# Make room for more TIME_WAIT sockets due to more clients,
# and allow them to be reused if we run out of sockets
# Also increase the max packet backlog
net.ipv4.tcp_fastopen = 3
net.core.somaxconn = 4096
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_rfc1337 = 1

# Disable TCP slow start on idle connections
net.ipv4.tcp_slow_start_after_idle = 0

# If your servers talk UDP, also up these limits
net.ipv4.udp_rmem_min = 8192
net.ipv4.udp_wmem_min = 8192

Una curiosidad: Los parámetros que se ven en el archivo original son relativos a seguridad. Si os fijais se componen de 2 partes. Un texto en inglés que explica para qué sirven y a continuación un parámetro que lo ejecuta. Todos esos parámetros los tengo vistos en cortafuegos. Lo curioso del caso es que esos parámetros del archivo vienen precedidos por éste símbolo # ( almohadilla ), por ejemplo, éste:  #net.ipv4.conf.default.rp_filter=1
Ese símbolo # lo que hace es que no estén activos. Si quisiéramos activarlos tan sólo tendríamos que eliminar ese símbolo # dejando el parámetro así:  net.ipv4.conf.default.rp_filter=1
Habría que preguntar a Qnap porque tiene desactivados ajustes de seguridad en los nas.

7 - Una vez editados los parámetros en el archivo sysctl.conf en nuestro ordenador guardamos los cambios. A continuación, si hemos hecho una copia de seguridad de ese archivo en nuestro ordenador podemos ELIMINAR TRANQUILAMENTE el archivo sysctl.conf de nuestro nas a través de Filezilla. Una vez eliminado traspasamos con Filezilla el archivo sysctl.conf modificado en el ordenador a la carpeta del nas dónde estaba el archivo eliminado.



8 - Cerramos Filezilla y REINICAMOS EL NAS

9 - FIN

Resumiendo: Haciendo ésto mejoramos sustanciálmente la conexión de red del nas. Al descargar y guardar el archivo sysctl.conf original siempre tendremos la opción de restaurarlo fácilmente si no nos gustan los cambios.

A tener en cuenta: Una vez introducido en el nas el archivo sysctl.conf modificado éste sobrevive a los reinicios del nas.

Hola y gracias por el aporte, no me queda calro si ala captura que pones es lo que has configurado o lo que havia, y una duda, por lo que leo en el comentario del fichero especifica una cantidad recomendada # Set max to 16MB for 1GE and 32M (33554432) or 54M (56623104) for 10GE segun la red y la ram.
¿ al final que parametros llegas a configurar?
Hasta luego lucas... beepp, beepp
[Imagen: XRAKW0em.jpg]
  Responder


Mensajes en este tema
Aumentar el rendimiento del nas - por yeraycito - 14-02-2021, 06:54 AM
RE: Aumentar el rendimiento del nas - por Miffa - 14-02-2021, 11:24 AM
RE: Aumentar el rendimiento del nas - por yeraycito - 14-02-2021, 03:19 PM
RE: Aumentar el rendimiento del nas - por yeraycito - 15-02-2021, 03:00 PM
RE: Aumentar el rendimiento del nas - por Miffa - 15-02-2021, 03:10 PM
RE: Aumentar el rendimiento del nas - por yeraycito - 15-02-2021, 03:32 PM
RE: Aumentar el rendimiento del nas - por yeraycito - 16-02-2021, 04:04 PM
RE: Aumentar el rendimiento del nas - por yeraycito - 19-02-2021, 06:26 PM
Aumentar el rendimiento del nas - por Ganekogorta - 21-02-2021, 12:15 PM
RE: Aumentar el rendimiento del nas - por yeraycito - 21-02-2021, 06:13 PM
RE: Aumentar el rendimiento del nas - por Duende - 19-04-2021, 12:28 PM
Aumentar el rendimiento del nas - por Ganekogorta - 19-04-2021, 01:01 PM
RE: Aumentar el rendimiento del nas - por Duende - 19-04-2021, 01:08 PM
RE: Aumentar el rendimiento del nas - por yeraycito - 19-04-2021, 02:58 PM
RE: Aumentar el rendimiento del nas - por Duende - 19-04-2021, 04:45 PM
RE: Aumentar el rendimiento del nas - por Rayeta76 - 18-09-2021, 06:52 PM
RE: Aumentar el rendimiento del nas - por yeraycito - 19-09-2021, 01:14 AM



Usuarios navegando en este tema: 1 invitado(s)