Apa keuntungan / kerugian dari berbagai opsi cache SSD ke HDD (dm-cache, flashcashe ...)?

23

Tampaknya ada berbagai teknologi berbeda yang tersedia untuk menggunakan SSD untuk bertindak sebagai cache untuk HHD. Yang saya tahu:

  • dm-cache (oleh Redhat - di 3.9 Kernel, jadi seharusnya ada di ubuntu 13.10)
  • Flashcache (dikembangkan dan digunakan oleh facebook)
  • Bcache (dikembangkan dan digunakan oleh Google)
  • EnhanceIO (oleh STEC; berdasarkan Flashcache)

Apakah ada perbedaan penting dalam berbagai implementasi? Mana yang terbaik untuk penggunaan PC desktop biasa - untuk meningkatkan kinerja program biasa seperti browser web atau game?

Uli
sumber
Untuk meningkatkan kinerja saya menemukan bahwa instalasi ubuntu 64bit, bekerja dengan sangat baik, mesin saya menjadi lebih cepat dari sebelumnya! Juga, tentang cache Anda harus menggunakan cache terkompresi ram dengan paket ini zram-configyang akan mendapatkan prioritas pada penggunaan swap. Dan, simpan game di SDD dan ujilah. Beberapa permainan tidak akan bekerja lebih cepat, yang lain akan bekerja dengan sangat baik! Saya lebih suka untuk tidak menggunakan SDD sebagai cache karena batas tulisnya tetapi SDD semakin murah jadi itu tidak begitu menjadi perhatian lagi :)
Aquarius Power

Jawaban:

14

Saya benar-benar tidak tahu harus mulai dari mana, karena semua ini adalah informasi yang sangat baik. Saya akan mulai dengan beberapa info tentang SSD, kemudian deskripsi dari semua metode caching yang berbeda, dan langsung saja pergi dari sana. Saya harap kamu

Keuntungan Kerugian

  • Harga: SSD entah bagaimana mahal
  • Kapasitas Maksimum dan Umum: SSD berkapasitas tinggi sangat langka dan mahal
  • Kecepatan: Di sinilah SSD mendapatkan keunggulan
  • Daya tahan: SSD tidak memiliki bagian yang bergerak

Terbaik untuk memiliki sistem hybrid, untuk mendapatkan yang terbaik dari kedua dunia (kapasitas, keandalan, kecepatan, dll.)

Kernel Linux 3.9 (tersedia pada 28 April 2013) memperkenalkan caching SSD. Device mapper kernel sekarang menyertakan target cache yang disebut dm-cache yang memungkinkan SSD atau perangkat penyimpanan lain untuk digunakan sebagai cache untuk hard drive. Ini pada dasarnya mempercepat menulis dan membaca data karena memungkinkan SSD yang lebih cepat untuk pertama-tama men-cache data dan kemudian mentransfernya ke hard drive yang lebih lambat.

Sumber: Iwn

Flashcache adalah modul yang awalnya ditulis dan dirilis oleh Facebook (Mohan Srinivasan, Paul Saab dan Vadim Tkachenko) pada bulan April 2010. Ini adalah modul kernel yang memungkinkan Writethrough melakukan caching drive pada drive lain. Ini paling sering digunakan untuk caching drive rotasi pada solid-state drive yang lebih kecil karena alasan kinerja. Ini memberi Anda kecepatan SSD dan ukuran drive rotasi standar untuk file yang baru di-cache. FlashCache adalah cache blok writeback tujuan umum untuk Linux.

Sumber: ArchLinux

Bcache adalah cache lapisan blok kernel Linux. Ini memungkinkan satu atau lebih drive disk cepat seperti solid state drive (SSD) berbasis flash untuk bertindak sebagai cache untuk satu atau lebih drive hard disk yang lebih lambat.

Hard drive murah dan besar, SSD cepat tetapi kecil dan mahal. Bukankah lebih baik jika Anda bisa mendapatkan keuntungan dari keduanya secara transparan? Dengan Bcache, Anda dapat memiliki kue dan memakannya juga.

Patch Bcache untuk kernel Linux memungkinkan seseorang untuk menggunakan SSD untuk men-cache perangkat blok lainnya. Ini analog dengan L2Arc untuk ZFS, tetapi Bcache juga melakukan caching writeback (selain hanya menulis melalui caching), dan agnostik sistem berkasnya. Ini dirancang untuk diaktifkan dengan upaya minimal, dan berfungsi dengan baik tanpa konfigurasi pada pengaturan apa pun. Secara default ia tidak akan men-cache sekuensial IO, hanya secara acak membaca dan menulis bahwa SSD unggul. Itu dimaksudkan untuk cocok untuk desktop, server, array penyimpanan high-end, dan bahkan mungkin tertanam.

Tujuan desain adalah secepat SSD dan perangkat di-cache (tergantung pada cache hit vs miss, dan writethrough vs. writeback wrote) hingga berada dalam margin of error. Itu belum ada di sana, sebagian besar untuk membaca berurutan. Tetapi pengujian telah menunjukkan bahwa itu sangat mungkin, dan bahkan dalam beberapa kasus melakukan lebih baik - terutama menulis secara acak.

Sumber: Bcache

Bcache memiliki kelemahan besar, dan itu menghilangkan memori dari sistem untuk mengimplementasikan cache.

