GNU/Linux >> Tutoriales Linux >  >> Linux

Planificación de la capacidad de Linux:5 cosas que debe hacer

Creo que muchos administradores de sistemas temen la planificación de la capacidad o simplemente piensan que es innecesaria. Primero, no hay motivo para temer la planificación de la capacidad (no es ciencia espacial); y segundo, la planificación de la capacidad es 100% necesaria. En el pasado, los administradores de sistemas tenían que lidiar con la administración tomando decisiones radicales para agregar capacidad y mejorar el rendimiento, ya sea agregando nuevos sistemas a la mezcla o agregando CPU, RAM o almacenamiento más rápido. Por lo general, pero no siempre, el problema persistió más allá de las actualizaciones y la capacidad adicional. Pero el calificador "generalmente" es la parte de la ecuación que deja perplejos a los administradores y gerentes de sistemas por igual, hasta el punto de que nadie quiere lidiar con la capacidad real y la planificación y administración del rendimiento.

Este problema no tiene que ser una lucha. En este artículo, presento cinco cosas que debe saber para comenzar a planificar la capacidad de Linux. También puede aplicar estas pautas a cualquier entorno:Linux, Windows, Unix o una versión híbrida de estos.

Conceptos básicos de planificación de capacidad

Cuando se habla de capacidad, en realidad se habla de rendimiento. La capacidad y el rendimiento siempre se mencionan juntos. Debe medir y controlar el rendimiento para realizar cualquier tipo de planificación de la capacidad. Capacidad significa la capacidad de procesar y almacenar datos sin cuellos de botella ni impacto para el usuario final. La mayoría de las veces, los administradores de sistemas piensan en el rendimiento en términos de procesamiento de datos para sitios web, bases de datos o aplicaciones. Pero, ahí no es donde termina el rendimiento. Piense en el rendimiento de la copia de seguridad y la restauración. Las copias de seguridad requieren compresión, deduplicación, transferencia de disco a disco o transferencia a través de la red. Y no olvide que mover máquinas virtuales de un host a otro requiere capacidad informática, de almacenamiento Y de red.

Su conclusión aquí es la siguiente:la capacidad y el rendimiento están demasiado relacionados como para separarlos en diferentes conversaciones. Echemos un vistazo a los pasos de este proceso.

Primero:obtenga una línea de base

No importa si sus sistemas son nuevos o tienen tres años, debe establecer una línea de base antes de poder comenzar a planificar y proyectar la capacidad. Establecer una línea de base requiere algo de tiempo porque una línea de base no es una instantánea, es más bien una visión a largo plazo del rendimiento. Utilice al menos una línea de base de un mes para cada sistema. Un mes de datos debería brindarle el rango de rendimiento a partir del cual puede planificar y pronosticar las necesidades de capacidad.

Hay tres números que debe examinar después de haber recopilado la fecha preliminar:carga o uso pico, bajo y promedio. Después de analizar estos datos, se dará cuenta de por qué no puede depender de una instantánea de carga para guiarlo a través del proceso de planificación de la capacidad. Una línea de base le indica dónde se encuentra en este proceso.

El siguiente conjunto de datos que debe tener en cuenta es la capacidad actual. Debe evaluar la información de capacidad de RAM, CPU, disco y red. Luego, debe averiguar cuál es su capacidad máxima para cada sistema. La diferencia entre la capacidad actual y la máxima te da tu capacidad de crecimiento. Por ejemplo, considere un sistema que tenga la siguiente configuración:dos CPU de cuatro núcleos, 128 GB de RAM, dos discos de 1 TB en RAID 1 (duplicados) y una interfaz de red Ethernet de doble Gb. Entonces, su capacidad máxima para este sistema es cuatro CPU de cuatro núcleos, 512 GB de RAM, seis discos y dos ranuras PCIe abiertas para tarjetas de expansión como tarjetas de interfaz de red (NIC) Ethernet Gb.

 

Ahora, compare los dos. Este sistema tiene mucha más capacidad disponible para aumentar la potencia informática, la red y el almacenamiento. Estos parámetros de capacidad de hardware más los datos de rendimiento de su mes son sus puntos de partida para predecir la necesidad de capacidad adicional, ya sea en forma de actualizaciones del sistema o una actualización completa de la tecnología.

Segundo:configurar la supervisión del rendimiento

Si aún no tiene un paquete de monitoreo de rendimiento como sysstat instalado, puede hacerlo fácilmente desde los repositorios predeterminados. Compruebe si tiene sysstat :

$ rpm -qa |grep sysstat

Si no lo tiene, instálelo con:

$ sudo yum -y install sysstat

