Saat ini saya memiliki partisi Btrfs dengan empat perangkat: tiga drive 3 TB dan drive 4 TB. Data dan metadata adalah RAID 10, jadi saya memiliki 6 TB ruang yang dapat digunakan, yang hampir penuh. Saya telah mengantisipasi bahwa dukungan RAID 5 di Btrfs akan matang pada saat penyimpanan saya penuh, tetapi tampaknya itu bukan prioritas.
Pertanyaan saya adalah: adakah alasan untuk memilih RAID 10 dari pada RAID 1 ? Saya tahu RAID 1 nyata pada perangkat keras saya saat ini harus memberi saya 3 TB ruang yang dapat digunakan dengan 4 salinan dari setiap blok, tetapi Btrfs tampaknya tidak berperilaku seperti ini. Dari FAQ Btrfs :
btrfs menggabungkan semua perangkat ke dalam kumpulan penyimpanan terlebih dahulu, dan kemudian menduplikasi potongan saat data file dibuat. RAID-1 saat ini didefinisikan sebagai "2 salinan dari semua data pada perangkat yang berbeda". Ini berbeda dari MD-RAID dan dmraid, dalam hal itu membuat persis n salinan untuk perangkat n. Dalam btrfs RAID-1 pada tiga perangkat 1 TB, kami mendapatkan 1,5 TB data yang dapat digunakan. Karena setiap blok hanya disalin ke 2 perangkat, menulis blok yang diberikan hanya membutuhkan tepat 2 perangkat untuk ditulis; membaca dapat dibuat hanya dari satu.
Dan dari Jens Erat di Stack Overflow :
Btrfs mendistribusikan data (dan salinan RAID 1-nya) secara bijaksana, sehingga sangat baik menangani hard disk dengan ukuran berbeda. Anda akan menerima jumlah semua hard disk, dibagi dua - dan tidak perlu memikirkan cara menyatukannya dalam pasangan berukuran serupa.
Jika lebih dari satu disk gagal, Anda selalu berada dalam bahaya kehilangan data: RAID 1 tidak dapat menangani kehilangan dua disk secara bersamaan. Dalam contoh yang diberikan di atas, jika dua disk yang salah mati, Anda selalu kehilangan data.
Apakah ini berarti bahwa penyeimbangan ulang dari RAID 10 ke RAID 1 akan memberi saya tambahan 500 GB data (6,5 TB daripada 6 TB) karena drive 4 TB? Dan apakah ada alasan bagi saya untuk tetap menggunakan RAID 10?
scrub
danreplace
dukungan telah ditambahkan pada 3,19, tetapi orang-orang masih mengeluh tentang kurangnya peringatan kegagalan perangkat. Saya memiliki crons yang diatur untuk scrub mingguan dan tes mandiri SMART mingguan / bulanan, jadi saya harus bisa menangkap masalah itu. Saya akan mencobanya.dev stats
, yang bisa menjadi cronjob lain .Jawaban:
Ya, Anda mendapat tambahan 500 GB. Perhatikan bahwa menentukan ruang yang tersedia dalam btrf tetap sulit dipahami. Juga: lihat kalkulator penggunaan disk btrfs .
Pada pertanyaan kedua Anda: Anda mungkin kehilangan beberapa kinerja pada array Anda. Secara alami, data Anda sama-sama aman di kedua konfigurasi RAID. Ketika mempertimbangkan kinerja, Anda mungkin dapat melihat benchmark ini: kernel.org , phoronix.com .
Apakah Anda mungkin sudah mencoba mengonversi ke RAID 1? Jika demikian: apa temuan Anda?
sumber
btrfs fi sh
yang ruang ekstra pada drive 4 TB sedang mengambil keuntungan dari, dan (2,83 + 1,93 + 1,93 + 1,95) /2~=4.30 seperti yang diharapkan. Saya baru-baru ini mengalami kegagalan drive dan berhasil dibangun kembali tanpa kehilangan data, jadi saya dapat mengonfirmasi secara langsung bahwa redundansi masih utuh.Jangan gunakan btrfs raid 5 atau 6 karena implementasi penuh dengan bug, jalankan zfs jika Anda menginginkannya.
Dengan raid10 Anda akan mendapatkan kecepatan.
Hal yang optimal untuk dilakukan adalah membuat partisi 3TB pada drive 4TB (pastikan ketiganya berukuran sama persis), gabungkan mereka ke dalam RAID10 yang akan memiliki 6 TB ruang kosong. Gunakan ekstra 1 TB pada drive 4 TB untuk / boot (ini harus tetap vfat jika Anda ingin menggunakan efistub dan menghindari grub atau bootloader lain yang akan membuat boot Anda sedikit lebih cepat), swap (Anda dapat menggunakan cukup besar, optimal akan menjadi zram swap kecil (4 gb berfungsi dengan baik dengan 32 gb ram, 2 gb harus baik-baik saja dengan 16 gb, jika Anda memiliki kurang dari 16 idk jika layak dan Anda mungkin harus meng-upgrade pula) itu digunakan pertama (atur prioritas ke tertinggi) menggunakan zstd dan aliran kompresi sebanyak Anda memiliki core / utas ...
sumber