HestiaCP da inode ishlatilishini qanday tekshiraman? Diskda joy yetarli bo'lsa ham fayllarni yoza olmaslikning sababi nimada?

Bir necha kun oldin, bir do'stim menga kechqurun serveri ishdan chiqqani haqida xabar yubordi.

Muayyan alomatlar ayniqsa g'alati edi: veb-sayt to'satdan xatoliklarni yubora boshladi, jurnallarni yozib bo'lmadi va yangi fayllarni yaratish darhol disk to'lganligini ko'rsatardi.

Lekin u "df -h" bilan tekshirganida, diskda o'nlab gigabayt bo'sh joy borligini aniqlab hayratda qoldi. Qanday qilib u to'la bo'lishi mumkin?

Men unga o'sha zahotiyoq: "Birodar, sizda shunchaki xotira joyi to'la emas, balki Inode'ingiz ham haddan tashqari ko'p", dedim.

U savol belgisi bilan javob berdi: Inode nima o'zi?

Darhaqiqat, ko'p odamlar bu tuzoqqa birinchi marta tushganlarida u bilan bir xil munosabatda bo'lishadi, chunki maktabda hech kim ularga bu narsalarni o'rgatmagan.

Avval Inode nima ekanligini aniqlab olaylik.

Buni kutubxona indeks kartasi deb tasavvur qiling, shunda tushunish oson bo'ladi.

Disk maydoni kitob javoniga o'xshaydi; unga nechta kitob qo'yishingiz mumkinligi uning sig'imiga bog'liq bo'lib, buni hamma tushunishi oson.

Inode har bir kitob uchun indeks kartasiga o'xshaydi, unda uning nomi, joylashuvi va kim tomonidan ko'chirilganligi qayd etiladi.

Linuxda , fayl qanchalik kichik bo'lishidan qat'i nazar, har bir fayl va har bir katalog inode egallashi kerak.

Bo'sh fayl bo'lsa ham, tizim baribir indeks kartasini ishlatadi.

Tizim yaratishi mumkin bo'lgan fayllarning umumiy soniga cheklov qo'ygan; bu cheklov innodlarning umumiy sonidir.

Inode ishlatilgandan so'ng, diskingizda hali ham yuzlab gigabayt bo'sh joy bo'lsa ham, operatsion tizim yangi fayllar yaratishdan bosh tortadi.

Jurnallarni yozib bo'lmaydi, keshni yaratib bo'lmaydi va veb-sayt butunlay ishdan chiqadi — bu siz guvohi bo'lgan g'alati manzara.

Rostini aytsam, bu juda qiyin vaziyat, chunki xato xabari siz ko'rmaydigan joydan yuboriladi.

Birinchi hiyla - qisqacha ma'lumot olish uchun `df -i` dan foydalanish.

HestiaCP muhitida siz shunchaki terminalga SSH orqali kirib, ushbu qatorni yozishingiz mumkin.

df -i

Unda har bir o'rnatilgan bo'lim uchun innodlarning umumiy soni, ishlatilgan son va qolgan son ko'rsatiladi.

Chiqishda IUse% deb nomlangan ustun mavjud bo'lib, u siz diqqat bilan kuzatib borishingiz kerak bo'lgan asosiy ko'rsatkichdir.

Agar bo'limning IUse% qiymati 100% ga yetsa, hatto o'sha bo'limda hali ham disk maydoni yetarli bo'lsa ham, u endi yangi fayllar yoki jurnallar yarata olmaydi.

Men do'stimga avval buni ishga tushirishni taklif qildim, shunda muammo Inode bilan bog'liqmi yoki yo'qligini bir soniyada aniqlay oladi , bu taxmin qilishdan ancha tezroq bo'ladi.

Ikkinchi usul - ma'lum bir foydalanuvchini aniq hisoblash uchun "find" dan foydalanish.

Muammo innode bilan bog'liqligini tasdiqlagandan so'ng, keyingi qadam indeks kartasini kim haddan tashqari ko'p iste'mol qilayotganini aniqlashdir.

HestiaCP har bir foydalanuvchi uchun alohida uy katalogiga ega. Siz shunchaki ma'lum bir veb-sayt katalogidagi fayllar va kataloglarning umumiy sonini hisoblashingiz mumkin.

find /home/用户名/web/你的域名/public_html | wc -l

"Foydalanuvchi nomi" va "domen nomingiz" ni haqiqiy yo'lingiz bilan almashtiring. Terminal tomonidan qaytarilgan sof son ushbu katalogdagi barcha fayl va papkalarning yig'indisidir.

