Bagaimana saya bisa menggunakan SSD kecil saya sebagai cache untuk hard disk yang lebih besar?

58

Saya ingin menggunakan disk SSD (kecil) sebagai cache untuk hard disk besar. Saya menyadari ada produk berbasis perangkat keras yang melakukan ini: HighPoint RocketHybrid HBA , Intel SmartResponse, dan lainnya. Hanya ada satu produk khusus perangkat lunak yang dapat saya temukan: ExpressCache oleh Diskeeper :

ExpressCache secara cerdas dan otomatis menggabungkan atribut terbaik dari SSD dan HDD tanpa upaya atau pengetahuan yang diperlukan sebelumnya dari pengguna, sehingga pengguna mendapatkan yang terbaik dari kedua dunia; kinerja yang dinamis dan kapasitas yang dapat diskalakan. Karena SSD sekecil 4GB dapat digunakan, ini memberikan solusi yang sangat terjangkau bagi pabrikan.

Terdiri dari komponen Mode Pengguna dan Mode Kernel, ExpressCache menggunakan SSD sebagai cache cerdas, ditambah dengan HDD, untuk meningkatkan kinerja sistem secara keseluruhan dan sangat mempercepat startup PC Windows, peluncuran aplikasi dan kecepatan akses data.

Namun, produk ini hanya OEM !

Saya mencari alternatif, tanpa keberhasilan ... Saya tidak dapat memahami ini: Kedengarannya seperti ide yang bagus, tidak ada perangkat keras tambahan yang diperlukan, dan itu benar-benar dapat meningkatkan kinerja disk tanpa menghabiskan banyak uang.

Jadi, saya bertanya apakah ada yang tahu perangkat lunak yang melakukan ini, baik untuk Windows atau Linux. Atau jika Anda berpikir ini adalah ide yang buruk, saya ingin tahu mengapa.

Catatan: ReadyBoost tidak cocok untuk ini. Itu dibangun dengan asumsi bahwa menulis disk sangat mahal, memiliki efek yang sangat kecil pada sistem dengan banyak RAM, dan tidak skala dengan benar jika SSD Anda 100GB +.

haim
sumber
PrimoCache (untuk Windows) dapat melakukan ini; itu mengkhususkan diri dalam menggunakan RAM sebagai cache, tetapi dapat menggunakan partisi SSD sebagai cache L2 - Saya tidak percaya itu terbatas dalam ukuran, dan ia mengatakan itu dapat mempercepat waktu boot bahkan (dengan asumsi Anda menggunakan SSD dan bukan hanya RAM).
BrainSlugs83

Jawaban:

52

Ada beberapa cara untuk menggunakan SSD sebagai cache untuk hard drive biasa Anda. Ini bukan ide baru, dan sudah memiliki beberapa implementasi.

Di Windows:

Implementasi terbaik adalah oleh NVelo: Dataplex - Ini telah membaca caching dan caching tulis opsional. Sayangnya, seperti ExpressCache hanya tersedia untuk OEM. Cara termurah untuk mendapatkannya adalah dengan membeli OCZ SSD yang mengemas adaptor PCIE dengan SSD kecil dan menggunakan perangkat lunak dataplex untuk menyimpan cache hard drive yang ada.

Namun demikian, implementasi perangkat lunak murni juga: FancyCache - Ini berfungsi seperti yang Anda harapkan melakukan membaca dan menulis caching di lapisan blok. Ini terutama ada sebagai cache memori, tetapi baru-baru ini telah memperoleh dukungan untuk cache SSD lapisan kedua (sedikit seperti ZFS L2ARC), yang dapat menjadi besar secara sewenang-wenang.

Jika Anda hanya ingin memaksimalkan IOPS dengan biaya daya tahan tulis (baik-baik saja dalam hubungannya dengan UPS misalnya), alternatifnya mungkin seperti: SuperCache - Ini hanya akan menggunakan RAM, tanpa SSD. Tetapi tidak seperti yang lain, dengan senang hati akan melebihi 100.000 IOPS pada perangkat keras komoditas. Sangat berguna untuk caching perangkat blok yang berisi indeks database misalnya. Pada dasarnya memberikan kinerja seperti RAM-Disk untuk volume ukuran berapa pun (dengan asumsi perangkat yang mendasarinya dapat mengikuti volume penulisan).

