ລາຍການຫົວເລື່ອງ
ສອງສາມມື້ກ່ອນ, ເພື່ອນຄົນໜຶ່ງໄດ້ສົ່ງຂໍ້ຄວາມຫາຂ້ອຍໃນຕອນກາງຄືນໂດຍບອກວ່າເຊີບເວີຂອງລາວຂັດຂ້ອງ.
ອາການສະເພາະແມ່ນແປກປະຫຼາດໂດຍສະເພາະ: ເວັບໄຊທ໌ເລີ່ມສະແດງຂໍ້ຜິດພາດຢ່າງກະທັນຫັນ, ບໍ່ສາມາດຂຽນບັນທຶກໄດ້, ແລະການສ້າງໄຟລ໌ໃໝ່ຈະເຕືອນທັນທີວ່າແຜ່ນດິດເຕັມ.
ແຕ່ເມື່ອລາວກວດສອບດ້ວຍ `df -h`, ລາວຕົກໃຈທີ່ພົບວ່າແຜ່ນດິດມີພື້ນທີ່ຫວ່າງຫຼາຍສິບກິກະໄບ. ມັນຈະເຕັມໄດ້ແນວໃດ?
ຂ້ອຍໄດ້ບອກລາວທັນທີວ່າ, "ອ້າຍ, ເຈົ້າບໍ່ພຽງແຕ່ມີພື້ນທີ່ເກັບຂໍ້ມູນເຕັມ, Inode ຂອງເຈົ້າຍັງໂຫຼດເກີນ."
ລາວຕອບດ້ວຍເຄື່ອງໝາຍຄຳຖາມວ່າ: Inode ແມ່ນຫຍັງແທ້?
ໃນຄວາມເປັນຈິງ, ຫຼາຍຄົນມີປະຕິກິລິຍາຄືກັນກັບທີ່ລາວເຮັດຕອນທີ່ພວກເຂົາຕົກຢູ່ໃນກັບດັກນີ້ໃນຕອນທຳອິດ, ເພາະວ່າບໍ່ມີໃຜໃນໂຮງຮຽນເຄີຍສອນເລື່ອງນີ້ໃຫ້ພວກເຂົາ.
ກ່ອນອື່ນໝົດ, ໃຫ້ພວກເຮົາມາອະທິບາຍກັນກ່ອນວ່າ Inode ແມ່ນຫຍັງ.
ໃຫ້ຄິດວ່າມັນເປັນບັດດັດຊະນີຫໍສະໝຸດ, ແລະມັນຈະເຂົ້າໃຈງ່າຍ.
ພື້ນທີ່ຮາດດິດຄືກັບຊັ້ນວາງປຶ້ມ; ຈຳນວນປຶ້ມທີ່ທ່ານສາມາດວາງໄວ້ເທິງມັນໄດ້ແມ່ນຂຶ້ນກັບຄວາມຈຸຂອງມັນ, ເຊິ່ງງ່າຍສຳລັບທຸກຄົນທີ່ຈະເຂົ້າໃຈ.
ອິນໂດດແມ່ນຄືກັບບັດດັດຊະນີສຳລັບແຕ່ລະປຶ້ມ, ເຊິ່ງບັນທຶກຊື່, ສະຖານທີ່, ແລະຜູ້ທີ່ຍ້າຍມັນ.
ໃນ Linux , ທຸກໆໄຟລ໌ ແລະ ທຸກໆໄດເລກະທໍລີຕ້ອງມີ inode, ບໍ່ວ່າໄຟລ໌ຈະນ້ອຍປານໃດກໍຕາມ.
ເຖິງແມ່ນວ່າມັນຈະເປັນໄຟລ໌ຫວ່າງເປົ່າ, ລະບົບຍັງຈະໃຊ້ບັດດັດຊະນີສຳລັບມັນ.
ລະບົບມີຂີດຈຳກັດຕໍ່ຈຳນວນໄຟລ໌ທັງໝົດທີ່ມັນສາມາດສ້າງໄດ້; ຂີດຈຳກັດນີ້ແມ່ນຈຳນວນທັງໝົດຂອງ innodes.
ເມື່ອ inode ຖືກໃຊ້ໝົດແລ້ວ, ເຖິງແມ່ນວ່າແຜ່ນດິດຂອງທ່ານຍັງມີພື້ນທີ່ຫວ່າງຫຼາຍຮ້ອຍກິກະໄບ, ລະບົບປະຕິບັດການຈະປະຕິເສດທີ່ຈະສ້າງໄຟລ໌ໃໝ່ໃດໆ.
ບໍ່ສາມາດຂຽນບັນທຶກໄດ້, ບໍ່ສາມາດສ້າງແຄດໄດ້, ແລະເວັບໄຊທ໌ຂັດຂ້ອງໝົດ - ນັ້ນແມ່ນສະຖານະການທີ່ແປກປະຫຼາດທີ່ທ່ານກຳລັງເຫັນຢູ່.
ແທ້ຈິງແລ້ວ, ນີ້ແມ່ນສະຖານະການທີ່ຫຍຸ້ງຍາກແທ້ໆ ເພາະວ່າຂໍ້ຄວາມຜິດພາດຖືກສົ່ງມາຈາກສະຖານທີ່ທີ່ທ່ານບໍ່ໄດ້ເບິ່ງ.
ເຄັດລັບທຳອິດແມ່ນການໃຊ້ `df -i` ເພື່ອໃຫ້ໄດ້ພາບລວມໂດຍຫຍໍ້.
ໃນ ສະພາບແວດລ້ອມ HestiaCP , ທ່ານສາມາດ SSH ເຂົ້າໄປໃນ terminal ແລະພິມບັນທັດນີ້.
df -iມັນຈະລະບຸຈຳນວນທັງໝົດຂອງ innodes, ຈຳນວນທີ່ໃຊ້, ແລະ ຈຳນວນທີ່ຍັງເຫຼືອສຳລັບແຕ່ລະ partition ທີ່ mount.
ໃນຜົນຜະລິດ, ມີຖັນທີ່ເອີ້ນວ່າ IUse%, ເຊິ່ງເປັນຕົວຊີ້ວັດຫຼັກທີ່ທ່ານຄວນຕິດຕາມ.
ຖ້າ IUse% ຂອງພາທິຊັນຮອດ 100%, ເຖິງແມ່ນວ່າພາທິຊັນນັ້ນຍັງມີພື້ນທີ່ຮາດດິດຫຼາຍ, ມັນຈະບໍ່ສາມາດສ້າງໄຟລ໌ ຫຼື ບັນທຶກໃໝ່ໄດ້ອີກຕໍ່ໄປ.
ຂ້ອຍໄດ້ແນະນຳໃຫ້ເພື່ອນຂອງຂ້ອຍໃຫ້ລາວເຮັດອັນນີ້ກ່ອນ, ເພື່ອໃຫ້ມັນສາມາດຊີ້ບອກໄດ້ວ່າບັນຫາແມ່ນຂຶ້ນກັບ Inode ໃນເວລາພຽງວິນາທີດຽວ , ເຊິ່ງຈະໄວກວ່າການຄາດເດົາຫຼາຍ.
ວິທີທີສອງແມ່ນການໃຊ້ `find` ເພື່ອນັບຜູ້ໃຊ້ສະເພາະໃດໜຶ່ງຢ່າງແນ່ນອນ.
ຫຼັງຈາກຢືນຢັນວ່າບັນຫາແມ່ນຢູ່ກັບ innode, ຂັ້ນຕອນຕໍ່ໄປແມ່ນການຊອກຫາວ່າໃຜກຳລັງໃຊ້ບັດດັດຊະນີຫຼາຍເກີນໄປ.
HestiaCP ມີໄດເລກະທໍລີຫຼັກແຍກຕ່າງຫາກສຳລັບຜູ້ໃຊ້ແຕ່ລະຄົນ. ທ່ານສາມາດນັບຈຳນວນໄຟລ໌ ແລະ ໄດເລກະທໍລີທັງໝົດພາຍໃຕ້ໄດເລກະທໍລີເວັບໄຊທ໌ສະເພາະ.
find /home/用户名/web/你的域名/public_html | wc -lປ່ຽນ "ຊື່ຜູ້ໃຊ້" ແລະ "ຊື່ໂດເມນຂອງທ່ານ" ດ້ວຍເສັ້ນທາງຕົວຈິງຂອງທ່ານ. ຕົວເລກທີ່ສົ່ງຄືນໂດຍເຄື່ອງໝາຍແມ່ນຜົນລວມຂອງໄຟລ໌ ແລະ ໂຟນເດີທັງໝົດໃນໄດເລກະທໍລີນັ້ນ.
ແຕ່ລະໄຟລ໌ ຫຼື ແຕ່ລະໄດເລກະທໍລີ ສອດຄ່ອງກັບໜຶ່ງ inode, ສະນັ້ນຕົວເລກນີ້ສະແດງເຖິງການໃຊ້ inode.

