Articulu Directory
Un paru di ghjorni fà, un amicu m'hà mandatu un missaghju tardi di notte dicendu chì u so servitore s'era piantatu.
I sintomi specifichi eranu particularmente bizzarri: u situ web hà cuminciatu di colpu à lancià errori, i logs ùn pudianu esse scritti, è a creazione di novi fugliali indicava subitu chì u discu era pienu.
Ma quandu hà verificatu cù `df -h`, hè statu scunvurgiutu di scopre chì u discu avia chjaramente decine di gigabyte di spaziu liberu. Cumu puderia esse pienu ?
Li aghju dettu subitu: "Fratellu, ùn site micca solu pienu di spaziu di almacenamentu, u vostru Inode hè sovraccaricu".
Hà rispostu cù un puntu interrogativu: Chì ghjè esattamente un Inode?
In fatti, assai persone reagiscenu esattamente cum'è ellu quandu sò cascati per a prima volta in sta trappula, perchè nimu in a scola ùn li hà mai insignatu ste cose.
Chiarifichemu prima ciò chì hè un Inode.
Pensate à ella cum'è una scheda d'indice di biblioteca, è serà faciule da capisce.
U spaziu di discu hè cum'è una libreria; quanti libri pudete mette dipende da a so capacità, ciò chì hè faciule da capisce per tutti.
Un inode hè cum'è una carta d'indice per ogni libru, chì registra u so nome, a so situazione è quale l'hà spustatu.
In Linux , ogni schedariu è ogni cartulare deve occupà un inode, ùn importa micca quantu chjucu sia u schedariu.
Ancu s'ellu hè un schedariu viotu, u sistema cunsumerà sempre una carta d'indice per questu.
U sistema hà un limite à u numeru tutale di fugliali ch'ellu pò creà; questu limite hè u numeru tutale di innodi.
Una volta chì l'inode hè adupratu, ancu s'è u vostru discu hà sempre centinaie di gigabyte di spaziu liberu, u sistema operativu si rifiuterà di creà novi fugliali.
I logs ùn ponu esse scritti, a cache ùn pò esse creata, è u situ web si blocca cumpletamente - hè a scena bizzarra chì state assistendu.
Onestamente, sta hè una situazione veramente difficiule perchè u missaghju d'errore hè mandatu da una locu chì ùn state micca guardendu.
U primu truccu hè di utilizà `df -i` per ottene una rapida panoramica.
In l'ambiente HestiaCP , pudete simpricimenti accede à u terminal per SSH è scrive sta linea.
df -iElencherà u numeru tutale di innodi, u numeru utilizatu è u numeru restante per ogni partizione muntata.
In l'output, ci hè una colonna chjamata IUse%, chì hè a metrica chjave chì duvete tene d'ochju.
Sè l'IUse% di una partizione righjunghji u 100%, ancu s'è quella partizione hà sempre assai spaziu nant'à u discu, ùn puderà più creà novi fugliali o logs.
Aghju suggeritu à u mo amicu di eseguisce questu prima, affinchì pudessi individuà se u prublema era cù l'Inode in un secondu , chì saria assai più veloce chè indovinà.
U secondu metudu hè di utilizà `find` per cuntà precisamente un utilizatore specificu.
Dopu avè cunfirmatu chì u prublema hè cù l'innode, u prossimu passu hè di scopre quale cunsuma eccessivamente a carta di l'indice.
HestiaCP hà un cartulare principale separatu per ogni utilizatore. Pudete simpricimenti cuntà u numeru tutale di fugliali è cartulari sottu à un cartulare specificu di u situ web.
find /home/用户名/web/你的域名/public_html | wc -lRimpiazzate "nome utilizatore" è "u vostru nome di duminiu" cù u vostru percorsu attuale. U numeru puru restituitu da u terminal hè a somma di tutti i fugliali è cartulari in quellu cartulare.
Ogni schedariu o cartulare currisponde à un inode, dunque questu numeru rapprisenta l'usu di l'inode.