Di Linux, segalanya sedikit lebih baik:

Seperti yang disebutkan poster sebelumnya, Anda memiliki Flashcache - Ini berfungsi dengan baik, tetapi kinerjanya sangat bervariasi dengan beban kerja Anda. Dalam banyak kasus dengan lokalitas akses yang buruk itu tidak akan bekerja sebaik yang Anda harapkan. Tidak yakin mengapa itu terjadi, tetapi untuk sebagian besar beban kerja ini adalah pilihan yang bagus.

Opsi terbaik (meskipun kode masih belum cukup "siap produksi") adalah bcache (informasi lebih lanjut di sini , meskipun beberapa di antaranya sudah ketinggalan zaman) - Ini memiliki kinerja terbaik dari setiap cache SSD yang saya coba, dan tidak seperti yang lain opsi yang disebutkan mendukung caching beberapa perangkat blok pada satu cache. Ini juga mendukung (walaupun saya belum mencobanya secara pribadi, ini mungkin belum berfungsi) beberapa perangkat cache, sehingga Anda dapat menggunakan beberapa SSD lebih murah untuk memaksimalkan IOPS Anda. Kode ini ada di repositori git: git: //evilpiepirate.org/~kent/linux-bcache.git . Ada pembicaraan untuk menggabungkannya ke rilis kernel berikutnya, meskipun belum dipastikan.

Secara pribadi saya menemukan opsi berkinerja terbaik adalah bcache (beban kerja saya sebagian besar terkait dengan database, meskipun saya juga men-cache keseluruhan laptop utama saya). Dalam pengalaman saya, throughput penulisan HDD sering menjadi hambatan, karena cache terisi dengan cepat dan HDD perlu menulis sektor yang di-cache, jadi semakin cepat semakin baik. Ini tentu saja untuk beban kerja tulis yang berat, dalam beban kerja baca-tulis yang lebih seimbang, hal-hal akan berbeda.

Saya juga harus memperingatkan Anda, bahwa pada kecepatan penuh, Anda akan membakar batas penulisan SSD Anda dengan cukup cepat. Saya saat ini menggunakan OCZ Vertex 3. SSD ketiga saya meskipun sangat sangat cepat, sama sekali tidak tahan lama, jadi saya berharap untuk menggantinya setiap beberapa bulan.

Congkak
sumber
2
Terima kasih atas jawaban yang bagus! Adapun tingkat "burnout", saya pikir sekarang ini adalah alasan utama sebagian besar produk ini hanya OEM-saja, misalnya OCZ Synapse (SSD Cache yang dibundel dengan Dataplex) adalah 50% overprovisioned ...
haimg
2
@ Supercilious Mengapa tidak hanya menggunakan SLC atau SSD eMLC? Itu harus lebih efisien (dan tentu saja lebih bisa diandalkan) daripada penggantian sering dari flash MLC yang tidak dapat diandalkan.
Miles Erickson
6
@Supercilious Di sinilah Anda kehilangan saya. Umur panjang sedikit lebih besar? Umur panjang flash SLC dan eMLC adalah urutan besarnya lebih besar, tidak sedikit lebih besar.
Miles Erickson
1
@ Firebug Saya sudah tidak aktif di stack selama beberapa waktu, tetapi jawaban yang saya posting berdiri. Sementara SSD yang lebih baru menawarkan daya tulis yang jauh lebih tinggi, mereka masih gagal dengan cukup cepat. Di mesin saya (terutama HP DL360 G9 + beberapa Lenovo) saya membakar puluhan SSD untuk setiap drive mekanis SAS atau SATA. Pada tahun 2017 saya rata-rata memiliki masa hidup 8 bulan dari Samsung SM863a SSD saya yang merupakan yang terbaik yang saya temukan. Ini benar-benar baik dan benar-benar sepadan dengan biaya untuk beban kerja saya, tetapi nilainya mengingat dan aktivitas menulis konstan akan membunuh SSD apa pun dalam setahun.
Supercilious
1
@ Firebug Ya semua pengangkatan berat dilakukan di server saya (kebanyakan HP DL360 Gen9), dan beban kerja adalah 30% / 70% baca / tulis dan SSD pada dasarnya dipalu 24/7 pada sekitar 300-350MB / s dengan jarang mencapai lebih dari 500MB / s. Semua I / O adalah acak dengan ukuran blok 64KB dan TRIM massal sesekali dari seluruh SSD. Di bawah penggunaan desktop akan butuh bertahun-tahun untuk membunuh SSD pusat data ini tetapi SSD konsumen memiliki TBW 180-300TB yang IMOnya masih cukup rendah.
Supercilious
10

