Hier kommt der CAS_DISK_CACHE (oder Festplatten-Cache) ins Spiel.
Die Rolle des Festplatten-Caches
Der CAS_DISK_CACHE ist ein temporärer Speicherplatz auf der Festplatte der Knoten (Worker und Controller). CAS verwendet ihn für:
Paging (Auslagern): Auslagern von Datenblöcken aus dem RAM auf die Festplatte, wenn der Speicher voll ist (Memory Mapping).
Replikation: Speichern von Kopien von Datenblöcken zur Gewährleistung der Hochverfügbarkeit.
Wenn dieser Speicherplatz voll ist, führt dies zur sofortigen Beendigung der Verarbeitung oder sogar zum Absturz der CAS-Sitzung. Es ist daher entscheidend, den Status dieses Caches im gesamten Cluster abfragen zu können.
Note :
Analyse des Überwachungscodes
Der unten stehende CASL-Code (CAS Language) ermöglicht die Überprüfung des Cache-Status. So funktioniert er Schritt für Schritt:
1. Rechteerweiterung (accessControl.assumeRole)
Standardmäßig sieht ein normaler Benutzer nur, was seine eigene Sitzung betrifft. Um einen Überblick über die Infrastruktur (den physischen Zustand der Festplatten aller Knoten) zu erhalten, sind oft administrative Rechte erforderlich. Die Anweisung accessControl.assumeRole / adminRole="superuser"; versucht, den aktuellen Benutzer in die Rolle des "Superusers" zu wechseln. Dies ermöglicht die Anzeige der Metriken aller Knoten im Cluster, nicht nur die des Controllers.
2. Der Aktionsaufruf (builtins.getCacheInfo)
Dies ist das Herzstück des Skripts. Die Aktion getCacheInfo aus dem Aktionssatz builtins fragt das für den Cache konfigurierte zugrunde liegende Dateisystem ab. Sie liefert entscheidende Informationen:
Den Zugriffspfad (Path) auf dem Linux-Server.
Den gesamten verfügbaren Speicherplatz (Total Size).
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.