EnhanceIO adalah solusi yang berjalan di bawah lapisan aplikasi, memungkinkan aplikasi untuk memanfaatkan manfaat kinerja SSD tanpa perubahan infrastruktur TI utama. Cache SSD dapat menghasilkan sebagian besar manfaat dari beralih dari HDD ke SSD dengan sedikit biaya dari sistem semua-SSD. Sistem cache biasanya beroperasi dengan daya yang lebih kecil daripada sistem berbasis HDD yang memiliki kinerja serupa, dan yang menciptakan manfaat sampingan dengan mengurangi persyaratan pendinginan.

Cache SSD juga dapat memperpanjang masa manfaat sistem yang ada dengan meningkatkan kinerja untuk memenuhi permintaan yang meningkat melalui investasi tambahan, bukan melalui peningkatan / penggantian grosir sistem yang ada.

Caching juga memungkinkan akses yang lebih cepat ke data tanpa overhead administrasi penyimpanan tambahan untuk mendapatkan dan menginstal rak disk baru, mengonfigurasi LUN baru dan memigrasi data ke LUN baru. Caching hampir transparan dan hanya membutuhkan sedikit waktu henti. EnhanceIO didasarkan pada Flashcache.

Sumber: Stec-Inc

bcache adalah yang paling tidak berharga dari semuanya karena membutuhkan partisi data yang disiapkan secara khusus (diformat). Ini menyulitkan (jika mungkin) untuk melampirkan cache ke partisi yang ada dengan data karena seseorang akan membutuhkan kapasitas 200% dan untuk melakukan pemindahan data yang lama untuk mengaktifkan / menonaktifkan caching.

Kecemerlangan EnhanceIO adalah ia tidak memerlukan perangkat perantara sama sekali dan dapat dilampirkan ke perangkat blok mana pun saat sedang terbang walaupun perangkat sudah terpasang. Hal super keren lainnya adalah Anda dapat melampirkan cache EnhanceIO tidak hanya ke partisi tetapi juga ke perangkat blok yang dipartisi untuk menyimpan semua partisi sekaligus. Sama seperti modul flashcache enchanceio dibangun dengan DKMS dan dapat digunakan dengan kernel yang lebih tua.

Sumber: Debian

Keuntungan DM Cache

Cache DM menggunakan arsitektur yang disederhanakan, yang membuatnya mudah beradaptasi dan mudah untuk disesuaikan. Pengguna dapat menyesuaikan ukuran blok dan kapasitas cache berdasarkan jumlah data yang harus ditangani atau pada nilai data. Jika aplikasi tertentu perlu menyimpan banyak data secara berurutan, pengguna dapat mengkonfigurasi cache untuk tujuan itu. Jika pengguna ingin merekam informasi dalam database secara bersamaan dengan cache, itu tidak akan mengganggu operasi cache.

Dis-Keuntungan DM Cache

Salah satu kelemahan menggunakan cache DM adalah bahwa sistem operasi Linux memiliki ruang terbatas untuk menyimpan metadata. Jika cache besar, dan termasuk banyak blok kecil, itu menambahkan hingga banyak metadata untuk informasi yang disimpan. Untuk mengatasi masalah ini, pengguna harus menambah ukuran blok. Masalah lain yang mungkin adalah bahwa, setelah server crash, metadata cache mungkin tidak lagi cocok dengan konten cache, meskipun mungkin untuk mengembalikan konfigurasi yang benar pada akhirnya.

Sumber: Komplemen Fraser Sherman

Jadi dari informasi di atas jelas bahwa EnhanceIO adalah cara untuk pergi, tetapi menurut saya karena didasarkan pada Flashcache, saya akan menggunakan cache flash. Tapi saya pasti akan mencoba keduanya sebelum membuat keputusan akhir.

Mitch
sumber
EnhanceIO: driver yang didasarkan pada perangkat lunak caching EhanceIO SSD yang berasal dari proyek Flashcache open source Facebook yang berguna untuk menggunakan SSD sebagai perangkat cache untuk HDD tradisional. webupd8.org/2013/05/get-better-linux-desktop-performance.html
Qasim
Terima kasih atas jawabannya! Semoga EnhanceIO akan mendarat di kernel 3.10 dan tersedia dalam rilis Ubuntu berikutnya.
Uli
1
Langgan yang bagus, tetapi saya harus menekankan bahwa cache DM benar-benar aman, jika Anda mengalami kerusakan, Anda tidak kehilangan data apa pun. Dalam praktiknya, cache bisa menjadi kurang efisien untuk beberapa waktu hingga metadata dibuat ulang.
lzap
3
Komentar tentang penggunaan memori bcache salah, begitu juga dengan (dikutip) tentang konversi.
Gabriel
@Gabriel merasa bebas untuk memodifikasi, tetapi termasuk sumbernya. :)
Mitch
1

Umpan balik: Saya menginstal paket deb standar flashcache di Ubuntu sekitar setahun yang lalu dalam mode tulis-balik ke cache / home (2TB) ke slice 50GB pada SSD. Ini telah melakukan luar biasa tanpa masalah. Saya telah memiliki beberapa X terkait "hang" (yaitu tidak dikaitkan dengan flashcache) dan telah menggunakan "Ctrl-Alt-PrtScr REISUB" beberapa kali untuk memulihkan tanpa masalah dan tanpa masalah korupsi. Saya menggunakan flashcache karena a) ada deb yang tersedia dan b) tidak memerlukan cadangan dan pemulihan / home.

Kairuri
sumber