Saraka ya Nakala
Siku chache zilizopita, rafiki yangu alinitumia ujumbe usiku sana akisema kwamba seva yake imeanguka.
Dalili mahususi zilikuwa za ajabu sana: tovuti ilianza ghafla kutupa hitilafu, kumbukumbu hazikuweza kuandikwa, na kuunda faili mpya kungesababisha mara moja kwamba diski ilikuwa imejaa.
Lakini alipoangalia na `df -h`, alishtuka kugundua kuwa diski hiyo ilikuwa na nafasi nyingi za gigabaiti. Ingewezaje kujaa?
Nilimwambia mara moja, "Ndugu, hujaa tu nafasi ya kuhifadhi, Inode yako imejaa kupita kiasi."
Alijibu kwa alama ya kuuliza: Inodi ni nini hasa?
Kwa kweli, watu wengi huitikia vivyo hivyo alivyofanya walipoanguka katika mtego huu kwa mara ya kwanza, kwa sababu hakuna mtu shuleni aliyewahi kuwafundisha mambo haya.
Hebu tufafanue Inode ni nini kwanza.
Fikiria kama kadi ya faharasa ya maktaba, na itakuwa rahisi kueleweka.
Nafasi ya diski ni kama rafu ya vitabu; ni vitabu vingapi unavyoweza kuweka juu yake inategemea uwezo wake, jambo ambalo ni rahisi kwa kila mtu kuelewa.
Inodi ni kama kadi ya faharasa kwa kila kitabu, ikirekodi jina lake, eneo lake, na ni nani aliyekihamisha.
Katika Linux , kila faili na kila saraka lazima iwe na msimbo wa ingizo, bila kujali faili ni ndogo kiasi gani.
Hata kama ni faili tupu, mfumo bado utatumia kadi ya faharasa kwa ajili yake.
Mfumo una kikomo cha jumla ya idadi ya faili unazoweza kuunda; kikomo hiki ni jumla ya idadi ya nodi.
Mara tu ingizo litakapotumika, hata kama diski yako bado ina mamia ya gigabaiti za nafasi huru, mfumo endeshi utakataa kuunda faili zozote mpya.
Kumbukumbu haziwezi kuandikwa, hifadhi ya data haiwezi kuundwa, na tovuti inaanguka kabisa—hiyo ndiyo mandhari ya ajabu unayoshuhudia.
Kwa kweli, hii ni hali ngumu sana kwa sababu ujumbe wa hitilafu hutumwa kutoka eneo ambalo hulitazami.
Ujanja wa kwanza ni kutumia `df -i` ili kupata muhtasari kamili.
Katika mazingira ya HestiaCP , unaweza kuingiza SSH kwenye terminal na kuandika mstari huu.
df -iItaorodhesha jumla ya nodi, nambari iliyotumika, na nambari iliyobaki kwa kila kizigeu kilichowekwa.
Katika matokeo, kuna safu wima inayoitwa IUse%, ambayo ni kipimo muhimu unachopaswa kuzingatia.
Ikiwa IUse% ya kizigeu itafikia 100%, hata kama kizigeu hicho bado kina nafasi kubwa ya diski, hakitaweza tena kuunda faili au kumbukumbu mpya.
Nilimpendekeza rafiki yangu kwamba aanze hili kwanza, ili liweze kubaini kama tatizo lilikuwa na Inode katika sekunde moja , ambayo ingekuwa haraka zaidi kuliko kubahatisha.
Njia ya pili ni kutumia `kupata` kuhesabu mtumiaji maalum kwa usahihi.
Baada ya kuthibitisha kwamba tatizo liko kwenye nodi, hatua inayofuata ni kujua ni nani anayetumia kadi ya faharisi kupita kiasi.
HestiaCP ina saraka tofauti ya nyumbani kwa kila mtumiaji. Unaweza kuhesabu tu jumla ya idadi ya faili na saraka chini ya saraka maalum ya tovuti.
find /home/用户名/web/你的域名/public_html | wc -lBadilisha "jina la mtumiaji" na "jina la kikoa chako" na njia yako halisi. Nambari halisi inayorejeshwa na kituo ni jumla ya faili na folda zote kwenye saraka hiyo.
Kila faili au saraka inalingana na ingizo moja, kwa hivyo nambari hii inawakilisha matumizi ya ingizo.

