คุณมีระบบไฟล์ VZFS ซึ่งหมายความว่า VPS ของคุณเป็นเครื่องเสมือน Parallels Virtuozzo ใน Virtuozzo ผู้ให้บริการโฮสต์สามารถกำหนดข้อ จำกัด เกี่ยวกับพารามิเตอร์จำนวนมากรวมถึงการจัดสรรที่คุณได้รับด้วย VZFS
สาเหตุ: Out of Inodes (พบมากที่สุด)
หลังจากทำงานกับลูกค้า Virtuozzo VPS หลายปีที่มีปัญหาเรื่องการสร้างไฟล์ไม่ได้แม้ว่าจะมีพื้นที่ว่างมากมาย แต่ส่วนใหญ่ก็มาถึงขีด จำกัด inode รันคำสั่งนี้เพื่อดูการจัดสรร inode ( Inodes
), inodes used ( IUsed
), inodes ที่เหลือ ( IFree
) และเปอร์เซ็นต์ของinode ที่ใช้ ( IUse%
):
df -i
มีการใช้ไอโหนด 100% เกิดขึ้นมากมาย สาเหตุที่พบบ่อยในประสบการณ์ของฉัน:
- อีเมลตีกลับสแปม
- อีเมลสแปมขาออกเข้าคิว
- เก็บอีเมลขาเข้าจำนวนมาก
- ผู้ใช้บางคนตั้งค่าการรวบรวมขยะเซสชัน PHP (
session.gc_maxlifetime
) เป็นเวลากว่าร้อยปี
- ไฟล์แคชทั่วไปมีจำนวนมากเกินไป
- แคชวัตถุเปิดใช้งานในปลั๊กอิน WordPress W3 Total Cache
- บันทึกข้อผิดพลาดของวีโอไอพี (ไฟล์ใหม่ถูกสร้างขึ้นสำหรับทุกข้อผิดพลาด)
- โปรแกรม / สคริปต์ที่ได้รับการกำหนดค่าไม่ดีหรือได้รับการออกแบบมาไม่ดีซึ่งทำแฟ้มจำนวนมากและลืมที่จะลบทิ้ง
การแก้ไขปัญหา
หากคุณพบว่าคุณเหลือน้อยหรือหมด inodes แต่ไม่รู้ว่าส่วนใหญ่อยู่ที่ไหนฉันมี Bash one-liner ที่ค้นหาไดเรกทอรีปัจจุบันและนับจำนวน inodes ที่ความลึกของโฟลเดอร์ 1:
for i in $(find $(pwd) -maxdepth 1 -type d | sort); do echo -e "$(find "$i" | wc -l)\t: $(readlink -f "$i")"; done | sort -nr
คุณสามารถเปลี่ยนไดเรกทอรีการทำงานปัจจุบันได้/
เรื่อย ๆ จนกว่าคุณจะเจอผู้ร้ายโดยใช้การจัดสรร inode ของคุณ
คำอธิบาย
VPS ของคุณอยู่ในระบบไฟล์ VZFS ซึ่งเป็นส่วนหนึ่งของ Parallels Virtuozzo (ไม่ใช่ OpenVZ ซึ่งคล้ายกันและใช้เทคโนโลยีเดียวกัน แต่ OpenVZ จะไม่ใช้ VZFS)
เนื่องจากวิธีที่ Virtuozzo จัดเก็บไฟล์ใน VZFS inodes มักจะถูก จำกัด มากกว่าดังนั้นพวกเขาจะอยู่ในระบบไฟล์อื่น ๆ เช่น ext4 หรือ XFS โฮสต์จะติดตามไฟล์เหล่านี้ทั้งหมดและมันจะเป็นประโยชน์กับผู้ให้บริการโฮสติ้งที่จะไม่ปล่อยให้ VPS เพียงครั้งเดียวใช้เวลาหลายร้อยล้าน inode ดังนั้นผู้ให้บริการโฮสต์อาจตั้งค่าขีด จำกัด ของไอโหนดให้ต่ำเช่น 1,000,000 inodes
หลังจากหลายปีที่ทำงานกับลูกค้าหลายร้อยคนที่ใช้การจัดสรร inode บน Virtuozzo หมดปัญหาโควต้าดิสก์ "ลึกลับ" เหล่านี้ก็ไม่ทำให้ฉันประหลาดใจอีกต่อไป
สาเหตุ: ข้อ จำกัด Virtuozzo อื่น ๆ
เปอร์เซ็นต์เล็ก ๆ น้อย ๆ ของลูกค้า Virtuozzo VPS ที่ฉันเคยทำงานด้วยมีปัญหาเกี่ยวกับระบบไฟล์เนื่องจากพวกเขามีขีด จำกัด อื่น ๆ คุณสามารถดูข้อ จำกัด บางอย่าง (แต่ไม่ใช่ทั้งหมด) ด้วยคำสั่งนี้:
cat /proc/user_beancounters
การแก้ไขปัญหา
หากfailcnt
คอลัมน์มีค่ามากกว่า 0 หรือheld
ค่าคอลัมน์เท่ากับค่าที่สอดคล้องกันแสดงlimit
ว่าคุณมีจำนวนถึงขีด จำกัด แล้ว
คุณสามารถค้นหาว่าแต่ละพารามิเตอร์อยู่ในวิกิของ OpenVZ ที่นี่หรือไม่ พารามิเตอร์อาจเป็น "หลัก", "รอง" หรือ "เสริม"
คุณควรติดต่อผู้ให้บริการโฮสติ้งของคุณเพื่อขอความช่วยเหลือเพิ่มเติมหากคุณพบว่าคุณไม่สามารถลดheld
จำนวนลงสำหรับการ จำกัด VPS ของคุณได้
คำตอบนี้สามารถขยายได้มากขึ้นอยู่กับว่าถั่วถูก maxed out เมื่อถึงขีด จำกัด ที่แตกต่างกันทำให้เกิดอาการที่แตกต่างกัน
สาเหตุ: ขีด จำกัด ลดลงหลังจากถูกโจมตี
เกี่ยวกับ/proc/user_beancounters
หรือdf -i
บางครั้งผู้ดูแลระบบ Virtuozzo อาจลดlimit
พารามิเตอร์ด้านล่างheld
ค่า
ตัวอย่างเช่นหากขีด จำกัด เริ่มต้นของdiskinodes
พารามิเตอร์คือ 1,500,000 และคุณถึงขีด จำกัด แล้วบางคนที่ผู้ให้บริการโฮสต์ของคุณตั้งค่าขีด จำกัด inode ของคุณเป็น 1,000,000 คุณจะเห็นรายงาน inode ที่แปลกประหลาดจากdf -i
นั้นไม่สมเหตุสมผล
ในส่วนของคุณคุณจะเห็นจำนวนมากเกินสมควรเช่น 18.446.744.069.620.218.961
ฉันคิดว่านี่เป็นพฤติกรรมที่น่ากลัวจากผู้ให้บริการโฮสต์โดยเฉพาะอย่างยิ่งหากพวกเขาไม่แจ้งให้คุณทราบเพราะค่าที่ผิดปกติที่คุณเห็นขัดแย้งกับความรู้ของผู้ใช้ขั้นสูงที่ไม่มีประสบการณ์กับ Virtuozzo / OpenVZ ซึ่งทำให้เข้าใจผิด คำแนะนำ ( ตัวอย่างเช่น , อีกตัวอย่างหนึ่ง )
การแก้ไขปัญหา
ติดต่อผู้ให้บริการโฮสต์ของคุณ แสดงให้พวกเขาเห็นสิ่งที่คุณพบและทำงานร่วมกับพวกเขาเพื่อให้ได้ถั่วที่คุณถือไว้ต่ำกว่าขีด จำกัด
หากพวกเขาปฏิเสธที่จะช่วยคุณให้ทิ้งผู้ให้บริการโฮสติ้งของคุณและหาคนอื่นที่ไม่ได้ใช้การจำลองเสมือน Virtuozzo / OpenVZ การจำลองเสมือนของ KVM, การจำลองเสมือนของ VMware, การจำลองเสมือน Xen หรือเซิร์ฟเวอร์โลหะเปลือยจะอยู่ภายใต้ข้อ จำกัด น้อยกว่า Virtuozzo / OpenVZ
คำอธิบาย
ผู้ให้บริการโฮสต์ของคุณอาจทำการตรวจสอบหรือตอบกลับการแจ้งเตือนและพบว่า VPS ของคุณใช้ทรัพยากรที่เฉพาะเจาะจงมากเกินไป (เกือบจะ จำกัด inodes เสมอซึ่งเป็นdiskinodes
พารามิเตอร์ที่สิ้นสุด)
ผู้ดูแลระบบ Virtuozzo ที่ไม่มีประสบการณ์ของผู้ให้บริการโฮสติ้งเชื่อว่าพวกเขาสามารถแก้ไขปัญหานี้ได้ด้วยการลดข้อ จำกัด บางอย่างให้ต่ำกว่าการใช้ทรัพยากรจริง ในกรณีของ inodes คุณอาจมีการจัดสรรที่ต่ำกว่าเช่น 1,000,000 ถึงแม้ว่าการใช้งานจริงในปัจจุบันของคุณอาจสูงกว่าเช่น 1,500,000
ผู้ดูแลระบบ Virtuozzo ในแผงควบคุมของพวกเขาจะเห็นการใช้งานจริงของคุณและขีด จำกัด ใหม่ แต่คุณจะเห็นหมายเลขปลอมที่สูงมากเกินสมควรเนื่องจากวิธีที่ Virtuozzo จำลองเสมือน
ผู้ดูแลระบบ Virtuozzo ที่ประมาทจะไม่แจ้งให้คุณทราบถึงการเปลี่ยนแปลงนี้ซึ่งเป็นสาเหตุที่คุณควรติดต่อผู้ให้บริการโฮสติ้งของคุณหากสิ่งนี้เกิดขึ้นกับคุณ