Cyfeiriadur Erthygl
Ychydig ddiwrnodau yn ôl, anfonodd ffrind neges ataf yn hwyr yn y nos yn dweud bod ei weinydd wedi chwalu.
Roedd y symptomau penodol yn arbennig o rhyfedd: dechreuodd y wefan daflu gwallau yn sydyn, ni ellid ysgrifennu logiau, a byddai creu ffeiliau newydd yn rhoi gwybod ar unwaith bod y ddisg yn llawn.
Ond pan wiriodd gyda `df -h`, cafodd sioc o ddarganfod bod gan y ddisg ddegau o gigabytes o le gwag yn amlwg. Sut allai fod yn llawn?
Dywedais wrtho ar y pryd ac yno, "Brawd, nid yn unig wyt ti'n llawn lle storio, mae dy Inode wedi'i orlwytho."
Atebodd gyda marc cwestiwn: Beth yn union yw Inode?
Mewn gwirionedd, mae llawer o bobl yn ymateb yn union yr un ffordd ag y gwnaeth ef pan syrthiasant i'r fagl hon gyntaf, oherwydd ni ddysgodd neb yn yr ysgol y pethau hyn iddynt erioed.
Gadewch i ni egluro beth yw Inode yn gyntaf.
Meddyliwch amdano fel cerdyn mynegai llyfrgell, a bydd yn hawdd ei ddeall.
Mae lle disg fel silff lyfrau; mae faint o lyfrau y gallwch chi eu rhoi arno yn dibynnu ar ei gapasiti, sy'n hawdd i bawb ei ddeall.
Mae inode fel cerdyn mynegai ar gyfer pob llyfr, gan gofnodi ei enw, ei leoliad, a phwy a'i symudodd.
Yn Linux , rhaid i bob ffeil a phob cyfeiriadur feddiannu inode, ni waeth pa mor fach yw'r ffeil.
Hyd yn oed os yw'n ffeil wag, bydd y system yn dal i ddefnyddio cerdyn mynegai ar ei chyfer.
Mae gan y system derfyn ar gyfanswm y ffeiliau y gall eu creu; y terfyn hwn yw cyfanswm y nifer o fewnodau.
Unwaith y bydd yr inode wedi'i ddefnyddio i gyd, hyd yn oed os oes gan eich disg gannoedd o gigabytes o le rhydd o hyd, bydd y system weithredu yn gwrthod creu unrhyw ffeiliau newydd.
Ni ellir ysgrifennu logiau, ni ellir creu storfa, ac mae'r wefan yn chwalu'n llwyr—dyna'r olygfa ryfedd rydych chi'n ei gweld.
A dweud y gwir, mae hon yn sefyllfa anodd iawn oherwydd bod y neges gwall yn cael ei hanfon o leoliad nad ydych chi'n edrych arno.
Y tric cyntaf yw defnyddio `df -i` i gael trosolwg cyflawn.
Yn amgylchedd HestiaCP , gallwch chi SSH i'r derfynell a theipio'r llinell hon.
df -iBydd yn rhestru cyfanswm y mewnodau, y nifer a ddefnyddiwyd, a'r nifer sy'n weddill ar gyfer pob rhaniad wedi'i osod.
Yn yr allbwn, mae colofn o'r enw IUse%, sef y metrig allweddol y dylech gadw llygad arno.
Os yw IUse% rhaniad yn cyrraedd 100%, hyd yn oed os oes gan y rhaniad hwnnw ddigon o le ar y ddisg o hyd, ni fydd yn gallu creu unrhyw ffeiliau na logiau newydd mwyach.
Awgrymais i fy ffrind y dylai redeg hwn yn gyntaf, fel y gallai nodi a oedd y broblem gyda'r Inode mewn eiliad , a fyddai'n llawer cyflymach na dyfalu.
Yr ail ddull yw defnyddio `find` i gyfrif defnyddiwr penodol yn fanwl gywir.
Ar ôl cadarnhau bod y broblem gyda'r innode, y cam nesaf yw darganfod pwy sy'n defnyddio'r cerdyn mynegai yn ormodol.
Mae gan HestiaCP gyfeiriadur cartref ar wahân ar gyfer pob defnyddiwr. Gallwch chi gyfrif cyfanswm y ffeiliau a'r cyfeiriaduron o dan gyfeiriadur gwefan penodol yn syml.
find /home/用户名/web/你的域名/public_html | wc -lAmnewidiwch "enw defnyddiwr" ac "eich enw parth" gyda'ch llwybr gwirioneddol. Y rhif pur a ddychwelir gan y derfynell yw swm yr holl ffeiliau a ffolderi yn y cyfeiriadur hwnnw.
Mae pob ffeil neu gyfeiriadur yn cyfateb i un inode, felly mae'r rhif hwn yn cynrychioli'r defnydd o'r inode.

