Hiện tại, tôi đang quản lý dịch vụ sao lưu cho nhiều máy chủ từ xa. Các bản sao lưu được viết qua rsync, mọi bản sao lưu đều có bộ chứa tệp riêng được gắn dưới dạng thiết bị lặp. Phân vùng dự phòng chính là một xfs 8T được định dạng và các thiết bị vòng lặp nằm trong khoảng từ 100G đến 600G, được định dạng ext2 hoặc ext4. Vì vậy, đây là giải pháp giống như Matryoshka được đơn giản hóa:
df -Th
> /dev/vdb1 xfs 8,0T /mnt/backups
> /dev/loop1 ext2 100G /mnt/srv1
> /dev/loop2 ext2 200G /mnt/srv2
gắn kết
> /dev/vdb1 trên /mnt/backups
> /mnt/backups/srv1.ext2 trên /mnt/srv1
> /mnt/backups/srv2.ext2 trên /mnt/srv2
ls -R /mnt/sao lưu
> /mnt/sao lưu
> ââ/mnt/backups/srv1.ext2
> ââ/mnt/backups/srv2.ext2
Vấn đề chính là tốc độ đọc/ghi, chúng rất chậm.Ngoài ra, đôi khi mọi thứ bị treo và ăn hết cpu và ram của tôi. Tôi có thể thấy các thiết bị vòng lặp đang gây ra điều đó.
Gần đây, tôi đã bắt đầu chuyển vùng chứa từ ext4 sang ext2, vì tôi nghĩ mình không thực sự cần ghi nhật ký, hy vọng nó sẽ cải thiện tốc độ. Tôi cũng đã chuyển từ tệp thưa thớt sang tệp không thưa thớt với hy vọng nó sẽ giảm mức sử dụng cpu/ram. Nhưng sự cố vẫn tiếp diễn, đôi khi khiến hệ thống không phản hồi.
Do đó, tôi đang tìm kiếm một giải pháp tốt hơn có tốc độ r/w nhanh hơn. Ngoài ra, điều quan trọng là nhanh chóng xem dung lượng ổ đĩa mà mọi cấu hình sử dụng (tôi chỉ có thể sử dụng df
bây giờ, du
sẽ quá chậm). Sự tách biệt mà các thiết bị vòng lặp mang lại là tốt từ quan điểm bảo mật, nhưng cũng có thể được giải quyết bằng cách sử dụng rsync qua ssh thay vào đó, vì vậy không phải là một yêu cầu.
Tôi đã nghĩ đến việc thu nhỏ phân vùng xfs chính và làm cho tệp chứa các phân vùng ext4 thực sự, nhưng điều đó sẽ mang lại một lượng lớn thời gian ngừng hoạt động khi cần thay đổi kích thước phân vùng đầu tiên. Tôi đã suy nghĩ về việc sử dụng đức-làm-fs
hoặc sqashfs
, bởi vì tôi chỉ có thể lấy kích thước tệp để nhận mức sử dụng đĩa, nhưng không có kinh nghiệm với những thứ đó.
Có ai có ý tưởng nào nếu có giải pháp tốt hơn cho việc này không?