Ejecute los siguientes dos comandos para ejecutar sysstat recopiladores de datos al inicio y luego para iniciar sysstat recopiladores de datos de su sistema:

$ sudo systemctl enable sysstat sysstat-collect.timer sysstat-summary.timer

$ sudo systemctl start sysstat sysstat-collect.timer sysstat-summary.timer

El sysstat El paquete consta de un puñado de comandos que informan estadísticas de rendimiento en una variedad de subsistemas y servicios, desde CIFS/Samba hasta tareas de disco y Linux. El comando más útil es sar , el Informador de actividad del sistema. El sar El comando le proporciona una lista actualizada de estadísticas de actividad del sistema. Cualquier usuario puede emitir el sar comando para ver estadísticas:

$ sar 
Linux 4.18.0-80.7.1.el8_0.x86_64 (rhel) 	08/14/2019 	_x86_64_	(1 CPU)

12:00:24 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      0.22      0.00      0.43      0.01      0.00     99.33
12:20:32 AM     all      1.18      0.05      1.24      0.12      0.00     97.41
12:30:01 AM     all      0.27      0.00      0.49      0.01      0.00     99.23
12:40:32 AM     all      0.20      0.00      0.38      0.00      0.00     99.41
12:50:32 AM     all      0.18      0.00      0.36      0.01      0.00     99.46

De forma predeterminada, las estadísticas del sistema se recopilan cada 10 minutos. El sar El comando muestra estadísticas generales del sistema, pero la opción de estadísticas mucho más útil y extensa proporciona todo sar tiene para ofrecer, usando el -A opción:

$ sar -A

El resultado es demasiado largo para publicarlo aquí, pero tenga en cuenta que verá todas las estadísticas de cada subsistema y servicio que sar colecciona Consulte el sar página de manual para obtener más información y detalles sobre estadísticas específicas y sus opciones.

Tercero:analizar y graficar datos

El sysstat El colector recopila información del sistema y la guarda en /var/log/sa . Los números de archivo son el día del mes del que fueron recopilados. Necesitará algún método para recopilar y analizar estos datos. Sugiero Orca de Blair Zajac. También sugiero que transfiera los datos recopilados a un repositorio central para procesarlos y mostrarlos. En otras palabras, no procese sus estadísticas en sus sistemas de producción porque tendrá un impacto negativo en sus estadísticas de rendimiento y sesgará sus resultados.

Orca no es trivial pero no es terriblemente difícil de configurar. Hace unos años, escribí un artículo que te ayuda a comenzar a mostrar tus estadísticas de rendimiento en un servidor web con Orca. Hace tiempo que Orca no se actualiza, pero aún funciona como se muestra en la documentación y en mi artículo.

Cuarto:establecer umbrales de rendimiento

Para cada uno de sus sistemas de producción o monitoreados, debe responder la pregunta:"¿Qué tan ocupado es ocupado?" No hay una respuesta perfecta, y es probable que modifique los números en algún momento para reducir la cantidad de notificaciones que recibe por infringir esos umbrales. Por ejemplo, supongamos que tiene cinco servidores web con equilibrio de carga para proporcionar servicios web a sus clientes externos, y necesita monitorear su rendimiento para predecir cuándo agregar más sistemas a la granja, o cuándo puede tomar uno o más. más fuera de línea.

Como prueba preliminar, establece el umbral de CPU en un 80 % de ocupación para los cinco servidores. Dos veces al día, recibe alertas por correo electrónico de que sus sistemas han superado el 80 %. ¿El problema? Recibe alertas cada cinco minutos de los cinco servidores, durante dos horas, dos veces al día. Esto es una indicación de que los umbrales se han establecido demasiado bajos, a menos que le encante recibir todas esas notificaciones.

Debe observar el rendimiento durante esas horas pico para decidir dónde establecer el umbral y si necesita o no agregar más sistemas a la granja para reducir la utilización general. Después de examinar los números, observa que la utilización nunca supera el 87 % en ningún momento de máxima actividad en ningún servidor. A continuación, decide establecer el umbral de la CPU en el 90 % y seguir comprobando el monitor cada cinco minutos, pero reduce el umbral de alerta al 90 % sostenido durante más de dos horas. Esto significa que si la utilización de la CPU de un sistema supera el 90 % durante más de dos horas, recibirá una notificación. Ese umbral para este entorno es razonable y manejable. Su nivel de tolerancia para agregar un nuevo sistema a la granja, después de algunos meses de observación, es una CPU superior al 95 % durante más de dos horas.

