אַרטיקל וועגווייַזער
א פאר טעג צוריק, האט מיר א פריינט געשיקט א מעסעדזש שפעט ביינאכט אז זיין סערווער איז צוקראכט.
די ספעציפישע סימפּטאָמען זענען געווען באַזונדערס מאָדנע: די וועבזייטל האָט פּלוצעם אָנגעהויבן צו וואַרפן ערראָרס, לאָגס האָבן נישט געקענט געשריבן ווערן, און שאַפֿן נייע טעקעס האָט גלייך געמאָלדן אַז דער דיסק איז פול.
אבער ווען ער האט געקוקט מיט `df -h`, איז ער געווען שאקירט צו זען אז די דיסק האט קלאר געהאט צענדליקער גיגאבייטן פרייען פלאץ. ווי אזוי קען זי זיין פול?
איך האָב אים גלייך דעמאָלט און דאָרט געזאָגט, "ברודער, דו ביסט נישט נאָר פול מיט סטאָרידזש פּלאַץ, דיין ינאָד איז איבערגעלאָדן."
ער האט געענטפערט מיט א פראגע-צייכן: וואס פונקטליך איז אן אינאד?
טאַקע, רעאַגירן אַ סך מענטשן פּונקט אַזוי ווי ער ווען זיי זענען צום ערשטן מאָל אַרײַנגעפֿאַלן אין דעם פֿאַל, ווײַל קיינער אין שול האָט זיי קיינמאָל נישט געלערנט די זאַכן.
לאָמיר ערשט קלאָר מאַכן וואָס אַן Inode איז.
טראַכט דערפון ווי אַ ביבליאָטעק אינדעקס קאַרטל, און עס וועט זיין גרינג צו פֿאַרשטיין.
דיסק פּלאַץ איז ווי אַ ביכערשאַנק; וויפֿל ביכער איר קענט אַרײַנלייגן דערויף ווענדט זיך אין זײַן קאַפּאַציטעט, וואָס איז גרינג פֿאַר אַלעמען צו פֿאַרשטיין.
אַן אינאָד איז ווי אַן אינדעקס קאַרטל פֿאַר יעדן בוך, וואָס רעקאָרדירט זײַן נאָמען, אָרט, און ווער עס האָט עס אריבערגעפירט.
אין לינוקס , מוז יעדע טעקע און יעדע דירעקטארי פארנעמען אן אינאד, נישט קיין חילוק ווי קליין די טעקע איז.
אפילו אויב עס איז אַ ליידיקע טעקע, וועט די סיסטעם נאָך אַלץ קאָנסומירן אַן אינדעקס קאַרטל דערפֿאַר.
די סיסטעם האט א לימיט צו דער גאַנצער צאָל טעקעס וואָס זי קען שאַפֿן; די לימיט איז די גאַנצע צאָל אינאָודז.
אַמאָל די אינאָד איז אויסגענוצט, אפילו אויב דיין דיסק האט נאָך הונדערטער גיגאבייטן פון פרייען פּלאַץ, וועט די אָפּערייטינג סיסטעם אָפּזאָגן צו שאַפֿן קיין נייע טעקעס.
לאָגס קענען נישט געשריבן ווערן, קעש קען נישט באשאפן ווערן, און די וועבזייטל קראַשט אינגאנצן—דאָס איז די מאָדנע סצענע וואָס איר זעט.
ערלעך געזאָגט, דאָס איז אַ טאַקע שווערע סיטואַציע ווײַל די טעות־מעלדונג ווערט געשיקט פֿון אַ אָרט וואו איר קוקט נישט.
דער ערשטער טריק איז צו ניצן `df -i` צו באַקומען אַ שנעלן איבערבליק.
אין דער HestiaCP סביבה, קענט איר פשוט SSH אריין אין טערמינאל און טייפן די שורה.
df -iעס וועט אויסליסטן די גאַנצע צאָל ינאָודז, די צאָל געניצט, און די צאָל וואָס איז געבליבן פֿאַר יעדער מאָונטעד פּאַרטישאַן.
אין דער רעזולטאַט, איז דא א קאָלום גערופן IUse%, וואָס איז די שליסל מעטריק אויף וואָס איר זאָלט האַלטן אַן אויג.
אויב די IUse% פון א פארטיציע דערגרייכט 100%, אפילו אויב יענע פארטיציע האט נאך אסאך דיסק פלאץ, וועט זי מער נישט קענען שאפן קיין נייע טעקעס אדער לאגס.
איך האָב פֿאָרגעשלאָגן מײַן פֿרײַנד אַז ער זאָל דאָס ערשט לויפֿן, כּדי עס זאָל קענען באַשטימען צי די פּראָבלעם איז מיטן אינאָד אין אַ סעקונדע , וואָס וואָלט געווען פֿיל שנעלער ווי צו שאַצן.
די צווייטע מעטאָדע איז צו נוצן `find` צו פּינקטלעך ציילן אַ ספּעציפֿישן באַניצער.
נאכדעם וואס מען באשטעטיגט אז די פראבלעם איז מיטן אינאד, איז דער נעקסטער שריט צו אויסגעפינען ווער עס פארברויכט די אינדעקס קארטל איבערגעטריבן.
HestiaCP האט א באזונדערע היים דירעקטארי פאר יעדן באניצער. איר קענט פשוט ציילן די גאנצע צאל טעקעס און דירעקטאריעס אונטער א ספעציפישן וועבזייטל דירעקטארי.
find /home/用户名/web/你的域名/public_html | wc -lפארטרעט "באַניצער נאָמען" און "דיין דאָמעין נאָמען" מיט דיין פאַקטישן דרך. די ריינע נומער וואָס ווערט צוריקגעגעבן דורך דעם טערמינאַל איז די סומע פון אַלע טעקעס און טעקעס אין יענעם דירעקטאָרי.
יעדע טעקע אדער דירעקטארי קארעספאנדירט צו איין אינאד, ממילא רעפרעזענטירט די נומער די אינאד באניץ.

