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;
Important Disclaimer
The codes and examples provided on WeAreCAS.eu are for educational purposes. It is imperative not to blindly copy-paste them into your production environments. The best approach is to understand the logic before applying it. We strongly recommend testing these scripts in a test environment (Sandbox/Dev). WeAreCAS accepts no responsibility for any impact or data loss on your systems.
SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. WeAreCAS is an independent community site and is not affiliated with SAS Institute Inc.
This site uses technical and analytical cookies to improve your experience.
Read more.