ฉันมีไฟล์เซิร์ฟเวอร์ที่มีดิสก์จำนวนมากทำงานร่วมกันในกลุ่ม BTRFS และต้องการเพิ่ม SSD สำหรับการแคช ฉันไม่ได้เป็นหลักหลังจากเร่งสิ่งต่าง ๆ แต่ต้องการจับการเข้าถึงขนาดเล็กปกติเพื่อให้สามารถปิดฮาร์ดดิสก์ส่วนใหญ่ของเวลาที่ไม่อยู่ภายใต้การใช้งานหนัก (ไม่ทำงานพวกเขา 24/7 จะประหยัดพลังงานและควรทำให้ ดิสก์ใช้เวลานานกว่า)
เท่าที่ฉันรู้ปัจจุบันมีสองเทคนิคการแคช SSD ที่ใช้ใน Linux, dm-cache และ bcache dm-cache ยังบอกว่ามีประสิทธิภาพมากกว่า แต่การพัฒนายังดำเนินต่อไปสำหรับทั้งคู่และฉันไม่จำเป็นต้องปรับแต่งเพื่อให้ได้ประสิทธิภาพสูงสุดอย่างแท้จริง
อ่านเอกสารของ bcacheฉันมากับตัวเลือกเหล่านี้:
writeback_delay : เมื่อข้อมูลสกปรกถูกเขียนไปยังแคชและก่อนหน้านี้ไม่มีข้อมูลใด ๆ ให้รอจำนวนวินาทีก่อนที่จะเริ่มการเขียนกลับ ค่าเริ่มต้นถึง 30
writeback_percent : หากไม่ใช่ศูนย์ bcache จะพยายามรักษาเปอร์เซ็นต์ของแคชให้สกปรกโดยการเขียนแบ็กกราวด์เบื้องหลังและใช้ตัวควบคุม PD เพื่อปรับอัตราอย่างราบรื่น
writeback_running : หากปิดการเขียนกลับของข้อมูลสกปรกจะไม่เกิดขึ้นเลย ข้อมูลสกปรกจะยังคงถูกเพิ่มลงในแคชจนกว่าจะเต็มส่วนใหญ่ มีไว้สำหรับการเปรียบเทียบเท่านั้น ค่าเริ่มต้นเป็นเปิด
การตั้งค่าที่มากพอสำหรับwriteback_delay
ดูเหมือนว่าจะทำงานให้ฉัน: เขียนกลับมาหนึ่งครั้งต่อชั่วโมงเท่านั้นหรือ (ฉันคิดว่ามันจะเกิดขึ้น) หากแคชทำงานเต็ม
นี่เป็นการเซ็ตอัพที่สมเหตุสมผลและฉันคิดว่าจะมีอะไรอีกไหมที่จะทำให้ดิสก์ล้มเหลว? ฉันยังใช้งานได้ดีในการไปตามเส้นทางที่แตกต่างอย่างสิ้นเชิงถ้ามันเป็นไปตามข้อกำหนดของฉัน
ดูเหมือนว่า @ gorkypl กำลังมองหาวิธีการแก้ไขปัญหาที่คล้ายกันแต่มีข้อกำหนดและสภาพแวดล้อมที่แตกต่างกันและยังไม่ได้รับคำตอบ
bcache
โปรด