Bagaimana cara menggunakan SSD untuk caching, sehingga hard disk saya dapat berputar?

9

Saya punya server file dengan banyak disk yang berjalan bersama di kolam BTRFS dan ingin menambahkan SSD untuk caching. Saya tidak terutama setelah mempercepat hal-hal, tetapi ingin menangkap akses kecil biasa untuk dapat mematikan hard disk sebagian besar waktu tidak digunakan berat (tidak menjalankannya 24/7 akan menghemat energi dan harus membuat disk lebih lama).

Sejauh yang saya tahu, saat ini ada dua teknik caching SSD yang diterapkan di Linux, dm-cache dan bcache. cache dm masih dikatakan lebih efisien, tetapi pengembangan sedang berlangsung untuk keduanya dan saya tidak perlu mencari efisiensi maksimum absolut.

Membaca dokumentasi bcache , saya menemukan opsi-opsi ini:

writeback_delay : Ketika data kotor dituliskan ke cache dan sebelumnya tidak mengandung apapun, tunggu beberapa detik sebelum memulai penulisan kembali. Default ke 30.

writeback_percent : Jika bukan nol, bcache mencoba untuk menjaga sekitar persentase dari cache ini kotor dengan melambatkan penulisan kembali latar belakang dan menggunakan pengontrol PD untuk menyesuaikan laju dengan lancar.

writeback_running : Jika dinonaktifkan, penulisan kembali data kotor tidak akan terjadi sama sekali. Data kotor masih akan ditambahkan ke cache sampai sebagian besar penuh; hanya dimaksudkan untuk pembandingan. Default ke on.

Menetapkan nilai yang cukup besar writeback_delayuntuk melakukan pekerjaan bagi saya: Hanya tulis kembali sekali dalam satu jam, atau (saya berasumsi bahwa ini akan terjadi) jika cache berjalan penuh.

Apakah ini pengaturan yang masuk akal, dan apakah saya telah mempertimbangkan hal lain untuk berhasil menurunkan disk? Saya juga baik-baik saja dengan menempuh rute yang sama sekali berbeda jika memenuhi persyaratan saya.

Tampaknya @ gorkypl sedang mencari solusi lain untuk masalah yang sama , tetapi memiliki persyaratan dan lingkungan yang berbeda dan belum menerima jawaban.

Jens Erat
sumber
Gunakan bcache, silakan.
mikeserv

Jawaban:

1

Saya pikir pendekatan Anda terlalu rumit.

baca caching : Tidak ada hubungannya di sini. Jika Anda memiliki cukup ram ini dilakukan secara otomatis di linux.

tuliskan caching Pada dasarnya inilah yang Anda inginkan. Tetapi jika menulis pergi ke disk pada akhirnya yang akan menyebabkan bangun juga.

Jadi Anda bisa langsung meletakkan filesystem yang terkena dampak ke ram-disk / dev / shm atau ssd.

hemat daya : Saya tidak berpikir bahwa spin down / up yang sering akan menghemat daya. Sebaliknya disk mungkin mati lebih awal sehingga ada konsumsi energi tambahan untuk proses produksi. Spin up juga sangat intensif daya.

Nils
sumber