אויב איר זענט צו פויל צו קאָנטראָלירן יעדן איינעם באַזונדער און ווילט זען די באַניץ פאַרשפּרייטונג פון אַלע באַניצער איבער דער גאַנצער וועבזייטל אויף איין מאָל, איז אויך דאָ אַן איינציקער שלייף באַפֿעל.
for d in /home/*; do echo -n "$d: "; find "$d" 2>/dev/null | wc -l; doneדי שורה וועט דרוקן די גאַנצע צאָל טעקעס אין יעדן באַניצער דירעקטאָרי אונטער /home, מאַכנדיג עס גרינג צו זען וועלכע באַניצער דירעקטאָרי האט אַן אַבנאָרמאַלי הויך צאָל טעקעס.
די דריטע סטראַטעגיע איז צו ידענטיפיצירן די סובדירעקטאָריעס וואָס קאָנסומירן די מערסטע יאָד.
מאנchmal ווייסט איר אז א וועבזייטל האט גאר הויכע אינאד ווערטן, אבער איר קענט נאך אלץ נישט ארויסגעפינען וואס איז שלעכט מיטן עקראן פול מיט טעקעס.
אין אזעלכע פעלער, דארפט איר זיך אריינגראבן איין שטאפל אין די אונטערפאלדערס צו געפינען אונטערפאלדערס וואס אנטהאלטן א גרויסע צאל קליינע טעקעס, ווי למשל קעש דירעקטאריעס, סעסיע דירעקטאריעס, און לאג דירעקטאריעס—דאס זענען די מערסט פראבלעמאטישע געביטן.
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די באַפֿעל וועט ליסטן די שפּיץ 10 סובפאָלדערס וואָס פֿאַרנוצן די מערסטע טעקעס.
דער דרך ביים שפּיץ פֿון דער רשימה איז וואו אַ גרויסע צאָל קליינע טעקעס זענען צוזאַמענגעקלאַסטערט.
איך האָב געזאָגט מײַן פֿרײַנד אַז ס'איז מסתּמא עפּעס אַ קעשינג פּלאַגין וואָס געהיים דזשענערירט קליינע טעקעס, און לויפֿן די שורה וואָלט עס באַשטעטיגן.
דער פערטער עצצה איז צו קאָנטראָלירן די קוואָטע לימיט ניצנדיק רעפּקוואָטאַ.
אויב אייער סערווער האט לינוקס טעקע סיסטעם קוואָטעס ענייבאַלד, קענט איר קוקן אויף דעם פּראָבלעם פֿון אַן אַנדער פּערספּעקטיוו.
repquota -aדי באַפֿעל וועט ארויפציען די טעקע לימיט און די פאַקטישע טעקע נוצן פֿאַר אַלע באַניצער.
גיט גוט אכט אויף די "File Limits" סעקציע אין די רעזולטאטן; די "גענוצטע" קאלום ווייזט וויפיל טעקעס זענען גענוצט געווארן.
די "ווייכע" און "האַרטע" קאָלומס רעפּרעזענטירן די ווייכע און שווערע גרענעץ שוועלן. אַמאָל "גענוצטע" דערגרייכט "האַרטע", וועט די סיסטעם גלייך אָפּזאָגן צו שאַפֿן נייע טעקעס.
דאָס איז אַ גאָר אַנדערע מעשה ווי וויפֿל פּלאַץ איר האָט איבער אויף אייער דיסק.
צו פארענדיקן, לאָמיר פֿאַרבינדן די פּונקטן פֿון דער אויספֿאָרשונג.
לאָמיר צוריקגיין צום פרייַנד וואָס האָט קראַשט דעם סערווער אין מיטן נאַכט אין אָנהייב.
ער האָט נאָכגעפֿאָלגט די פֿיר טריט וואָס איך האָב באַשריבן, אָנהייבנדיק מיט `df -i` צו באַשטעטיקן אַז די inode איז טאַקע פֿול.
דערנאך, ניצנדיק "find", האבן מיר געפונען דעם קעש דירעקטארי פון אן פארלאזענער אלטער וועבזייטל וואס האט גענערירט קליינע טעקעס ווי משוגע.
צום סוף, טשעקן `repquota` האט באשטעטיקט אז עס האט טאקע דערגרייכט דעם שווערן לימיט.
נאכדעם וואס איך האב אויסגערייניגט יענעם הויפן פון מיסט קעש, איז די וועבזייטל גלייך צוריקגעקומען צום לעבן.
אַלזאָ דאָס נעקסטע מאָל ווען איר טרעפֿט זיך אויף די מאָדנע סיטואַציע, וואו "דער דיסק האָט קלאָר פּלאַץ אָבער איר קענט נישט שרײַבן טעקעס," זאָלט איר זיך נישט אײַלן צו לייגן צו אַ האַרט דרייוו.
ערשטנס, ניצט `df -i` צו קוקן אויף די inode; די אמת קען גאנץ גוט זיין באהאלטן אויף יענעם אינדעקס קארטל וואס איר האט קיינמאל פריער נישט באמערקט.
איך גלייב באמת אז די קליינע שטיקלעך געזונטן שכל וואס זענען באהאלטן אין צענטער פון דער סיסטעם זענען מער נוצלעך ווי אויסצולערנען הונדערט אפטימיזאציע ליסטעס.
האפענטלעך, דער ארטיקל "ווי אזוי צו קאנטראלירן אינאוד באניץ אין העסטיאקאפי? די שולדיקע הינטער דיסק פלאץ פאראן אבער נישט קענען שרייבן טעקעס" וואס איז געשערט געווארן אויף טשען ווייליאנג'ס בלאג ( https://www.chenweiliang.com/ ) וועט זיין נוצלעך פאר אייך.
פילט אייך פריי צו טיילן דעם לינק פון דעם ארטיקל: https://www.chenweiliang.com/cwl-34619.html
