Biarkan Btrfs melakukan segalanya.
Untuk satu hal, Btrfs memiliki kode mirroring terintegrasi sendiri yang bisa lebih pintar daripada madm.
Tentu saja jika disk gagal dalam pasangan cermin dalam serangan madm10, Anda dapat mengganti disk buruk dan melanjutkan hidup Anda (meskipun setelah serangkaian perintah shell yang rumit). Masalahnya adalah jika disk Anda gagal sedikit lebih lembut: jika beberapa blok hanya mengembalikan bit yang salah alih-alih memberikan kode kesalahan yang sesuai untuk blok yang buruk, maka ketika membaca data Anda secara acak akan mendapatkan data yang buruk. Btrfs lebih pintar dari itu: ia memeriksa setiap bit data. Sejujurnya saya tidak tahu apakah itu lebih tepat untuk mengatakan "setiap node BTree" atau "setiap blok", tetapi intinya adalah ketika membaca beberapa data dari array cermin, ia memeriksa checksum sebelum mengembalikannya ke Anda proses userland. Jika checksum tidak cocok, konsultasikan dengan mirror lain dalam array terlebih dahulu, dan jika itu memberikan checksum yang benar,
Wiki Btrfs secara khusus menyebutkan pertanyaan Anda :
Jika Btrf bergantung pada device mapper atau MD untuk mirroring, itu tidak akan bisa menyelesaikan kegagalan checksum dengan memeriksa salinan mirrored . Lapisan bawah tidak tahu checksum atau granularity dari blok sistem file, sehingga mereka tidak dapat memverifikasi data yang mereka kembalikan.
Akhirnya, bahkan tanpa keuntungan substansial ini, alur kerja baris perintah untuk berurusan dengan perangkat Btrf yang dihapus atau ditambahkan adalah sangat sederhana. Saya bahkan tidak yakin bisa mendapatkan perintah shell terdegradasi-mount-lalu-perbaiki-sistem file Anda dengan benar, tetapi untuk Btrfs ini didokumentasikan dengan sangat jelas pada halaman beberapa perangkat sebagai:
mount -o degraded /dev/sdb /mnt
btrfs device delete missing /mnt
Pada titik ini jika Anda memiliki cukup ruang pada disk Anda yang tersisa, Anda selalu bisa btrfs rebalance
dan selesai melakukannya; tidak perlu mengganti cermin, karena Anda benar-benar harus melakukan dengan madm! Dan jika Anda ingin menggantinya, Anda bisa melakukannya btrfs device add
terlebih dahulu.