Este es el proceso de determinar qué tan ocupado está ocupado y sus niveles de tolerancia para cada servicio. Parece arbitrario, pero no lo es, porque está observando los datos de forma continua y haciendo ajustes y tomando decisiones en función de sus observaciones. La utilización del 90 % durante dos horas no es excesiva, pero no desea exceder ese nivel porque entonces los usuarios comienzan a sufrir largos tiempos de espera al extraer datos de su sistema.

Quinto:Alertas de rendimiento

He discutido las alertas, pero aún tengo que darle una solución para crear y manejar eventos (alertas). Podría crear algo tan simple como un script Bash para verificar sar datos para números de utilización, pero también puede implementar una solución comercial o incluso algo intermedio. No le recomendaré una solución de alerta, pero hay un puñado de aplicaciones de monitoreo y alerta de código abierto disponibles. La mayoría están basados ​​en agentes, así que agregue la instalación y el mantenimiento de otro servicio a su lista de tareas administrativas.

Como se indicó en la sección anterior, tendrá que ajustar sus umbrales y tolerancias para evitar volverse loco con las alertas, especialmente si esas alertas aparecen como mensajes de texto en su(s) teléfono(s). Solo desea recibir una notificación si algo no funciona o tiene problemas y requiere su atención para solucionarlo.

El dilema de la planificación de la capacidad

El dilema de la planificación de la capacidad y la supervisión del rendimiento en estos días es que, en lugar de comprar varios bastidores de servidores, probablemente esté alquilando el hardware de su servidor o esté utilizando algún tipo de solución en la nube donde la capacidad y el rendimiento se manejan dinámicamente mediante reglas comerciales. . Los contratos de arrendamiento de hardware de tres años dictan que debe pasar por una actualización de hardware cada tres años, ya sea que la necesite o no. El tipo de política de hardware que tiene en su empresa ciertamente altera el curso de cómo planifica los cambios de capacidad.

Si arrienda, aún necesitará realizar un seguimiento del rendimiento y pensar en la capacidad, porque si tiene hardware de tamaño insuficiente o subcomprado, sin duda necesitará saberlo. Si realiza una compra, debe considerar la planificación del rendimiento y la capacidad de forma continua durante cinco años. Digo cinco años porque los gerentes y dueños de negocios no quieren reemplazar el hardware cada tres años si lo están comprando. Es probable que estén utilizando las compras de hardware como un activo amortizado.

El truco con los activos comprados es que no desea desperdiciar capacidad comprando demasiado demasiado pronto. Hay muchas historias que circulan sobre personas que compran sistemas de primera línea solo para actualizarlos en cinco años sin siquiera aprovechar la capacidad de esos sistemas, y después de cinco años son demasiado viejos para molestarse en actualizarlos y actualizarlos. El resultado final para adquirir nuevo hardware arrendado o comprado es comprar con el crecimiento en mente y luego aprovechar ese crecimiento al presupuestar actualizaciones basadas en la utilización. En otras palabras, compre lo que necesita, actualice según sea necesario y aproveche al máximo sus activos de hardware antes del próximo ciclo de actualización.

Resumen

La planificación de la capacidad y la supervisión del rendimiento trabajan juntas para brindarle una imagen completa del ciclo de vida de su hardware y software. Es importante tomarse el tiempo y hacer el esfuerzo para configurar el monitoreo y las alertas, y para analizar los datos. Con demasiada frecuencia, los administradores de sistemas ocupados configuran soluciones elaboradas para monitorear y luego las ignoran. Encuentre una manera de lograr un equilibrio entre volverse loco por las alertas de rendimiento y no ver nunca la que genera un tiempo de inactividad prolongado. La planificación de la capacidad también lo ayuda a ahorrar dinero mediante la redistribución de servicios de sistemas sobreutilizados a sistemas infrautilizados.


Linux
  1. 30 cosas que no sabías sobre el kernel de Linux

  2. 3 terminales Linux que debes probar

  3. 3 cosas útiles que puedes hacer con la herramienta IP en Linux

  4. 10 comandos básicos de Linux que necesitas saber

  5. ¿Linux necesita una limpieza ocasional?

¿Necesita Java? Entonces puedes instalarlo Java en Linux

Todo lo que necesita saber sobre los contenedores de Linux (LXC)

Todo lo que necesita saber sobre el servidor Linux Ubuntu

Todo lo que necesita saber sobre el servidor Linux OpenSSH

Todo lo que necesita saber sobre el sistema operativo Linux Zorin

Todo lo que necesita saber sobre el sistema operativo Peppermint Linux

     
    CPU 2 - Cuatro núcleos 4 - Cuatro núcleos
    RAM 128 GB 512 GB
    Disco 2 discos - 1 TB - RAID 1 6 discos
    NIC 2 GbE (doble) 6 GbE (doble) - 10 GbE (cuádruple)