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