Introduzione
Un inode è una struttura dati utilizzata dai file system Unix e Linux per memorizzare informazioni su un file o una cartella. Nello specifico, contiene dettagli come la dimensione, i permessi, la data di ultima modifica e i puntatori ai blocchi di dati effettivi dove il file è memorizzato ma non i contenuti e il nome del file.
Il numero di inode presenti sull’account equivale al numero di file e cartelle che sono al suo interno.
Nel caso un account raggiungesse il numero massimo di inode, si potrebbero riscontrare malfunzionamenti come ad esempio problemi con l’upload dei file o con la ricezione delle email; l’account potrebbe essere escluso dal sistema di backup oppure si potrebbero visualizzare degli errori quando si prova ad accedere al proprio sito.
In caso di necessità è possibile calcolare questo numero direttamente dal terminale utilizzando un comando apposito.
Servizi di hosting
Nei piani di hosting Netsons (Hosting Basic, Hosting Professionale e Cloud Hosting) che utilizzano cPanel è possibile visionare solo il numero totale di inode occupati dalla sezione Statistiche presente sulla destra.
Tuttavia, per i piani di hosting che prevedono il terminale integrato, è possibile eseguire il seguente comando per verificare il numero di inode occupato dalle specifiche directory presenti
du -a | cut -d/ -f2 | sort | uniq -c | sort -nr
È possibile procedere effettuando l’accesso a cPanel > sezione Advanced > Terminal.
Di default, accedendo tramite terminale, si atterra direttamente nella home directory del proprio servizio di hosting. Pertanto, lanciando il comando fornito, si ottiene un dettaglio di tutte le directory presenti all’interno della home, con accanto la somma totale degli inode per ciascuna.
È possibile spostarsi all’interno di una specifica directory tramite il comando “cd”, nel caso si vogliano verificare gli inode occupati dalle sottodirectory.
Ad esempio eseguendo:
cd public_html
Si entra direttamente nella directory /public_html e lanciando il comando iniziale l’output mostra il dettaglio del numero di inode delle varie directory all’interno della public_html.
Ambiente dedicato
Nel caso di gestione di un Server, Vps o più in generale di un ambiente dedicato Linux, ci sono diversi comandi da poter eseguire per verificare l’utilizzo degli inode al suo interno.
Tra i comandi principali troviamo:
df -i
Questo comando restituisce una tabella con informazioni dettagliate sul numero totale di inode, il numero di inode utilizzati, il numero di inode disponibili e la percentuale di inode utilizzati per ciascun file system presente nella macchina.
È possibile aggiungere al comando uno specifico path di cui ricevere il dettaglio. Ad esempio:
df -i /home/
Monitorando regolarmente questi dati, è possibile identificare rapidamente se ci si sta avvicinando ai limiti imposti e prendere misure preventive.
Ogni file o directory di un file system ha un numero di inode unico che lo identifica a livello di kernel del sistema operativo.
L’inode contiene metadati sul file o sulla directory, come i permessi, la data e l’ora di creazione, la dimensione, il proprietario, il gruppo e la posizione dei dati del file sul disco.
Gli inode hanno una dimensione limitata, quindi il numero di file o directory che è possibile creare su un file system è limitato. Il numero di inode disponibili può essere aumentato creando file system con più inode o utilizzando l’allocazione dinamica degli inode.
In generale, capire come funziona l’inode in Linux può essere utile per lavorare in modo efficiente con i file e le directory a livello di sistema, oltre che per diagnosticare e risolvere i problemi con i file system.
È importante rendersi conto che la modifica di un inode può influire direttamente sul file system e causare la perdita di dati, quindi è necessario prestare attenzione quando si lavora con gli inode e utilizzarli solo quando è necessario e si sa cosa si sta facendo.
Gli inode sono utilizzati in file system Linux come ext2, ext3, ext4, XFS, JFS e altri. Ogni file system ha le proprie modalità di gestione degli inode e il numero massimo di inode che possono essere creati su quel file system.
Alcuni comandi di Linux, come ls, df e find, possono usare l’inode per eseguire varie operazioni a livello di file system.
Per conoscere il numero di inode di un particolare file o directory è possibile utilizzare il comando:
ls -i filename.txt
che mostrerà il numero di inode del file myfile.txt.
1234567 filename.txt
Altresì è possibile trovare file o directory in base al numero di inode utilizzando il comando find:
$ find / -inum 1234567
find trova tutti i file e le directory del sistema con il numero di inode 1234567.
È possibile anche eliminare un file o una directory in base al numero di inode utilizzando il comando find e il comando rm:
$ find / -inum 1234567 -exec rm {} \;
find trova il file o la directory con il numero di inode 1234567 e lo elimina.
Se si verificano problemi del file system legati agli inode, è possibile utilizzare strumenti di diagnostica del file system come fsck per risolvere gli errori.
Prima di utilizzare questi strumenti, è fondamentale eseguire il backup dei dati, per prevenire qualsiasi rischio di perdita.