Artikola Adresaro
Antaŭ kelkaj tagoj, amiko mesaĝis min malfrue nokte dirante, ke lia servilo kraŝis.
La specifaj simptomoj estis aparte strangaj: la retejo subite komencis ĵeti erarojn, protokoloj ne povus esti skribitaj, kaj kreado de novaj dosieroj tuj indikus, ke la disko estas plena.
Sed kiam li kontrolis per `df -h`, li ŝokiĝis trovante, ke la disko klare havis dekojn da gigabajtoj da libera spaco. Kiel ĝi povus esti plena?
Mi diris al li tuj tiam, "Frato, vi ne nur estas plena de stokadospaco, via Inode estas troŝarĝita."
Li respondis per demandosigno: Kio precize estas Inodo?
Fakte, multaj homoj reagas precize same kiel li, kiam ili unue falis en ĉi tiun kaptilon, ĉar neniu en la lernejo iam instruis al ili ĉi tiujn aferojn.
Ni unue klarigu, kio estas Inodo.
Pensu pri ĝi kiel biblioteka slipo, kaj ĝi estos facile komprenebla.
Diskospaco estas kiel librobreto; kiom da libroj vi povas meti sur ĝin dependas de ĝia kapacito, kion ĉiu povas facile kompreni.
Inodo estas kiel slipo por ĉiu libro, registrante ĝian nomon, lokon, kaj kiu movis ĝin.
En Linukso , ĉiu dosiero kaj ĉiu dosierujo devas okupi inodon, kiom ajn malgranda la dosiero estas.
Eĉ se ĝi estas malplena dosiero, la sistemo ankoraŭ konsumos slipon por ĝi.
La sistemo havas limon al la tuta nombro da dosieroj, kiujn ĝi povas krei; tiu limo estas la tuta nombro da ennodoj.
Post kiam la inodo estas eluzita, eĉ se via disko ankoraŭ havas centojn da gigabajtoj da libera spaco, la operaciumo rifuzos krei iujn ajn novajn dosierojn.
Protokolojn oni ne povas skribi, kaŝmemoron oni ne povas krei, kaj la retejo tute kraŝas — jen la bizara sceno, kiun vi vidas.
Honeste, ĉi tio estas vere malfacila situacio ĉar la erarmesaĝo estas sendita de loko, kiun vi ne rigardas.
La unua truko estas uzi `df -i` por ricevi rapidan superrigardon.
En la HestiaCP- medio, vi povas simple SSH-eniri la terminalon kaj tajpi ĉi tiun linion.
df -iĜi listigos la tutan nombron de ennodoj, la uzatajn nombrojn, kaj la restantan nombron por ĉiu muntita subdisko.
En la eligo estas kolumno nomata IUse%, kiu estas la ŝlosila metriko, kiun vi devus atenti.
Se la IUse% de subdisko atingas 100%, eĉ se tiu subdisko ankoraŭ havas multe da diskspaco, ĝi jam ne povos krei novajn dosierojn aŭ protokolojn.
Mi sugestis al mia amiko, ke li unue lanĉu ĉi tion, por ke ĝi povu post sekundo indiki ĉu la problemo estis ĉe la Inode , kio estus multe pli rapida ol divenado.
La dua metodo estas uzi `find` por precize kalkuli specifan uzanton.
Post konfirmo, ke la problemo estas ĉe la nodo, la sekva paŝo estas ekscii, kiu troe konsumas la indekskarton.
HestiaCP havas apartan hejman dosierujon por ĉiu uzanto. Vi povas simple kalkuli la tutan nombron de dosieroj kaj dosierujoj sub specifa reteja dosierujo.
find /home/用户名/web/你的域名/public_html | wc -lAnstataŭigu "uzantnomo" kaj "via domajna nomo" per via efektiva vojo. La pura nombro redonita de la terminalo estas la sumo de ĉiuj dosieroj kaj dosierujoj en tiu dosierujo.
Ĉiu dosiero aŭ dosierujo respondas al unu inodo, do ĉi tiu nombro reprezentas la uzadon de la inodo.

