Como administradores de sistemas, personal de IT o cualquier usuario del ámbito de sistema o redes siempre tenemos un objetivo común el cual es maximizar el rendimiento de los servicios, las aplicaciones, role, bases de datos y en general cada elemento tanto de hardware como de software dentro de un servidor y todo esto tiene una finalidad y es minimizar al máximo las tareas de soporte y mejorar la experiencia del usuario final y permitir que cada una de las acciones que el servidor lleva a cabo en la organización sea ejecutada de la mejor forma.
Una de las mejores herramientas para optimizar el rendimiento de nuestros servidores CentOS o RedHat es Tuned y por ello Solvetic hará un completo análisis sobre como ella puede tener un impacto positivo dentro de las tareas de soporte que a diario debemos llevar a cabo.
Cuando deseamos contar con un servidor de alto performance, cada sistema o herramienta de ajuste a usar implica tiempo y una monitorización continua la cual puede llegar a ser una tarea que involucra un alto consumo de recursos afectando otras tareas esenciales a gestionar.
La utilidad tuned se desarrolló como un servicio de sistema mediante el cual será posible seleccionar un perfil de ajuste de uno de los nueve perfiles predeterminados en CentOS 7 o también podemos usar algún perfil creado por nosotros, por defecto los perfiles incluidos son:
- desktop-powersave
- enterprise-storage
- server-powersave
- default
- throughput-performance
- laptop-battery-powersave
- spindown-disk
- latency-performance
- laptop-ac-powersave
Estos perfiles de ajuste incluyen las configuraciones de sysctl (/proc/sys/), la configuración de los gestores de disco, las opciones de administración de energía y más secuencias de comandos que podremos añadir.
Para cambiar de un perfil a otro basta un solo un comando, lo cual convierte a tuned en una solución integral para añadirla a trabajos cron y será posible hacer uso de la herramienta de línea de comandos tuned-adm con el fin de administrar el daemon una vez que se está ejecutando en CentOS 7.
1. Cómo instalar y usar tuned en CentOS 7
En las distribuciones CentOS / RHEL 7 y Fedora, tuned viene preinstalado y activado por defecto, pero en las versiones anteriores de CentOS / RHEL 6.x, este debe ser instalado haciendo uso del siguiente comando:
yum install tuned
Ingresamos la letra y para confirmar la descarga e instalación de tuned en CentOS 7.
Después de la instalación, tendremos los siguientes archivos de configuración a usar:
/etc/tuned
/etc/tuned/tuned-main.conf
/usr/lib/tuned
Tuned nos ofrece perfiles predefinidos para manejar diversas situaciones actuales como alto rendimiento, baja latencia o ahorro de energía, estos se pueden modificar con las reglas ajustadas de cada perfil y personalizar cómo se debe ajustar un dispositivo en particular.
Un perfil se establece automáticamente como predeterminado tomando como base la función del producto en uso y será posible hacer uso del comando tuned-adm recommend para determinar qué perfil recomienda CentOS 7 como ideal para el servidor usado.
En caso de no existir ninguna recomendación disponible, se establece el perfil balanceado por defecto, este perfil equilibra el consumo de energía, el rendimiento y la latencia. Adicional tenemos el perfil de ahorro de energía (powersave), el cual ayuda a prolongar la vida útil de la batería si el equipo portátil está en estado inactivo, o si solo llevamos a cabo tareas poco exigentes.
Si deseamos ver el listado completo de perfiles en base al servidor usado podemos ejecutar el siguiente comando:
tuned-adm list
Una vez instalado tuned en CentOS 7, podremos ejecutar los siguientes comandos para tareas administrativas:
- systemctl start tuned (Inicia el servicio de tuned)
- systemctl enable tuned (Habilita el servicio de tuned al arranque del sistema)
- systemctl status tuned (Verifica el estado del servicio de tuned)
- systemctl stop tuned (Detiene el servicio de tuned)
También será posible controlar tuned haciendo uso de la herramienta tuned-adm la cual podemos usar junto al parámetro active para determinar el perfil aplicado actualmente al servidor:
tuned-adm active
Si deseamos cambiar a alguno de los perfiles disponibles, por ejemplo, para usar el perfil throughput-performance, el cual optimiza las cargas de trabajo del servidor para obtener un alto rendimiento, para llevar a cabo este cambio vamos a ejecutar lo siguiente:
tuned-adm profile throughput-performancePodemos confirmarlo ejecutando tuned-adm active:
Con el comando tuned-adm profile no solo configuramos la elección del perfil, sino que adicional a ello también se dio inicio los daemons y que estos estén habilitados en el arranque de CentOS 7.
Si deseamos desactivar la utilidad tuned vamos a ejecutar lo siguiente:
tuned-adm offAl ejecutar este comando, no solo se revertirán todas las configuraciones que estaban antes de que se haya realizado el ajuste del perfil, sino que también se deshabilitará que los servicios de ajuste se ejecuten al arrancar el sistema.
2. Cómo crear perfiles personales de tuned en CentOS 7
Todos los perfiles de ajuste en tuned cuentan con su propio subdirectorio en /usr/lib/tuned/:
De modo que para crear un nuevo perfil podemos copiar uno existente, para este caso nos vamos a basar en el perfil de server-powersave para crear nuestro perfil.
Para realizar esto vamos a ir a la ruta que almacena los subdirectorios para todos los perfiles de ajuste y allí vamos a crear un nuevo subdirectorio llamado test-solvetic para el perfil de ajuste personalizado a crear en CentOS 7:
cd /usr/lib/tuned/ mkdir test-solvetic
Ahora vamos a crear un archivo de configuración tuned.conf en el directorio creado:
nano test-solvetic/tuned.confEn el nuevo archivo pegaremos lo siguiente:
[main] include=server-performance summary=Prueba de perfil Solvetic
A tener en cuenta lo siguiente:
- En la línea include debemos registrar el nombre del perfil a copiar
- En la línea summary ingresamos un resumen sobre el proceso a cumplir
Una vez realizado esto podemos ejecutar de nuevo el siguiente comando para comprobar que nuestro perfil personal ha sido añadido:
tuned-adm list
Para activar nuestro nuevo perfil vamos a ejecutar lo siguiente:
tuned-adm profile test-SolveticEn todos los perfiles de tuned encontraremos los siguientes archivos:
Adicional a esto, una de las funciones más importantes en este archivo es un proceso, que generalmente se denomina como proceso ${@} al final del script ktune.sh cuya función de proceso es importante ya que contiene toda la lógica predeterminada para manejar el inicio, la detención y el reinicio del perfil seleccionado.
3. Parámetros a usar con tuned en CentOS 7
A continuación, veremos algunas de las opciones disponibles a usar con tuned para optimizar nuestra experiencia.
-d. –daemon
-D, --debug
c, --conffile
-h –help
--no-dbus
-P (PID)
-v, --version
Para ver más ayuda sobre estas utilidades podemos ejecutar alguna de las siguientes opciones:
man tuned man tuned-admAsí, tuned es un aliado fundamental para aumentar las opciones de administración del rendimiento de CentOS 7.