Aquí es donde entra en juego la CAS_DISK_CACHE (o Caché de Disco).
El Papel del Caché de Disco
El CAS_DISK_CACHE es un espacio de almacenamiento temporal en el disco duro de los nodos (workers y controller). CAS lo utiliza para:
El "Paging": Descargar bloques de datos de la RAM al disco cuando la memoria está llena (memory mapping).
La Replicación: Almacenar copias de bloques de datos para alta disponibilidad.
Si este espacio en disco se satura, se produce la detención inmediata de los procesos, o incluso el bloqueo de la sesión CAS. Por lo tanto, es vital poder consultar el estado de este caché en todo el clúster.
Note :
Análisis del Código de Monitoreo
El código CASL (CAS Language) a continuación permite auditar el estado de este caché. Así es como funciona, paso a paso:
1. Elevación de privilegios (accessControl.assumeRole)
Por defecto, un usuario estándar solo ve lo que concierne a su propia sesión. Para obtener una visión general de la infraestructura (el estado físico de los discos de todos los nodos), a menudo es necesario tener derechos de administración. La instrucción accessControl.assumeRole / adminRole="superuser"; intenta cambiar el usuario actual al rol de "Superuser". Esto permite ver las métricas de todos los nodos del clúster, no solo las del controlador.
2. La llamada a la acción (builtins.getCacheInfo)
Este es el corazón del script. La acción getCacheInfo del conjunto de acciones builtins consulta el sistema de archivos subyacente configurado para el caché. Devuelve información crucial:
proc cas;
/* -------------------------------------------------------------------
OBJECTIF : Auditer l'espace disque du CAS_DISK_CACHE
PRÉREQUIS : Droits suffisants pour assumer le rôle de Superuser
------------------------------------------------------------------- */
/* 1. Tentative de passage en mode Superuser pour une visibilité globale */
/* Note : Si l'utilisateur n'a pas les droits, cette étape peut échouer ou être ignorée */
accessControl.assumeRole / adminRole="superuser";
put "--- ÉTAT DU CAS_CACHE_DISK (Cache Disque) ---";
/* 2. Récupération des métriques de cache pour chaque nœud du cluster */
builtins.getCacheInfo result=cache;
/* 3. Affichage structuré des résultats */
/* Les colonnes typiques sont : Node Name, Path, Free Space, Total Size */
print cache;
run;
/* 1. Tentative de passage en mode Superuser pour une visibilité globale */
8
/* Note : Si l'utilisateur n'a pas les droits, cette étape peut échouer ou être ignorée */
9
ACCESSCONTROL.assumeRole / adminRole="superuser";
10
11
put "--- ÉTAT DU CAS_CACHE_DISK (Cache Disque) ---";
12
13
/* 2. Récupération des métriques de cache pour chaque nœud du cluster */
14
BUILTINS.getCacheInfo RESULT=cache;
15
16
/* 3. Affichage structuré des résultats */
17
/* Les colonnes typiques sont : Node Name, Path, Free Space, Total Size */
18
PRINT cache;
19
RUN;
Aviso importante
Los códigos y ejemplos proporcionados en WeAreCAS.eu son con fines educativos. Es imperativo no copiarlos y pegarlos ciegamente en sus entornos de producción. El mejor enfoque es comprender la lógica antes de aplicarla. Recomendamos encarecidamente probar estos scripts en un entorno de prueba (Sandbox/Dev). WeAreCAS no acepta ninguna responsabilidad por cualquier impacto o pérdida de datos en sus sistemas.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.