Os ydych chi'n rhy ddiog i wirio pob un yn unigol ac eisiau gweld dosbarthiad defnydd yr holl ddefnyddwyr ar draws y wefan gyfan ar unwaith, mae gorchymyn dolen hefyd.
for d in /home/*; do echo -n "$d: "; find "$d" 2>/dev/null | wc -l; doneBydd y llinell hon yn argraffu cyfanswm y ffeiliau ym mhob cyfeiriadur defnyddiwr o dan /home, gan ei gwneud hi'n hawdd gweld pa gyfeiriadur defnyddiwr sydd â nifer anarferol o uchel o ffeiliau.
Y drydedd strategaeth yw nodi'r is-gyfeiriaduron sy'n defnyddio'r mwyaf o ïodin.
Weithiau rydych chi'n gwybod bod gan wefan werthoedd Inode uchel iawn, ond rydych chi'n dal ddim yn gallu darganfod beth sy'n bod ar y sgrin yn llawn ffeiliau.
Mewn achosion o'r fath, mae angen i chi ddrilio i lawr un lefel i ddod o hyd i is-ffolderi sy'n cynnwys nifer fawr o ffeiliau bach, fel cyfeiriaduron storfa, cyfeiriaduron sesiwn, a chyfeiriaduron log—dyma'r meysydd mwyaf problemus.
find /home/用户名/web/你的域名/public_html -type d -exec sh -c 'echo -n "{}: "; find "{}" -maxdepth 1 | wc -l' \; | sort -n -r -k 2 | head -n 10Bydd y gorchymyn hwn yn rhestru'r 10 is-ffolder gorau sy'n defnyddio'r nifer fwyaf o ffeiliau.
Y llwybr ar frig y rhestr yw lle mae nifer fawr o ffeiliau bach wedi'u clystyru gyda'i gilydd.
Dywedais wrth fy ffrind ei fod yn debyg o fod yn ategyn storio ffeiliau bach yn gyfrinachol, a byddai rhedeg y llinell hon yn ei gadarnhau yn y bôn.
Y pedwerydd awgrym yw gwirio'r terfyn cwota gan ddefnyddio repquota.
Os oes cwotâu system ffeiliau Linux wedi'u galluogi ar eich gweinydd, gallwch edrych ar y broblem o safbwynt gwahanol.
repquota -aBydd y gorchymyn hwn yn dangos y terfyn ffeiliau a'r defnydd ffeiliau gwirioneddol ar gyfer pob defnyddiwr.
Rhowch sylw manwl i'r adran Terfynau Ffeiliau yn yr allbwn; mae'r golofn a ddefnyddiwyd yn nodi faint o ffeiliau sydd wedi'u defnyddio.
Mae'r colofnau "meddal" a "chaled" yn cynrychioli'r trothwyon terfyn meddal a chaled. Unwaith y bydd "defnyddiwyd" yn cyrraedd "caled", bydd y system yn gwrthod creu ffeiliau newydd yn uniongyrchol.
Mae hon yn stori hollol wahanol i faint o le sydd gennych ar ôl ar eich disg.
I gloi pethau, gadewch i ni gysylltu dotiau'r ymchwiliad.
Gadewch i ni fynd yn ôl at y ffrind a wnaeth chwalu'r gweinydd yng nghanol y nos ar y dechrau.
Dilynodd y pedwar cam a ddisgrifiais, gan ddechrau gyda `df -i` i gadarnhau bod yr inode yn llawn mewn gwirionedd.
Yna, gan ddefnyddio find, fe wnaethon ni leoli cyfeiriadur storfa hen wefan wag a oedd yn cynhyrchu ffeiliau bach fel wallgof.
Yn olaf, cadarnhaodd gwirio `repquota` ei fod wedi cyrraedd y terfyn caled mewn gwirionedd.
Ar ôl clirio'r pentwr hwnnw o storfa sothach, daeth y wefan yn ôl yn fyw ar unwaith.
Felly'r tro nesaf y byddwch chi'n dod ar draws y sefyllfa ryfedd hon lle mae "lle ar y ddisg yn amlwg ond ni allwch chi ysgrifennu ffeiliau," peidiwch â rhuthro i ychwanegu gyriant caled.
Yn gyntaf, defnyddiwch `df -i` i edrych ar yr inode; mae'n bosibl iawn bod y gwir wedi'i guddio ar y cerdyn mynegai hwnnw nad ydych erioed wedi sylwi arno o'r blaen.
Rwy'n credu'n wirioneddol fod y darnau bach hyn o synnwyr cyffredin sydd wedi'u cuddio yng nghraidd y system yn fwy defnyddiol na chofio cant o restrau optimeiddio.
Gobeithio y bydd yr erthygl "Sut i wirio defnydd Inode yn HestiaCP? Y troseddwr y tu ôl i argaeledd lle ar y ddisg ond anallu i ysgrifennu ffeiliau" a rennir ar flog Chen Weiliang ( https://www.chenweiliang.com/ ) o gymorth i chi.
Mae croeso i chi rannu'r ddolen erthygl hon: https://www.chenweiliang.com/cwl-34619.html
