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...