Sè vo site troppu pigru per verificà ognunu individualmente è vulete vede a distribuzione di l'usu di tutti l'utilizatori in tuttu u situ in una volta, ci hè ancu un cumandamentu di ciclu unicu.
for d in /home/*; do echo -n "$d: "; find "$d" 2>/dev/null | wc -l; doneQuesta linea stamperà u numeru tutale di fugliali in ogni cartulare d'utilizatore sottu /home, rendendu faciule di individuà quale cartulare d'utilizatore hà un numeru anormalmente altu di fugliali.
A terza strategia hè di identificà i sottudirectori chì cunsumanu u più iodu.
Calchì volta sapete chì un situ web hà valori Inode ridiculamente alti, ma ùn pudete ancu capisce ciò chì hè sbagliatu cù u schermu pienu di fugliali.
In tali casi, avete bisognu di scavà un livellu più bassu per truvà sottocartelle chì cuntenenu un gran numeru di picculi fugliali, cum'è i cartulari di cache, i cartulari di sessione è i cartulari di log - queste sò e zone più problematiche.
find /home/用户名/web/你的域名/public_html -type d -exec sh -c 'echo -n "{}: "; find "{}" -maxdepth 1 | wc -l' \; | sort -n -r -k 2 | head -n 10Stu cumandamentu elencherà i primi 10 sottucartelle chì cunsumanu u più grande numeru di fugliali.
U percorsu in cima di a lista hè induve un gran numeru di picculi fugliali sò raggruppati inseme.
Aghju dettu à u mo amicu ch'ellu era probabilmente qualchì plugin di caching chì generava secretamente picculi fugliali, è eseguisce sta linea u cunfermerebbe basicamente.
U quartu cunsigliu hè di verificà u limite di quota cù repquota.
Sè u vostru servitore hà e quote di u sistema di fugliali Linux attivate, pudete guardà u prublema da una perspettiva diversa.
repquota -aStu cumandamentu tirerà u limite di fugliali è l'usu attuale di i fugliali per tutti l'utilizatori.
Fate attenzione à a sezzione Limiti di File in l'output; a colonna utilizata indica quanti file sò stati utilizati.
E colonne "soft" è "hard" rapprisentanu i limiti soft è hard. Una volta chì "used" ghjunghje à "hard", u sistema rifiuterà direttamente di creà novi fugliali.
Questa hè una storia cumpletamente diversa da quantu spaziu vi resta nant'à u vostru discu.
Per cunclude, culleghemu i punti di l'inchiesta.
Tornemu à l'amicu chì hà fattu cascà u servitore in piena notte à l'iniziu.
Hà seguitu i quattru passi chì aghju discrittu, cuminciendu cù `df -i` per cunfirmà chì l'inode era veramente pienu.
Dopu, aduprendu u metudu di ricerca, hè statu truvatu chì un cartulare di cache di un vechju situ web abbandunatu generava picculi fugliali cum'è pazzi.
Infine, a verificazione di `repquota` hà cunfirmatu ch'ellu avia effettivamente righjuntu u limite rigidu.
Dopu avè sbulicatu quellu mucchiu di cache spazzatura, u situ web hè tornatu subitu in vita.
Dunque, a prossima volta chì vi scuntrate cù sta strana situazione induve "u discu hà chjaramente spaziu ma ùn pudete micca scrive fugliali", ùn vi precipitate micca à aghjunghje un discu duru.
Prima, aduprate `df -i` per dà un'ochjata à l'inode; a verità puderia esse benissimo piattata in quella carta d'indice chì ùn avete mai nutatu prima.
Credu sinceramente chì sti picculi pezzi di sensu cumunu piattati in u core di u sistema sò più utili chè memorizà centu liste di ottimizazione.
Speremu chì l'articulu "Cumu verificà l'usu di l'inode in HestiaCP? U culpevule daretu à a dispunibilità di u spaziu di discu, ma l'incapacità di scrive i fugliali" spartutu nantu à u blog di Chen Weiliang ( https://www.chenweiliang.com/ ) vi serà utile.
Sentitevi liberi di sparte u ligame di questu articulu: https://www.chenweiliang.com/cwl-34619.html
