Hãy để Btrfs làm mọi thứ.
Đối với một điều, Btrfs có mã phản chiếu tích hợp riêng của nó có thể thông minh hơn madm.
Tất nhiên, nếu một đĩa bị lỗi cứng trong cặp nhân đôi trong madm raid10, bạn có thể thay thế đĩa xấu và tiếp tục với cuộc sống của mình (mặc dù sau một bộ lệnh shell phức tạp). Vấn đề là nếu đĩa của bạn bị lỗi nhẹ hơn một chút: nếu một vài khối chỉ trả lại các bit sai thay vì đưa ra mã lỗi thích hợp cho một khối xấu, thì khi đọc dữ liệu bạn sẽ ngẫu nhiên nhận được dữ liệu xấu. Btrfs thông minh hơn thế: nó kiểm tra từng bit dữ liệu. Thành thật mà nói tôi không biết liệu nói đúng hơn "mọi nút BTree" hay "mọi khối", nhưng vấn đề là khi nó đọc một số dữ liệu từ một mảng được nhân đôi, nó sẽ kiểm tra tổng kiểm tra trước khi trả lại cho bạn quá trình sử dụng. Nếu tổng kiểm tra không khớp, nó sẽ phản chiếu gương khác trong mảng trước và nếu điều đó đưa ra tổng kiểm tra chính xác,
Wiki Btrfs đặc biệt đề cập đến câu hỏi của bạn :
Nếu Btrfs dựa vào trình ánh xạ thiết bị hoặc MD để phản chiếu, nó sẽ không thể giải quyết các lỗi tổng kiểm tra bằng cách kiểm tra bản sao được nhân đôi . Các lớp thấp hơn không biết tổng kiểm tra hoặc mức độ chi tiết của các khối hệ thống tệp và do đó chúng không thể xác minh dữ liệu mà chúng trả về.
Cuối cùng, ngay cả khi không có lợi thế đáng kể này, quy trình làm việc của dòng lệnh để xử lý các thiết bị Btrfs bị loại bỏ hoặc thêm vào là cực kỳ đơn giản. Tôi thậm chí không chắc chắn mình có thể nhận được các lệnh shell shell-mount-then-fix-your-filesystem của bạn, nhưng đối với Btrfs, nó được ghi lại rất rõ ràng trên trang nhiều thiết bị như:
mount -o degraded /dev/sdb /mnt
btrfs device delete missing /mnt
Tại thời điểm này nếu bạn có đủ dung lượng trên các đĩa còn lại, bạn luôn btrfs rebalance
có thể thực hiện và thực hiện với nó; không cần phải thay gương, vì bạn hoàn toàn cần phải làm với madm! Và nếu bạn muốn thay thế nó, bạn có thể làm btrfs device add
đầu tiên.