Ikiwa wewe ni mvivu sana kuangalia kila moja kivyake na unataka kuona usambazaji wa matumizi ya watumiaji wote katika tovuti nzima kwa wakati mmoja, pia kuna amri moja ya kitanzi.
for d in /home/*; do echo -n "$d: "; find "$d" 2>/dev/null | wc -l; doneMstari huu utachapisha jumla ya idadi ya faili katika kila saraka ya mtumiaji chini ya /home, na kuifanya iwe rahisi kutambua ni saraka gani ya mtumiaji yenye idadi kubwa ya faili isiyo ya kawaida.
Mkakati wa tatu ni kutambua saraka ndogo zinazotumia iodini nyingi zaidi.
Wakati mwingine unajua tovuti ina thamani za Inode za juu sana, lakini bado huwezi kujua tatizo ni nini na skrini iliyojaa faili.
Katika hali kama hizo, unahitaji kuchimba ngazi moja ili kupata folda ndogo zenye idadi kubwa ya faili ndogo, kama vile saraka za kashe, saraka za vipindi, na saraka za kumbukumbu—haya ndiyo maeneo yenye matatizo zaidi.
find /home/用户名/web/你的域名/public_html -type d -exec sh -c 'echo -n "{}: "; find "{}" -maxdepth 1 | wc -l' \; | sort -n -r -k 2 | head -n 10Amri hii itaorodhesha folda ndogo 10 bora zinazotumia faili nyingi zaidi.
Njia iliyo juu kabisa ya orodha ni pale ambapo idadi kubwa ya faili ndogo huunganishwa pamoja.
Nilimwambia rafiki yangu kwamba labda ilikuwa programu-jalizi ya kuhifadhi data kwa siri ikizalisha faili ndogo, na kuendesha mstari huu kimsingi kungethibitisha hilo.
Ushauri wa nne ni kuangalia kikomo cha mgawo kwa kutumia repquota.
Ikiwa seva yako imewasha upendeleo wa mfumo wa faili wa Linux, unaweza kuangalia tatizo kutoka kwa mtazamo tofauti.
repquota -aAmri hii itaongeza kikomo cha faili na matumizi halisi ya faili kwa watumiaji wote.
Zingatia kwa makini sehemu ya Mipaka ya Faili katika matokeo; safu wima iliyotumika inaonyesha ni faili ngapi zimetumika.
Safu wima "laini" na "ngumu" zinawakilisha vizingiti laini na vizingiti. Mara tu "zinapotumika" zinapofikia "ngumu", mfumo utakataa moja kwa moja kuunda faili mpya.
Hii ni hadithi tofauti kabisa na nafasi uliyobaki nayo kwenye diski yako.
Ili kuhitimisha mambo, hebu tuunganishe nukta za uchunguzi.
Turudi kwa rafiki aliyegonga seva katikati ya usiku mwanzoni.
Alifuata hatua nne nilizoelezea, akianza na `df -i` ili kuthibitisha kwamba ingizo lilikuwa limejaa kweli.
Kisha, kwa kutumia find, tulipata saraka ya kashe ya tovuti ya zamani iliyoachwa ambayo ilikuwa ikizalisha faili ndogo kama za kichaa.
Hatimaye, kuangalia `repquota` kulithibitisha kwamba ilikuwa imefikia kikomo kigumu.
Baada ya kuondoa rundo hilo la taka, tovuti hiyo ilifufuka mara moja.
Kwa hivyo wakati mwingine utakapokutana na hali hii ya ajabu ambapo "diski ina nafasi lakini huwezi kuandika faili," usikimbilie kuongeza diski kuu.
Kwanza, tumia `df -i` kuangalia ingizo; ukweli unaweza kuwa umefichwa kwenye kadi hiyo ya faharasa ambayo hujawahi kuiona hapo awali.
Ninaamini kwa dhati kwamba vipande hivi vidogo vya akili ya kawaida vilivyofichwa kwenye kiini cha mfumo ni muhimu zaidi kuliko kukariri orodha mia moja za uboreshaji.
Tunatumaini, makala "Jinsi ya kuangalia matumizi ya Inode katika HestiaCP? Kisababishi cha upatikanaji wa nafasi ya diski lakini kutoweza kuandika faili" yaliyoshirikiwa kwenye blogu ya Chen Weiliang ( https://www.chenweiliang.com/ ) yatakuwa na manufaa kwako.
Jisikie huru kushiriki kiungo cha makala haya: https://www.chenweiliang.com/cwl-34619.html
