Btrfs her şeyi yapsın.
Bir kere, Btrfs kendi delilikten daha akıllı olabilen kendi entegre yansıtma koduna sahiptir.
Tabii ki bir disk bir çılgın baskında10 yansıtılmış bir çiftte zorlanırsa, kötü diski değiştirebilir ve hayatınıza devam edebilirsiniz (sıkıntılı derecede karmaşık kabuk komutlarından sonra da). Sorun, diskiniz biraz daha yumuşak bir şekilde başarısız olursa: birkaç blok, kötü bir blok için uygun hata kodlarını vermek yerine yanlış bitleri geri verirse, verileri okurken rasgele veri alırsınız. Btrfs bundan daha akıllıdır: her veri bitini kontrol eder. Dürüst olmak gerekirse, "her BTree düğümü" veya "her blok" demenin daha doğru olup olmadığını bilmiyorum, ama asıl nokta, yansıtılmış bir diziden bazı verileri okuduğunda, geri çekilmeden önce sağlama toplamını kontrol etmesidir. kullanıcı süreci. Sağlama toplamı eşleşmezse, önce dizideki diğer aynaya danışır ve bu doğru sağlama toplamını verirse,
Btrfs wiki özellikle sorunuzdan bahsediyor :
Btrfs yansıtma için cihaz eşleştiricisine veya MD'ye bağlı olsaydı, yansıtılmış kopyayı kontrol ederek sağlama toplamı hatalarını çözemezdi . Alt katmanlar, dosya sistemi bloklarının sağlama toplamını veya ayrıntı düzeyini bilmezler ve bu nedenle geri döndükleri verileri doğrulayamazlar.
Son olarak, bu önemli avantajı olmasa bile, kaldırılan veya eklenen Btrfs cihazlarıyla uğraşmak için komut satırı iş akışı çok basittir. Bozuk-mount-sonra-düzeltmek-dosya sistemi kabuk komutları doğru alabilirsiniz emin değilim, ama Btrfs için çok açık bir şekilde birden fazla cihaz sayfasında şöyle belgelenmiştir :
mount -o degraded /dev/sdb /mnt
btrfs device delete missing /mnt
Bu noktada, kalan disklerinizde yeterli alan varsa, her zaman bunu yapabilirsiniz btrfs rebalance
ve onunla işlerinizi yapabilirsiniz ; Kesinlikle madm ile yapmanız gerekeceği için aynayı değiştirmenize gerek yok! Ve değiştirmek isterseniz, btrfs device add
önce yapabilirsiniz .