Se vi estas tro mallaborema por kontroli ĉiun individue kaj volas vidi la uzadon de ĉiuj uzantoj tra la tuta retejo samtempe, ekzistas ankaŭ unuopa bukla komando.
for d in /home/*; do echo -n "$d: "; find "$d" 2>/dev/null | wc -l; doneĈi tiu linio presos la tutan nombron da dosieroj en ĉiu uzanta dosierujo sub /home, faciligante trovi kiu uzanta dosierujo havas nenormale altan nombron da dosieroj.
La tria strategio estas identigi la subdosierujojn, kiuj konsumas la plej multe da jodo.
Iafoje vi scias, ke retejo havas ridinde altajn Inode-valorojn, sed vi ankoraŭ ne povas kompreni, kio estas malĝusta kun la ekrano plena de dosieroj.
En tiaj kazoj, vi bezonas esplori unu nivelon por trovi subdosierujojn, kiuj enhavas grandan nombron da malgrandaj dosieroj, kiel ekzemple kaŝmemordosierujoj, seancadresujoj kaj protokoldosierujoj — jen la plej problemaj areoj.
find /home/用户名/web/你的域名/public_html -type d -exec sh -c 'echo -n "{}: "; find "{}" -maxdepth 1 | wc -l' \; | sort -n -r -k 2 | head -n 10Ĉi tiu komando listigos la 10 plej multajn subdosierujojn, kiuj konsumas la plej multajn dosierojn.
La pado ĉe la supro de la listo estas kie granda nombro da malgrandaj dosieroj estas grupigitaj kune.
Mi diris al mia amiko, ke verŝajne temas pri iu kaŝmemora kromaĵo sekrete generanta malgrandajn dosierojn, kaj la lanĉo de ĉi tiu linio esence konfirmus tion.
La kvara konsilo estas kontroli la kvotolimon per repquota.
Se via servilo ebligis kvotojn por la dosiersistemo de Linukso, vi povas rigardi la problemon el alia perspektivo.
repquota -aĈi tiu komando montros la dosierlimon kaj la faktan dosieran uzadon por ĉiuj uzantoj.
Atentu la sekcion "Dosieraj Limoj" en la rezulto; la kolumno "uzitaj" indikas kiom da dosieroj estis uzitaj.
La kolumnoj "mola" kaj "malmola" reprezentas la molajn kaj malmolajn limojn. Kiam "uzita" atingas "malmolan", la sistemo rekte rifuzos krei novajn dosierojn.
Ĉi tio estas tute alia rakonto ol kiom da spaco restas al vi sur via disko.
Por fini, ni kunligu la punktojn de la esploro.
Ni revenu al la amiko, kiu kraŝigis la servilon meze de la nokto komence.
Li sekvis la kvar paŝojn, kiujn mi priskribis, komencante per `df -i` por konfirmi, ke la inodo efektive estis plena.
Poste, uzante la funkcion "find", ni trovis la kaŝmemoran dosierujon de forlasita malnova retejo, kiu generis malgrandajn dosierojn kiel frenezulo.
Fine, kontrolo de `repquota` konfirmis, ke ĝi efektive atingis la striktan limon.
Post malplenigo de tiu amaso da ruba kaŝmemoro, la retejo tuj reviviĝis.
Do la venontan fojon, kiam vi renkontos ĉi tiun strangan situacion, kie "la disko klare havas spacon, sed vi ne povas skribi dosierojn", ne rapidu aldoni diskon.
Unue, uzu `df -i` por rigardi la inodon; la vero tre bone povas esti kaŝita sur tiu slipo, kiun vi neniam antaŭe rimarkis.
Mi sincere kredas, ke ĉi tiuj etaj pecetoj da ordinara racio kaŝitaj en la kerno de la sistemo estas pli utilaj ol parkerigi cent optimumigajn listojn.
Espereble, la artikolo "Kiel kontroli la uzadon de inodoj en HestiaCP? La kulpulo malantaŭ la havebleco de diskspaco sed la nekapablo skribi dosierojn" dividita en la blogo de Chen Weiliang ( https://www.chenweiliang.com/ ) estos helpema al vi.
Bonvolu kunhavigi la ligilon al ĉi tiu artikolo: https://www.chenweiliang.com/cwl-34619.html
