Jika saya mengerti dengan benar,
- SSD * dapat ditugaskan untuk men-cache beberapa HDD pendukung, dan kemudian perangkat yang di-cache dapat di-RAIDed dengan mdadm
atau - beberapa HDD dapat diretas ke dalam satu perangkat dukungan md dan SSD ditugaskan untuk menyimpannya
Saya bertanya-tanya mana yang merupakan pendekatan yang lebih waras. Terjadi pada saya bahwa menumbuhkan RAID5 / 6 mungkin lebih sederhana dengan satu atau teknik lainnya, tapi saya tidak yakin yang mana!
Adakah alasan yang bagus (mis. Menumbuhkan penyimpanan dukungan atau yang lainnya) untuk memilih satu pendekatan dari yang lain (untuk sistem file besar non-root yang berisi file dukungan VM)?
* oleh "an SSD" Maksud saya semacam perangkat SSD yang berlebihan, misalnya RAID1 dari dua SSD fisik
bcache
didukung harus diformat denganbcache
- jadi Anda harus membuatmd
array, memformat disk yang dihasilkan seluruhnya sebagaibcache
partisi yang didukung, tautkan ke drive cache dan pergi dari sana, atau format banyak disk denganbcache
, tautkan ke drive cache mereka, lalu format banyak disk sebagai satu larik. Dalam kedua kasus tersebut ada beberapa titik kegagalan yang mungkin semuanya tergantung pada interoperabilitas antara dua sistem file - belum lagi fs terakhir. lihat di sini : gulir ke bawah .Jawaban:
Saya pikir caching seluruh perangkat md masuk akal.
Menempatkan bcache ke cache seluruh perangkat md mengorbankan seluruh ide untuk melakukan raid, karena ia memperkenalkan satu lagi titik kegagalan.
Kegagalan OTH disk SSD relatif jarang terjadi, dan bcache dapat dimasukkan ke dalam
writethrough
/writearound
mode (berbeda denganwriteback
mode), di mana tidak ada data yang disimpan hanya ke perangkat cache, dan kegagalan cache tidak membunuh informasi di serangan itu membuatnya menjadi opsi yang relatif aman.Fakta lain adalah bahwa ada overhead komputasi signifikan dari RAID-5 lunak; ketika melakukan caching setiap anggota raid pemintalan secara terpisah, komputer masih harus menghitung ulang semua paritas, bahkan pada hit cache
Jelas, Anda akan mengorbankan beberapa ruang ssd mahal, jika Anda melakukan cache setiap drive berputar secara terpisah.- Kecuali Anda berencana untuk menggunakan cache SSD yang digerebek.Kedua opsi ini relatif tidak memengaruhi waktu proses pertumbuhan - walaupun opsi dengan drive pemintalan yang di-cache secara terpisah berpotensi lebih lambat karena lebih banyak lalu lintas bus.
Ini adalah proses yang cepat dan relatif sederhana untuk mengkonfigurasi bcache untuk menghapus drive SSD, ketika Anda perlu menggantinya. Berkat blok itu, migrasi mungkin dimungkinkan untuk melakukan pengaturan penyerbuan dua arah di tempat.
Anda juga harus ingat, bahwa saat ini sebagian besar (semua?) Distribusi live-CD tidak mendukung
bcache
, jadi Anda tidak bisa begitu saja mengakses data Anda dengan alat-alat seperti itu terlepas dari opsibcache
-mdraid
layout yang Anda pilih.sumber
Saya pikir pendekatan yang waras adalah dengan men-cache perangkat MD yang dihasilkan.
bcache dirancang untuk melewati membaca dan menulis berurutan.
Jika Anda melakukan bcache setiap perangkat secara terpisah, secara logis, beberapa perangkat yang menggunakan MD yang digerebek atau dilucuti, akan, dari perspektif bcache, secara konstan menulis blok acak.
Sementara volume MD yang di-cache akan terlihat seperti biasa, menulis file ke volume, alih-alih blok acak ke beberapa perangkat.
Seluruh titik serangan perangkat keras dan perangkat lunak adalah melakukan striping data di backend sehingga sistem file yang dihasilkan terlihat seperti volume normal.
Ini mungkin tidak benar (karena bcache devs mungkin pintar dan memperhitungkan situasi semacam itu), tetapi hal optimal yang logis untuk dilakukan adalah dengan meng-cache volume, daripada memblokir perangkat.
sumber