รุ่นเน็กซ์คลาวด์: 23.0.0
ระบบปฏิบัติการและเวอร์ชัน: เฟดอรา 35
ฉันกำลังใช้อิมเมจ Nextcloud Docker ติดตั้งพร็อกซีย้อนกลับ Nginx บนระบบโฮสต์ วอลุ่มข้อมูลอยู่บน HDD แยกต่างหาก และวอลุ่มของแอพนั้นอยู่ในรูทบน SSDฉันสังเกตเห็นปัญหานี้ในเวอร์ชัน 22.x: หากฉันคัดลอกไฟล์ขนาดใหญ่โดยใช้ WebDAV พื้นที่บนพาร์ติชันรูทของ SSD จะหมดเร็วมาก (/tmp ของระบบโฮสต์ใช้ tmpfs) ในเวลาเดียวกัน การคัดลอกล้มเหลวและฉันเห็นข้อผิดพลาดต่อไปนี้ในบันทึก เนื่องจากพื้นที่ดิสก์รูทเต็ม:
[PHP] ข้อผิดพลาด: fread(): การเขียน 8192 ไบต์ล้มเหลวด้วย errno=28 ไม่มีพื้นที่เหลือบนอุปกรณ์ที่ /var/www/html/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php#55
PUT /cloud/remote.php/webdav/Videos/file.mkv
ฉันพยายามค้นหาปัญหาที่คล้ายกันในฟอรัมและพบว่า PHP ทำให้เกิดปัญหาอะไร และวิธีแก้ไขคือใช้เส้นทางอื่นสำหรับ sys_temp_dir ฉันพยายามใช้ php.ini ต่อไปนี้:
sys_temp_dir = "/var/www/html/data/tmp"
/var/www/html/data อยู่ใน HDD อื่น ดังนั้นสิ่งนี้น่าจะช่วยแก้ปัญหาได้
ฉันใส่สิ่งนี้ใน docker-compose.yml ของฉัน:
ปริมาณ:
- ./php.ini:/usr/local/etc/php/conf.d/php_custom.ini
แต่นั่นไม่ได้แก้ปัญหา ฉันตัดสินใจว่าน่าจะคุ้มค่าที่จะย้ายไดเร็กทอรี /tmp ทั้งหมดของรูปภาพไปที่ tmpfs:
tmpfs:
- /tmp
แต่นั่นก็ไม่ได้ช่วยอะไรเลย เพราะกลายเป็นว่า /tmp ของรูปภาพนั้นว่างเปล่าเสมอ ดูเหมือนว่า Nextcloud Docker ไม่ได้ใช้มัน
แล้วอะไรคือสาเหตุของการใช้พื้นที่ดิสก์สูง ไดเร็กทอรีนี้อยู่ที่ไหนในอิมเมจ Nextcloud ที่ใช้สำหรับไฟล์ชั่วคราวเมื่อคัดลอก