Ada software yang sangat menarik untuk Linux, yang digunakan oleh server yang sangat sibuk:

https://github.com/facebook/flashcache

Pada SATAII, 8 drive rotasi magnetik dalam pengaturan RAID6, saya mendapatkan peningkatan kinerja yang serius. Pembacaan acak dengan perangkat SATAIII flashcache SSD (baca 540, 420 tulis) menjenuhkan bus SATAII saya menjadi hampir 90-95% - Saya memiliki 280MB baca (di masa puncak), 270MB tulis (hanya dalam beban simulasi ... tidak pernah tercapai dalam produksi) . Itu berlangsung sekitar setengah tahun sekarang. Disk drive menulis adalah ... 20-30MB / s - gunakan waktu I / O cadangan ...

Matej Kovac
sumber
5

Seberapa besar SSD Anda?

Mungkin efek terbaik yang akan Anda capai dengan menginstal seluruh OS dan perangkat lunak pada SSD, sambil menyimpan bulks data pada HDD Anda.

Jika SSD Anda kecil, maka bisa berguna untuk meletakkan pagefile di atasnya. Saya ragu Windows akan menempatkan banyak file Anda ke cache, tetapi, setidaknya, itu akan memungkinkan Anda untuk memiliki memori aplikasi yang baru digunakan dan file cache dalam RAM, sementara memungkinkan untuk beralih cepat ke aplikasi yang tidak begitu baru digunakan (yang akan berada di pagefile yang, pada gilirannya, pada SSD).

penartur
sumber
1
SSD saya 120GB. Meskipun ini cukup untuk set atau cache yang berfungsi , sudah pasti tidak cukup untuk meng-host semua file sistem + aplikasi saya. Kedua, saya tidak ingin menyimpan, misalnya, kode sampel MSSDK (jarang dibaca) pada SSD dan kode saya sendiri yang dapat diakses 100 kali sehari, pada disk. Selain itu, saya membutuhkan dua SSD untuk RAID - Saya tidak pernah mempercayai data saya hanya untuk satu disk, baik itu magnetik atau solid state ...
haimg
2
Anda dapat menggunakan tautan simbolik dan memindahkan cache installer MSSDK / Windows / etc ke hard drive Anda (sambil memiliki tautan simbolik yang menunjuk ke lokasi baru dari jalur yang diperlukan pada drive sistem Anda); dan letakkan kode Anda sendiri di SSD (bagian yang membutuhkan akses acak cepat). Dan menggunakan cadangan mungkin akan menjadi solusi yang lebih baik daripada mengandalkan RAID.
penartur
3
+1 untuk solusi ini. Sebenarnya menggunakan SSD akan menghasilkan kinerja yang jauh lebih baik. Sepertinya tidak akan ada manfaat signifikan dari tingkat cache yang lain saat menggunakan SSD untuk partisi sistem Anda.
Jesse
1
Saya menggunakan ssd untuk file sistem dan hdd untuk folder rumah. Saya telah memperhatikan bahwa hdd adalah leher botol maka Anda perlu membaca banyak file darinya, pertama-tama rubah api dimulai setelah boot.
aisbaa
2

