Btrfs di atas mdadm raid10, atau btrfs raid10 pada perangkat telanjang?

9

Saya memiliki RAID10 yang dikelola oleh mdadmdan saya memiliki sistem file EXT4 di atasnya. Namun, saya suka BTRFS dan ingin mengkonversi sistem file EXT4 ke BTRFS, tetapi saya berpikir tentang kinerja dan pemeliharaan. Sebagai contoh dengan BTRFS, saya tidak dapat dengan mudah melihat status ketika saya menghapus / menambahkan disk lain ke array seperti saya dapat dengan mdadm (atau mungkin saya tidak tahu caranya - saya mencari melalui dokumen BTRFS dan tidak dapat menemukan ini ).

Jadi, dari pengalaman Anda, pilihan apa yang lebih baik:

  1. Untuk sekadar mengonversi sistem file EXT4 dan membiarkan mdadm mengelola RAID10?

  2. Untuk menyingkirkan mdadm, dan biarkan BTRFS melakukan segalanya?

DejanLekic
sumber

Jawaban:

11

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 rebalancedan selesai melakukannya; tidak perlu mengganti cermin, karena Anda benar-benar harus melakukan dengan madm! Dan jika Anda ingin menggantinya, Anda bisa melakukannya btrfs device addterlebih dahulu.

Mesin terbang
sumber
3

BTRFS masih eksperimental dan Anda dapat berakhir dengan fitur "menarik" jika terjadi kerusakan. Jika Anda benar-benar memiliki / ingin menjalankan btrfs untuk saat ini akan jauh lebih aman untuk menjalankannya di atas serangan perangkat lunak daripada hanya menjalankannya secara langsung. Ketika btrf matang dan mulai berproduksi, ini mungkin tidak benar lagi.

Waxhead
sumber
Sekitar setahun yang lalu, saya bereksperimen dengan pengaturan btrf di VM. Saya dapat secara konsisten mengunci kernel (!) Dengan mengacaukan perintah rebalance. Waktu terus berjalan dan semoga ini bisa diperbaiki.
Avery Payne