¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. LINUX
  3. Planificación de la capacidad
Extrait - LINUX Preparación a la certificación LPIC-2 (exámenes LPI 201 y LPI 202) – 5ª edición
Extractos del libro
LINUX Preparación a la certificación LPIC-2 (exámenes LPI 201 y LPI 202) – 5ª edición Volver a la página de compra del libro

Planificación de la capacidad

Requisitos y objetivos

1. Requisitos

Los conocimientos necesarios para la certificación LPC-1 son:

Tener nociones básicas de los procesos.

Tener nociones básicas de los discos.

Tener nociones básicas de redes.

Los conocimientos adquiridos en los anteriores capítulos, especialmente:

Gestión de los discos.

Gestión de la red local.

2. Objetivos

Al final de este capítulo, deberá poder:

Conocer los diferentes tipos de recursos de hardware que se tienen que monitorear.

Usar los sistemas de archivos virtuales procfs y sysfs como fuentes de información.

Determinar los recursos materiales que se encuentra a disposición del sistema.

Determinar el uso global de los recursos.

Conocer el consumo de recursos de un proceso.

Detectar los cuellos de botella.

Configurar la recolecta de datos de consumo de los recursos.

Explotar los datos recolectados.

Conocer los principios de gestión de previsión de recursos.

Planificación de la capacidad

Este tema está dividido en dos partes con pesos diferentes.

1. Medida y uso de los recursos y depuración

Peso

6

Objetivos

Medir el uso de los recursos materiales y del ancho de banda, identificar y resolver los problemas relativos a los recursos.

a. Competencias principales

  • Medir el uso del procesador.

  • Medir el consumo de la memoria.

  • Medir las entradas/salidas de los discos.

  • Medir las entradas/salidas de la red.

  • Medir la capacidad de tratamiento del firewall y del enrutamiento.

  • Evaluar el consumo de ancho de banda de los clientes.

  • Asociar los síntomas y los problemas probables.

  • Estimar la capacidad de tratamiento e identificar los cuellos de botella del sistema y de las redes.

b. Elementos empleados

  • iostat

  • iotop

  • vmstat

  • netstat

  • ss

  • iptraf

  • pstree, ps

  • w

  • lsof

  • top

  • htop

  • uptime

  • sar

  • swap

  • Procesos bloqueados en entrada/salida.

  • Bloques en entrada.

  • Bloques en salida.

2. Planificación prospectiva de los recursos

Peso

2

Objetivos

Seguir la evolución del uso de los recursos para anticipar las necesidades en el futuro.

a. Competencias principales

  • Saber utilizar las herramientas de supervisión y de toma de medidas para controlar el uso de la infraestructura informática.

  • Determinar el umbral de saturación de una configuración.

  • Seguir la progresión del consumo de los recursos.

  • Mostrar gráficamente las tendencias de consumo de los recursos.

  • Conocimiento básico de las soluciones...

Medida de uso de los recursos y depuración

El administrador del sistema tiene que ser capaz de hacer un censo de los recursos que se encuentran a disposición del sistema y vigilar su uso por el sistema y por las aplicaciones.

1. Tipos de recursos

Existen cuatro tipos principales de recursos:

  • El o los procesadores.

  • La memoria viva.

  • El espacio de almacenamiento.

  • La red.

Cada una de estas categorías de recursos sirve para permitir que las aplicaciones se ejecuten correctamente, presentando un rendimiento y funcionalidades que puedan satisfacer a los usuarios. Si uno de estos aspectos no fuera suficiente, podría hacer que el funcionamiento del conjunto no fuera correcto, provocando un "cuello de botella".

2. Fuentes de información sobre los recursos

El administrador del sistema debe poder cuantificar cada tipo de recurso y vigilar en tiempo real su uso. Para ello, Linux ofrecen diferentes fuentes de información, como las interfaces de comunicación con el núcleo, los comandos o los archivos de registro.

a. Los pseudo-sistemas de archivos proc y sysfs

El núcleo gestiona los recursos de tipo material y los pone a disposición de las aplicaciones. Para ello, se ocupa de los recursos principales (memoria y procesador) y coordina los pilotos de dispositivos encargados de los otros recursos de tipo material. Por lo tanto, sigue en tiempo real los recursos disponibles y su uso.

Linux dispone de un mecanismo muy potente que permite una comunicación dinámica con el núcleo: los pseudo-sistemas de archivos proc y sysfs (también llamados procfs y sys). Se trata de una interfaz, bajo la forma de un arborescencia de directorios y de archivos especiales, gestionada por el núcleo. Esto permite obtener información sobre el estado del sistema incluyendo los procesos activos, e incluso enviar información al núcleo con el objetivo de modificar dinámicamente algunos de sus parámetros.

Estos pseudo-sistemas de archivos son una fuente esencial de información sobre los recursos de la máquina así como sobre su uso.

Los elementos que ofrecen información general se encuentran directamente en el directorio de montaje de proc, o en su subdirectorio sys.

El pseudo-sistema de archivos sysfs permite la gestión unificada de los buses, controladores y dispositivos a partir de una arborescencia virtual. Sobre...

Planificación prospectiva de los recursos

El administrador del sistema tiene que asegurarse de que las máquinas que administra estén operativas y ofrezcan un servicio de calidad a los usuarios, en función de los objetivos de rendimiento y de fiabilidad asignados.