FancyFlash melakukan pekerjaan itu. Saya memiliki server Hyper-V R2 saya sendiri @ rumah untuk laboratorium saya dan saya mendapat drive PCIe OCZ Revo Hybrid. Sayangnya, build in cache driver hanya berfungsi dengan Windows 7. Tidak ada rencana untuk Windows Server 2008 R2. Jadi saya menginstal driver FancyFlash pada Hyper-V Host saya dan mengkonfigurasi SSD saya pada Revo Hybrid untuk bertindak sebagai cache untuk disk tertanam 1TB (di mana VHD saya berada). TaDa! Bekerja dan mempercepat VM saya banyak! :)

Saya berharap rilis final akan terjangkau $$$ ...

Spider_s
sumber
3
Apakah Anda memiliki tautan untuk perangkat lunak ini?
haimg
Saya ingin tahu apakah maksudnya "FancyCache" (sekarang dikenal sebagai PrimoCache)? - Itu dalam versi beta (dan harga akhir tidak diketahui) tentang waktu jawaban ini diposting (IIRC). Tapi sudah dua tahun dan dia memiliki skor 21 poin, jadi saya ragu dia akan pernah masuk lagi dan memberi tahu kami. : - /
BrainSlugs83
2

eBoostr adalah aplikasi yang menyimpan sebagian besar aplikasi yang digunakan secara teratur untuk mempercepat sistem Anda. Biasanya ini dimaksudkan untuk menggunakan drive USB atau RAM yang tidak digunakan tetapi tidak ada alasan sebenarnya Anda tidak dapat menggunakan SSD sebagai gantinya.

Ini tersedia untuk semua versi utama Windows dan sangat mirip dengan apa yang Anda cari.

  • eBoostr melacak penggunaan aplikasi pada sistem Anda dan dapat melakukan pra-cache data yang paling sering digunakan, ini mengurangi penundaan pemuatan dan mengoptimalkan kinerja
  • Antarmuka drag-and-drop yang mudah digunakan memungkinkan Anda meningkatkan aplikasi secara selektif pada sistem Anda serta memprioritaskan aplikasi yang ditingkatkan oleh eBoostr
  • Mengurangi waktu muat dan mengurangi akses hard drive membantu memperpanjang masa pakai baterai laptop dan netbook menggunakan eBoostr

Baca lebih lanjut: http://www.eboostr.com/feature

Mokubai
sumber
2

Meskipun tentu saja mungkin untuk memuat seluruh sistem operasi dan aplikasi pada satu SSD, Anda mungkin sebaiknya tidak melakukannya. Seiring waktu, SSD melambat karena penulisan ulang terus-menerus dan harus "disegarkan" untuk mempercepatnya. Anda lebih baik menggunakan hard disk tercepat yang dapat Anda temukan, seperti drive SATA 600 Gbps dan mendapatkan motherboard atau pengontrol lain yang mendukung caching SSD di tingkat perangkat keras. Motherboard Asus ROG Maximus semuanya mendukung fungsi bawaan ini.

Namun, hingga saya membangun sistem baru ini, saya telah menemukan cara untuk mendapatkan manfaat dari SSD. Saya membangun cache memori pada SSD dan meskipun ada satu di hard drive utama saya, Windows tampaknya secara otomatis menggunakan SSD yang lebih cepat sebagai gantinya. Saya juga memindahkan semua cache Internet Explorer saya ke SSD, yang mempercepat video berselancar dan internet setidaknya 2 atau 3 kali.

Saya akan membangun sistem baru saya di sekitar motherboard Asus Maximus VI Hero dengan prosesor Intel i7 generasi ke-4 dalam format 1150 socket. Tampaknya tingkat kinerja yang baik tanpa menghabiskan ribuan untuk sampai ke sana. Total biaya diproyeksikan berada dalam kisaran $ 800-900, untuk memasukkan versi baru Windows.

JDinFL
sumber
2

Seseorang dapat menggunakan teknologi Windows I / O dari ReadyDrive dan ReadyBoost . Karena teknologi ini berasal dari sebelum SSD diperkenalkan, ada sedikit informasi tentang apakah mereka bekerja dengan SSD atau seberapa baik.

