Məqalələr kataloqu
Bir neçə gün əvvəl bir dostum gecə gec saatlarda mənə mesaj yazdı və serverinin sıradan çıxdığını dedi.
Xüsusi simptomlar xüsusilə qəribə idi: veb sayt qəfildən səhvlər göndərməyə başladı, qeydlər yazıla bilmədi və yeni fayllar yaratmaq dərhal diskin dolu olduğunu bildirəcəkdi.
Amma `df -h` ilə yoxladıqda, diskdə on giqabayt boş yer olduğunu görüb şoka düşdü. Disk necə dolu ola bilər?
Elə o anda ona dedim: "Qardaş, səndə sadəcə yaddaş yeri dolu deyil, həm də İnode-un həddindən artıq yüklənib."
O, sual işarəsi ilə cavab verdi: İnode nədir?
Əslində, bir çox insan bu tələyə ilk dəfə düşəndə onunla eyni reaksiyanı verir, çünki məktəbdə heç kim onlara bu şeyləri öyrətməyib.
Əvvəlcə İnodun nə olduğunu aydınlaşdıraq.
Bunu kitabxana indeks kartı kimi düşünün və başa düşmək asan olacaq.
Disk sahəsi kitab rəfi kimidir; ora nə qədər kitab yerləşdirə biləcəyiniz onun tutumundan asılıdır və bu, hər kəsin başa düşməsi üçün asandır.
Bir inode, hər bir kitab üçün adını, yerini və kimin köçürdüyünü qeyd edən bir indeks kartı kimidir.
Linux- da , faylın nə qədər kiçik olmasından asılı olmayaraq, hər bir fayl və hər bir qovluq bir inode tutmalıdır.
Boş bir fayl olsa belə, sistem yenə də onun üçün indeks kartından istifadə edəcək.
Sistemin yarada biləcəyi faylların ümumi sayına məhdudiyyəti var; bu məhdudiyyət innode-ların ümumi sayıdır.
İnode istifadə edildikdən sonra, diskinizdə yüzlərlə gigabayt boş yer olsa belə, əməliyyat sistemi yeni fayl yaratmaqdan imtina edəcək.
Jurnallar yazıla bilmir, keş yaradıla bilmir və veb sayt tamamilə sıradan çıxır — şahidi olduğunuz qəribə mənzərə budur.
Düzünü desəm, bu, həqiqətən çətin bir vəziyyətdir, çünki səhv mesajı baxmadığınız bir yerdən göndərilir.
İlk üsul, qısa bir baxış əldə etmək üçün `df -i` istifadə etməkdir.
HestiaCP mühitində , sadəcə terminala SSH göndərib bu sətri yaza bilərsiniz.
df -iHər bir quraşdırılmış bölmə üçün ümumi innode sayını, istifadə olunan sayını və qalan sayını sadalayacaq.
Çıxışda, diqqət yetirməli olduğunuz əsas metrik olan IUse% adlı bir sütun var.
Əgər bölmənin IUse%-i 100%-ə çatarsa, hətta həmin bölmədə hələ də kifayət qədər disk sahəsi olsa belə, artıq heç bir yeni fayl və ya qeyd yarada bilməyəcək.
Dostuma əvvəlcə bunu işə salmağı təklif etdim ki, problemin Inode-da olub-olmadığını bir saniyədə müəyyən edə bilsin , bu isə təxmin etməkdən daha sürətli olardı.
İkinci üsul, müəyyən bir istifadəçini dəqiq saymaq üçün 'find' funksiyasından istifadə etməkdir.
Problemin innode ilə əlaqəli olduğunu təsdiqlədikdən sonra növbəti addım indeks kartını kimin həddindən artıq istehlak etdiyini tapmaqdır.
HestiaCP-nin hər bir istifadəçi üçün ayrıca bir ev qovluğu var. Müəyyən bir veb sayt qovluğundakı faylların və qovluqların ümumi sayını sadəcə saya bilərsiniz.
find /home/用户名/web/你的域名/public_html | wc -l"İstifadəçi adı" və "domen adınız" sözlərini faktiki yolunuzla əvəz edin. Terminal tərəfindən qaytarılan təmiz ədəd həmin qovluqdakı bütün fayl və qovluqların cəmidir.
Hər bir fayl və ya qovluq bir inoda uyğundur, buna görə də bu rəqəm inodun istifadəsini təmsil edir.