Pero también tiene que anticipar la evolución de las necesidades, para poder de esta manera prevenir posibles saturaciones de recursos (cuellos de botella) adaptando, para ello, las configuraciones. Para llevarlo a cabo, tiene que implementar herramientas de recogida de datos y de seguimiento del rendimiento.

1. El paquete sysstat

El paquete sysstat ofrece un conjunto de herramientas de monitorización del estado de los recursos gestionados por el sistema, en particular del comando sar, de origen Unix, y del comando iostat para vigilar las entradas/salidas.

a. La recogida de información con sysstat

Una vez que el paquete haya sido instalado, posiblemente haya que configurarlo para que la herramienta sysstat recoja información con un intervalo regular.

Debian: activar la herramienta gracias al archivo /etc/default/sysstat (ENABLED a true).

Red Hat: la recogida de información está configurada por defecto para guardar 28 horas. El archivo de configuración es /etc/sysconfig/sysstat, variable HISTORY.

La recogida de información es ejecutada por una tarea cron, que puede estar definida en cron.daily o mediante /etc/cron.d/sysstat.

La información se guarda en un archivo de registro del directorio /var/log/sysstat o /var/log/sa. La rotación de esos archivos de registro es automática, una vez al mes.

b. El comando sar

Este comando funciona en dos modos:

Inmediato

Si le indicamos un intervalo de medida t y un número de medidas n. Mostrará el consumo de recursos instantáneo, con n medidas cada t segundos.

Diferido

Sin intervalo de medida t, el comando analiza los registros generados por sysstat.

Sus opciones permiten seleccionar los diferentes tipos de recursos, incluyendo visualizar el uso (procesador, memoria, entradas/salidas y red).

Procesador

Es el recurso visualizado por defecto, cuando el comando sar se utiliza sin opción.

Ejemplo

sar 3 5  
Linux 4.18.0-348.23.1.el8_5.x86_64 (srvrh.localdomain)  12/09/2022  _x86_64_    (2 CPU) 
18:48:45        CPU     %user     %nice   %system   %iowait    %steal     %idle ...

Validación de lo aprendido: preguntas/respuestas

Responda a estas preguntas abiertas, parecidas a las que le harán en el examen de la certificación, pero estas últimas serán de tipo test o pidiéndole una respuesta corta que introducirá mediante el teclado. 

1. Preguntas

1 ¿Por qué algunos directorios del sistema de archivos proc aparecen y desaparecen automáticamente?

2 ¿Qué línea de comando hay que usar para obtener la lista de todos los procesos?

3 ¿Cómo se pueden obtener los mensajes mostrados en la consola durante el arranque del sistema, cuando se efectúa la detección de los dispositivos y la inicialización de los controladores?

4 ¿Cómo se puede obtener información sobre la memoria física (cantidad y uso)?

5 ¿Cómo se puede saber si una conexión entrante SSH se ha establecido?

6 ¿Cómo evaluar los riesgos de fallo de un disco duro?

7 ¿Por qué la escasez de memoria disponible puede ralentizar las entradas/salidas hacia un disco? 

8 Antes de ejecutar un respaldo, deseamos comprobar que un archivo particular no está siendo usado. ¿Cómo podríamos asegurarnos?

9 ¿Cómo evaluar el impacto de un aumento del número de usuarios en el rendimiento del sistema?

10 ¿Cuál es la diferencia entre Nagios...

Trabajos prácticos

Aquí se proponen ejercicios para implementar algunos de los puntos abordados en el capítulo. En cada uno de ellos se da un ejemplo comentado de la realización del ejercicio, que deberá adaptar a la configuración de sus sistemas.

1. Estudio de las capacidades de un servidor

Para este estudio se usará el servidor srvdebian, instalado con una distribución Debian 11, en el que se ha instalado un servicio apache2.

Comandos y archivos útiles

  • /proc

  • swapon

  • fdisk

  • pvdisplay, vgdisplay

  • mount

  • ifconfig

  • netstat

  • nsswitch.conf, resolv.conf

Etapas

1.

Obtenga la información referente a la capacidad de el o los procesadores.

2.

Obtenga la información referente a la capacidad de la memoria.

3.

Obtenga la información referente a la capacidad de los discos.

4.

Obtenga la información referente a la capacidad de la red.

Resumen de los comandos y resultados en pantalla

1.

Obtenga la información referente a la capacidad de el o los procesadores.

Lo más sencillo es utilizar el sistema de archivos proc para obtener el número y tipo de procesadores. 

root@srvdebian:~# cat /proc/cpuinfo  
processor      : 0  
vendor_id      : AuthenticAMD  
cpu family     : 15  
model          : 104  
model name     : AMD Athlon(tm) 64 X2 Dual-Core Processor TK-53  
stepping       : 1  
microcode      : 0x83  
cpu MHz        : 800.000  
cache size     : 256 KB  
physical id    : 0  
siblings       : 2  
core id        : 0  
cpu cores      : 2  
apicid         : 0  
initial apicid : 0  
fpu            : yes  
fpu_exception  : yes  
cpuid level    : 1  
wp             : yes  
flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca  
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp  
lm 3dnowext 3dnow rep_good nopl cpuid extd_apicid pni cx16 lahf_lm  
cmp_legacy svm extapic cr8_legacy 3dnowprefetch vmmcall...