Untuk ReadyBoost, lihat beberapa petunjuk tentang Bagaimana saya bisa menggunakan SSD saya sebagai disk cache ReadyBoost? , meskipun utas lainnya mengklaim sebaliknya.

ReadyDrive adalah fitur Windows Vista yang memungkinkan Windows Vista atau komputer yang lebih baru yang dilengkapi dengan drive hybrid atau cache memori Flash lainnya (seperti Intel Turbo Memory) untuk mem-boot lebih cepat dan melanjutkan dari hibernasi dalam waktu yang lebih singkat.

Anda juga dapat meletakkan file halaman di SSD, meskipun dengan peningkatan yang diharapkan terbatas jika memori sistem Anda cukup.

Peningkatan terbaik akan datang, seperti dikatakan oleh penartur, dari menginstal Windows pada SSD.

harrymc
sumber
1
Tingkat kegagalan SSD jauh lebih rendah daripada hard drive tradisional - mungkin pernah terjadi sebaliknya, tetapi tidak pada saat pertanyaan dan jawaban ini. Ada banyak kekhawatiran tentang siklus penghapusan-tulis SSD beberapa tahun yang lalu dan semua orang sepertinya lupa untuk sementara waktu bahwa HDD sangat rapuh dan gagal secara teratur, seringkali tanpa peringatan. Kekhawatiran tentang siklus tulis hampir tidak pernah menjadi masalah dengan level-wear modern, kecuali Anda menulis data terabyte setiap minggu selama beberapa tahun.
thomasrutter
1

Unduh ExpressCache

Sudahkah Anda mencari Google untuk ExpresCache? Saya dapat melihat seseorang dapat mengunduhnya dari

  • SanDisk - tautan di sebelah kanan; hanya bekerja dengan SanDisk SSD
  • Lenovo - tautan di bawah ini dalam panduan; bisa memiliki ketergantungan perangkat keras juga

Khususnya di Lenovo, Anda dapat mengunduh versi x86 atau x64. Sandisk tampaknya hanya menawarkan ExpressCacheSetup.exe dan saya tidak tahu arsitektur mana yang didukungnya. Mungkin satu mungkin keduanya ...

Robert Koritnik
sumber
Keduanya membutuhkan perangkat keras dari vendor masing-masing. Perangkat lunak tidak akan menginstal dengan benar kecuali jika melewati pemeriksaan perangkat keras.
Sun
0

ExpressCache adalah produk OEM saja. Saya cukup yakin bahwa ia memiliki kontrol internal yang mencegahnya digunakan pada perangkat keras selain dari OEM berlisensi.

Tampaknya saat ini, FancyCache adalah satu-satunya alat yang layak untuk penggunaan umum / non-oems. Saya mungkin salah paham, tetapi saya akan berpikir bahwa sesuatu seperti ReadyBoost pada SSD akan membakar melalui siklus tulisnya cukup cepat. Bagi saya, ide di sini adalah untuk hanya memiliki satu huruf drive untuk menutupi HDD utama dan SSD, menempatkan file statis yang paling umum diakses dan umumnya pada SSD dan menyimpan file yang kurang umum digunakan dan sering dimodifikasi pada hard drive. Ini akan memberikan manfaat kinerja dari SSD dan kelangsungan jangka panjang dari HDD dan tidak mengharuskan pengguna harus mencoba menyeimbangkan ruang pada SSD dengan HDD. Kebutuhan akan hal ini sangat jelas, setidaknya bagi saya, sehingga saya terpana dengan kurangnya solusi untuk kebutuhan ini.

Tumbleweed_Biff
sumber
-2

Tidak disebutkan di sini adalah VeloSSD. Saya tidak dapat memberikan reputasi yang baik untuk perangkat lunak ini, karena sering merusak data saya, tetapi pengguna lain melaporkan itu berfungsi dengan baik

vander
sumber
2
Hanya menambahkan nama produk ke daftar produk tidak dianggap sebagai jawaban, dan "rekomendasi yang bersinar" ini tidak terlalu berguna. Dengan sedikit rep, Anda dapat memposting ini sebagai komentar.
fixer1234