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;
Wichtiger Haftungsausschluss
Die auf WeAreCAS.eu bereitgestellten Codes und Beispiele dienen Lehrzwecken. Es ist zwingend erforderlich, sie nicht blind in Ihre Produktionsumgebungen zu kopieren. Der beste Ansatz besteht darin, die Logik zu verstehen, bevor sie angewendet wird. Wir empfehlen dringend, diese Skripte in einer Testumgebung (Sandbox/Dev) zu testen. WeAreCAS übernimmt keine Verantwortung für mögliche Auswirkungen oder Datenverluste auf Ihren Systemen.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.