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;
Avertissement important
Les codes et exemples fournis sur WeAreCAS.eu sont à but pédagogique. Il est impératif de ne pas les copier-coller aveuglément sur vos environnements de production. La meilleure approche consiste à comprendre la logique avant de l'appliquer. Nous vous recommandons vivement de tester ces scripts dans un environnement de test (Sandbox/Dev). WeAreCAS décline toute responsabilité quant aux éventuels impacts ou pertes de données sur vos systèmes.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.