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