Əgər hər birini ayrıca yoxlamaq üçün çox tənbəlsinizsə və bütün saytdakı bütün istifadəçilərin istifadə paylanmasını eyni anda görmək istəyirsinizsə, həmçinin bir döngə əmri də var.
for d in /home/*; do echo -n "$d: "; find "$d" 2>/dev/null | wc -l; doneBu sətir hər bir istifadəçi qovluğundakı faylların ümumi sayını /home altında çap edəcək və bu da hansı istifadəçi qovluğunda qeyri-adi dərəcədə çox sayda faylın olduğunu müəyyən etməyi asanlaşdıracaq.
Üçüncü strategiya ən çox yod istehlak edən alt qovluqları müəyyən etməkdir.
Bəzən bir veb saytın inanılmaz dərəcədə yüksək Inode dəyərlərinə sahib olduğunu bilirsiniz, amma yenə də ekranın fayllarla dolu olmasında nəyin səhv olduğunu anlaya bilmirsiniz.
Belə hallarda, keş qovluqları, sessiya qovluqları və jurnal qovluqları kimi çox sayda kiçik fayl ehtiva edən alt qovluqları tapmaq üçün bir səviyyə aşağıya doğru qazmalısınız — bunlar ən problemli sahələrdir.
find /home/用户名/web/你的域名/public_html -type d -exec sh -c 'echo -n "{}: "; find "{}" -maxdepth 1 | wc -l' \; | sort -n -r -k 2 | head -n 10Bu əmr ən çox faylı istifadə edən ilk 10 alt qovluğu sadalayacaq.
Siyahının ən yuxarısındakı yol çox sayda kiçik faylın bir yerə toplandığı yerdir.
Dostuma dedim ki, bu, yəqin ki, gizli şəkildə kiçik faylları yaradan hansısa keşləmə plaginidir və bu sətri işə salmaq bunu təsdiqləyəcək.
Dördüncü məsləhət, repquota istifadə edərək kvota limitini yoxlamaqdır.
Əgər serverinizdə Linux fayl sistemi kvotaları aktivdirsə, problemə fərqli bir perspektivdən baxa bilərsiniz.
repquota -aBu əmr bütün istifadəçilər üçün fayl limitini və faktiki fayl istifadəsini artıracaq.
Çıxışdakı Fayl Limitləri bölməsinə diqqət yetirin; istifadə olunmuş sütun neçə faylın istifadə olunduğunu göstərir.
"Yumşaq" və "sərt" sütunları yumşaq və sərt limit hədlərini təmsil edir. "İstifadə" "sərt" səviyyəsinə çatdıqdan sonra sistem birbaşa yeni fayllar yaratmaqdan imtina edəcək.
Bu, diskinizdə nə qədər yer saxladığınızdan tamamilə fərqli bir hekayədir.
Nəticə olaraq, istintaqın məqamlarını birləşdirək.
Gəlin gecənin əvvəlində serveri sıradan çıxaran dosta qayıdaq.
O, inodun həqiqətən dolu olduğunu təsdiqləmək üçün təsvir etdiyim dörd addımı izlədi, `df -i` ilə başlayaraq.
Daha sonra, find əmrindən istifadə edərək, kiçik fayllar yaradan tərk edilmiş köhnə bir veb saytın önbellek qovluğunu tapdıq.
Nəhayət, "repquota" yoxlanılması onun həqiqətən də sərt həddə çatdığını təsdiqlədi.
Həmin zibil yığınını təmizlədikdən sonra veb sayt dərhal canlandı.
Beləliklə, növbəti dəfə "diskdə boş yer var, amma faylları yaza bilmirsiniz" kimi qəribə bir vəziyyətlə qarşılaşdığınız zaman sərt disk əlavə etməyə tələsməyin.
Əvvəlcə inoda baxmaq üçün `df -i` istifadə edin; həqiqət, əvvəllər heç görmədiyiniz indeks kartında gizlənmiş ola bilər.
Mən həqiqətən inanıram ki, sistemin özəyində gizlənmiş bu kiçik sağlam düşüncə hissələri yüzlərlə optimallaşdırma siyahısını əzbərləməkdən daha faydalıdır.
Ümid edirik ki, Chen Weiliang-ın bloqunda ( https://www.chenweiliang.com/ ) paylaşılan "HestiaCP-də Inode istifadəsini necə yoxlamaq olar? Disk sahəsinin mövcudluğu, lakin fayl yaza bilməməsi səbəbi" məqaləsi sizə faydalı olacaq.
Bu məqalənin linkini paylaşmaqdan çəkinməyin: https://www.chenweiliang.com/cwl-34619.html