ຖ້າທ່ານຂີ້ຄ້ານເກີນໄປທີ່ຈະກວດສອບແຕ່ລະອັນແຍກຕ່າງຫາກ ແລະ ຕ້ອງການເບິ່ງການແຈກຢາຍການນຳໃຊ້ຂອງຜູ້ໃຊ້ທັງໝົດໃນທົ່ວເວັບໄຊທ໌ພ້ອມກັນ, ມັນຍັງມີຄຳສັ່ງ loop ດຽວ.
for d in /home/*; do echo -n "$d: "; find "$d" 2>/dev/null | wc -l; doneບັນທັດນີ້ຈະພິມຈຳນວນໄຟລ໌ທັງໝົດໃນແຕ່ລະໄດເລກະທໍລີຜູ້ໃຊ້ພາຍໃຕ້ /home, ເຮັດໃຫ້ມັນງ່າຍທີ່ຈະລະບຸໄດເລກະທໍລີຜູ້ໃຊ້ທີ່ມີຈຳນວນໄຟລ໌ສູງຜິດປົກກະຕິ.
ຍຸດທະສາດທີສາມແມ່ນການກຳນົດລາຍຊື່ຍ່ອຍທີ່ບໍລິໂພກທາດໄອໂອດິນຫຼາຍທີ່ສຸດ.
ບາງຄັ້ງເຈົ້າຮູ້ວ່າເວັບໄຊທ໌ມີຄ່າ Inode ສູງຫຼາຍ, ແຕ່ເຈົ້າຍັງບໍ່ສາມາດຄິດອອກໄດ້ວ່າມີຫຍັງຜິດປົກກະຕິກັບໜ້າຈໍທີ່ເຕັມໄປດ້ວຍໄຟລ໌.
ໃນກໍລະນີດັ່ງກ່າວ, ທ່ານຈໍາເປັນຕ້ອງເຈາະລົງໄປໜຶ່ງລະດັບເພື່ອຊອກຫາໂຟນເດີຍ່ອຍທີ່ມີໄຟລ໌ຂະໜາດນ້ອຍຈຳນວນຫຼວງຫຼາຍ, ເຊັ່ນ: ໄດເລກະທໍລີແຄສ, ໄດເລກະທໍລີເຊສຊັນ, ແລະ ໄດເລກະທໍລີບັນທຶກ - ເຫຼົ່ານີ້ແມ່ນພື້ນທີ່ທີ່ມີບັນຫາຫຼາຍທີ່ສຸດ.
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 ອັນດັບທຳອິດທີ່ໃຊ້ໄຟລ໌ຫຼາຍທີ່ສຸດ.
ເສັ້ນທາງຢູ່ເທິງສຸດຂອງລາຍຊື່ແມ່ນບ່ອນທີ່ໄຟລ໌ຂະໜາດນ້ອຍຈຳນວນຫຼວງຫຼາຍຖືກລວມເຂົ້າກັນເປັນກຸ່ມ.
ຂ້ອຍບອກເພື່ອນຂອງຂ້ອຍວ່າມັນອາດຈະເປັນ plugin caching ບາງອັນທີ່ສ້າງໄຟລ໌ຂະໜາດນ້ອຍຢ່າງລັບໆ, ແລະການແລ່ນແຖວນີ້ຈະຢືນຢັນມັນ.
ຄຳແນະນຳທີສີ່ແມ່ນການກວດສອບຂີດຈຳກັດໂຄຕ້າໂດຍໃຊ້ repquota.
ຖ້າເຊີບເວີຂອງທ່ານມີໂຄຕ້າລະບົບໄຟລ໌ Linux ທີ່ເປີດໃຊ້ງານ, ທ່ານສາມາດເບິ່ງບັນຫາຈາກມຸມມອງທີ່ແຕກຕ່າງກັນ.
repquota -aຄຳສັ່ງນີ້ຈະດຶງເອົາຂໍ້ຈຳກັດຂອງໄຟລ໌ ແລະ ການນຳໃຊ້ໄຟລ໌ຕົວຈິງສຳລັບຜູ້ໃຊ້ທຸກຄົນ.
ໃຫ້ເອົາໃຈໃສ່ກັບພາກສ່ວນ File Limits ໃນຜົນຜະລິດ; ຖັນທີ່ໃຊ້ແລ້ວຊີ້ບອກວ່າມີການໃຊ້ໄຟລ໌ເທົ່າໃດ.
ຖັນ "ອ່ອນ" ແລະ "ແຂງ" ສະແດງເຖິງຂອບເຂດຈຳກັດອ່ອນ ແລະ ແຂງ. ເມື່ອ "ໃຊ້ແລ້ວ" ຮອດ "ແຂງ", ລະບົບຈະປະຕິເສດທີ່ຈະສ້າງໄຟລ໌ໃໝ່ໂດຍກົງ.
ນີ້ແມ່ນເລື່ອງທີ່ແຕກຕ່າງຢ່າງສິ້ນເຊີງຈາກພື້ນທີ່ທີ່ທ່ານຍັງເຫຼືອຢູ່ໃນແຜ່ນດິດຂອງທ່ານ.
ເພື່ອສະຫຼຸບສິ່ງຕ່າງໆ, ຂໍໃຫ້ເຊື່ອມຕໍ່ຈຸດຕ່າງໆຂອງການສືບສວນ.
ລອງກັບໄປຫາເພື່ອນທີ່ເຮັດໃຫ້ເຊີບເວີຂັດຂ້ອງໃນຕອນກາງຄືນໃນຕອນເລີ່ມຕົ້ນ.
ລາວໄດ້ປະຕິບັດຕາມສີ່ຂັ້ນຕອນທີ່ຂ້ອຍໄດ້ອະທິບາຍ, ເລີ່ມຕົ້ນດ້ວຍ `df -i` ເພື່ອຢືນຢັນວ່າ inode ເຕັມແລ້ວ.
ຫຼັງຈາກນັ້ນ, ໂດຍການໃຊ້ find, ພວກເຮົາໄດ້ພົບເຫັນໄດເລກະທໍລີ cache ຂອງເວັບໄຊທ໌ເກົ່າທີ່ຖືກປະຖິ້ມໄວ້ ເຊິ່ງກຳລັງສ້າງໄຟລ໌ຂະໜາດນ້ອຍຢ່າງບ້າຄັ່ງ.
ສຸດທ້າຍ, ການກວດສອບ `repquota` ໄດ້ຢືນຢັນວ່າມັນໄດ້ຮອດຂີດຈຳກັດທີ່ຍາກແລ້ວ.
ຫຼັງຈາກລຶບລ້າງຂໍ້ມູນຂີ້ເຫຍື້ອອອກໄປແລ້ວ, ເວັບໄຊທ໌ກໍ່ກັບມາມີຊີວິດອີກຄັ້ງ.
ສະນັ້ນໃນຄັ້ງຕໍ່ໄປທີ່ທ່ານພົບກັບສະຖານະການແປກໆນີ້ບ່ອນທີ່ "ແຜ່ນດິດມີພື້ນທີ່ຫວ່າງແຕ່ທ່ານບໍ່ສາມາດຂຽນໄຟລ໌ໄດ້", ຢ່າຟ້າວເພີ່ມຮາດໄດຣຟ໌.
ກ່ອນອື່ນໝົດ, ໃຊ້ `df -i` ເພື່ອເບິ່ງ inode; ຄວາມຈິງອາດຈະຖືກເຊື່ອງໄວ້ຢູ່ໃນບັດດັດຊະນີທີ່ທ່ານບໍ່ເຄີຍສັງເກດເຫັນມາກ່ອນ.
ຂ້ອຍເຊື່ອຢ່າງແທ້ຈິງວ່າຄວາມຮູ້ສຶກທົ່ວໄປເລັກໆນ້ອຍໆເຫຼົ່ານີ້ທີ່ເຊື່ອງໄວ້ຢູ່ໃນຫຼັກຂອງລະບົບແມ່ນມີປະໂຫຍດຫຼາຍກວ່າການທ່ອງຈຳລາຍຊື່ການເພີ່ມປະສິດທິພາບຮ້ອຍຢ່າງ.
ຫວັງວ່າ ບົດຄວາມ "ວິທີການກວດສອບການໃຊ້ Inode ໃນ HestiaCP? ຕົວການທີ່ຢູ່ເບື້ອງຫຼັງຄວາມພ້ອມຂອງພື້ນທີ່ດິດແຕ່ບໍ່ສາມາດຂຽນໄຟລ໌ໄດ້" ທີ່ແບ່ງປັນໃນ ບລັອກຂອງ Chen Weiliang ( https://www.chenweiliang.com/ ) ຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.
ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະແບ່ງປັນລິ້ງຂອງບົດຄວາມນີ້: https://www.chenweiliang.com/cwl-34619.html
