ขณะนี้ ฉันกำลังจัดการบริการสำรองข้อมูลสำหรับเซิร์ฟเวอร์ระยะไกลหลายเครื่อง การสำรองข้อมูลถูกเขียนผ่าน rsync ทุกการสำรองข้อมูลจะมีไฟล์คอนเทนเนอร์ติดตั้งเป็นอุปกรณ์ลูป พาร์ติชันสำรองข้อมูลหลักเป็นฟอร์แมต 8T xfs และอุปกรณ์ลูปอยู่ระหว่าง 100G และ 600G ไม่ว่าจะฟอร์แมต ext2 หรือ ext4 นี่คือวิธีแก้ปัญหาแบบ Matryoshka ที่ง่ายขึ้น:
df - ธ
> /dev/vdb1 xfs 8,0T /mnt/backups
> /dev/loop1 ext2 100G /mnt/srv1
> /dev/loop2 ext2 200G /mnt/srv2
ภูเขา
> /dev/vdb1 บน /mnt/backups
> /mnt/backups/srv1.ext2 บน /mnt/srv1
> /mnt/backups/srv2.ext2 บน /mnt/srv2
ls -R /mnt/สำรองข้อมูล
> /mnt/สำรองข้อมูล
> ââ/mnt/backups/srv1.ext2
> ââ/mnt/backups/srv2.ext2
ปัญหาหลักคือความเร็วในการอ่าน/เขียน ซึ่งช้ามากนอกจากนี้บางครั้งทุกอย่างก็ค้างและกินซีพียูและแรมของฉันทั้งหมด ฉันเห็นได้ว่าอุปกรณ์ลูปเป็นสาเหตุนั้น
เมื่อเร็ว ๆ นี้ ฉันเริ่มเปลี่ยนคอนเทนเนอร์จาก ext4 เป็น ext2 เพราะฉันคิดว่าฉันไม่ต้องการบันทึกประจำวันจริง ๆ โดยหวังว่ามันจะปรับปรุงความเร็ว ฉันยังเปลี่ยนจากไฟล์กระจัดกระจายเป็นไฟล์ที่ไม่กระจัดกระจายโดยหวังว่ามันจะลดการใช้ซีพียู / แรม แต่ปัญหายังคงมีอยู่ บางครั้งทำให้ระบบไม่ตอบสนอง
ดังนั้น ฉันกำลังมองหาโซลูชันที่ดีกว่าซึ่งมีความเร็ว r/w ที่เร็วกว่า นอกจากนี้ สิ่งสำคัญคือต้องดูพื้นที่ดิสก์ที่ทุกโปรไฟล์ใช้อย่างรวดเร็ว (ฉันสามารถใช้ ดีเอฟ
สำหรับตอนนี้, ดู่
จะช้าเกินไป) การแยกอุปกรณ์ลูปนั้นดีจากมุมมองด้านความปลอดภัย แต่สามารถแก้ไขได้โดยใช้ rsync ผ่าน ssh แทน ดังนั้นจึงไม่ใช่ข้อกำหนด
ฉันกำลังคิดที่จะลดขนาดพาร์ติชัน xfs หลักและทำให้ไฟล์คอนเทนเนอร์มีพาร์ติชัน ext4 จริง แต่นั่นจะทำให้เกิดเวลาหยุดทำงานจำนวนมากเมื่อจำเป็นต้องปรับขนาดพาร์ติชันแรก ฉันกำลังคิดเกี่ยวกับการใช้ virt-make-fs
หรือ ตารางวา
เพราะฉันสามารถรับขนาดไฟล์เพื่อรับการใช้งานดิสก์ได้ แต่ไม่มีประสบการณ์กับสิ่งเหล่านั้น
ใครมีความคิดใด ๆ หากมีวิธีแก้ปัญหาที่ดีกว่านี้