Har bir fayl yoki katalog bitta inodega mos keladi, shuning uchun bu raqam inode ishlatilishini bildiradi.

HestiaCP da inode ishlatilishini qanday tekshiraman? Diskda joy yetarli bo'lsa ham fayllarni yoza olmaslikning sababi nimada?

Agar siz har birini alohida tekshirishga dangasa bo'lsangiz va butun sayt bo'ylab barcha foydalanuvchilarning foydalanish taqsimotini bir vaqtning o'zida ko'rishni istasangiz, bitta sikl buyrug'i ham mavjud.

for d in /home/*; do echo -n "$d: "; find "$d" 2>/dev/null | wc -l; done

Bu satr har bir foydalanuvchi katalogidagi fayllarning umumiy sonini /home ostida chop etadi, bu esa qaysi foydalanuvchi katalogida g'ayritabiiy darajada ko'p fayllar borligini aniqlashni osonlashtiradi.

Uchinchi strategiya - eng ko'p yod iste'mol qiladigan kichik kataloglarni aniqlash.

Ba'zan veb-saytning Inode qiymatlari juda yuqori ekanligini bilasiz, lekin ekranda fayllar bilan to'la narsada nima muammo borligini hali ham tushuna olmaysiz.

Bunday hollarda, kesh kataloglari, sessiya kataloglari va jurnal kataloglari kabi ko'p sonli kichik fayllarni o'z ichiga olgan pastki papkalarni topish uchun bir daraja pastga qarab harakat qilishingiz kerak - bular eng muammoli sohalardir.

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

Ushbu buyruq eng ko'p fayllarni iste'mol qiladigan eng yaxshi 10 ta pastki papkalarni ro'yxatlaydi.

Ro'yxatning eng yuqori qismidagi yo'l - bu ko'p sonli kichik fayllar bir joyga to'plangan joy.

Do'stimga, ehtimol, bu kichik fayllarni yashirincha yaratadigan biron bir keshlash plagini ekanligini va bu qatorni ishga tushirish asosan buni tasdiqlashini aytdim.

To'rtinchi maslahat - repquota yordamida kvota limitini tekshirish.

Agar serveringizda Linux fayl tizimi kvotalari yoqilgan bo'lsa, muammoga boshqa nuqtai nazardan qarashingiz mumkin.

repquota -a

Ushbu buyruq barcha foydalanuvchilar uchun fayl limitini va haqiqiy fayl foydalanishini oshiradi.

Chiqishdagi Fayl Limitlari bo'limiga diqqat bilan e'tibor bering; ishlatilgan ustunda nechta fayl ishlatilganligi ko'rsatilgan.

"Yumshoq" va "qattiq" ustunlari yumshoq va qattiq chegara chegaralarini ifodalaydi. "Ishlatilgan" "qattiq" ga yetgandan so'ng, tizim yangi fayllarni yaratishdan to'g'ridan-to'g'ri bosh tortadi.

Bu sizning diskingizda qancha joy qoldirganingiz bilan mutlaqo boshqa hikoya.

Xulosa qilib aytganda, keling, tergovning asosiy jihatlarini birlashtiraylik.

Keling, yarim tunda serverni ishdan chiqargan do'stimizga qaytaylik.

U inode haqiqatan ham to'lganligini tasdiqlash uchun men tasvirlab bergan to'rtta bosqichni bajardi, `df -i` dan boshlab.

Keyin, find yordamida biz kichik fayllarni yaratayotgan tashlandiq eski veb-saytning kesh katalogini topdik.

Nihoyat, "repquota" ni tekshirish uning haqiqatan ham qattiq chegaraga yetganligini tasdiqladi.

Kesh uyumini tozalagandan so'ng, veb-sayt darhol hayotga qaytdi.

Shunday qilib, keyingi safar "diskda joy borligi aniq, lekin fayllarni yozib bo'lmaydi" degan g'alati vaziyatga duch kelsangiz, qattiq disk qo'shishga shoshilmang.

Birinchidan, inode ni ko'rib chiqish uchun `df -i` dan foydalaning; haqiqat siz ilgari hech qachon sezmagan indeks kartasida yashiringan bo'lishi mumkin.

Men chin dildan ishonamanki, tizimning yadrosida yashiringan bu kichik aql-idrok qismlari yuzlab optimallashtirish ro'yxatlarini yodlashdan ko'ra foydaliroq.

发表 评论

língíngíngíngíngíngíngíngíngíngíngíngíngín *​​

Top o'ting