NetScaler – Filesystem full

In questi giorni mi è capitato di dover intervenire di urgenza per problemi di funzionamento di un installato NetScaler. Durante i tentativi di accesso web al NetScaler primario della coppia HA non mi è stato possibile accederci, per un errore di sessione invalida.

Ho per cui virato verso la connessione in console all’appliance virtuale e da subito ho notato un flusso continuo di errori legati alla presenza di filesystem full.

Acceduto in shell alla macchina ho lanciato il comando “df -h” ed era evidente, dall’output, che la partizione /var fosse full.

Ho per cui proceduto alla pulizia del filesystem, partendo dalle indicazioni presenti in questa pagina di documentazione ufficiale:

How to free space on the VAR directory for logging issues with a NetScaler appliance

Di seguito riporto le directory che possono essere soggetto di pulizia:

/var/nstrace - This directory contains trace files.This is the most common reason for HDD being filled on the NetScaler appliance. This is due to an nstrace being left running for indefinite amount of time. All traces that are not of interest can and should be deleted. To stop an nstrace, go back to the CLI and issue stop nstrace command.
/var/log - This directory contains system specific log files.
/var/nslog - This directory contains NetScaler log files.
/var/tmp/support - This directory contains technical support files, also known as, support bundles. All files not of interest should be deleted.
/var/core - Core dumps are stored in this directory. There will be directories within this directory and they will be labeled with numbers starting with 1. These files can be quite large in size. Clear all files unless the core dumps are recent and investigation is required.
/var/crash - Crash files, such as process crashes are stored in this directory. Clear all files unless the crashes are recent and investigation is required.
/var/nsinstall - Firmware is placed in this directory when upgrading. Clear all files, except the firmware that is currently being used.

In particolare, spesso capita che vengano lasciati firmware nella cartella /var/nsinstall, a seguito di procedure di upgrade dei NetScaler, ma nel caso specifico ho rilevato che i log contenuti nella cartella /var/log risultavano più grossi rispetto al normale (ho trovato un file ns.log2 con una dimensione di più di 6GB).

Da una analisi del sistema ho notato che pochi giorni prima risultavano essere stati attivati i log in modalità debug, motivo per il quale venivano generati log di dimensione maggiore rispetto al normale. Il NetScaler in oggetto era stato oggetto di un’analisi da parte del supporto Citrix, il quale aveva abilitato il Loglevel DEBUG per raccogliere maggiori dettagli sulla problematica in analisi; peccato si fossero poi dimenticati di rimuovere il Loglevel e diversi altri file di log in giro per il sistema.

Ho per cui provveduto a disabilitare il Loglevel DEBUG, così da ripristinare un logging normale, tramite il seguente comando:

Set syslogparams -loglevel EMERGENCY ALERT CRITICAL ERROR WARNING NOTICE INFORMATIONAL

Così facendo ho indicato al NetScaler di loggare solamente gli eventi dei livelli indicati in elenco, escludendo tutti gli eventi di DEBUG.

Dopo aver ripulito diverse folder, ho potuto constatare che il mio intervento fosse stato utile, rilanciando il comando “df -h”:

Finalmente la partizione contenete /var risultava libera per un buon 57%.

NB: nei sistemi Linux/UNIX (e NetScaler è basato su FreeBSD) l’esecuzione del comando “df -h”, subito dopo aver rimosso file nel sistema, può non rispecchiare immediatamente il nuovo stato del filesystem. Spesso è necessario attendere e rieseguire il comando dopo diversi minuti per vedere effettivamente lo stato di occupazione aggiornato.

Share with:


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.