小型のSSDを大型ハードディスクのキャッシュとして使用するにはどうすればよいですか?


58

(小さな)SSDディスクを大きなハードディスクのキャッシュとして使用したいと思います。HighPoint RocketHybrid HBAIntel SmartResponseなど、これを行うハードウェアベースの製品があることを認識しています。見つけられるソフトウェアのみの製品は、DiskeeperによるExpressCacheのみです。

ExpressCacheは、ユーザーの努力や必要な知識なしに、SSDとHDDの最適な属性をインテリジェントかつ自動的に結合するため、ユーザーは両方の長所を最大限に活用できます。動的なパフォーマンスとスケーラブルな容量。4GBの小さなSSDを使用できるため、メーカーにとって非常に手頃な価格のソリューションを提供します。

ExpressCacheはユーザーモードとカーネルモードコンポーネントで構成され、SSDをHDDと組み合わせてインテリジェントキャッシュとして使用し、システム全体のパフォーマンスを向上させ、Windows PCの起動、アプリケーションの起動、データアクセス速度を大幅に高速化します。

ただし、この製品はOEMのみです!

成功せずに代替手段を探しました...これを理解することはできません:素晴らしいアイデアのように聞こえますが、追加のハードウェアは必要なく、大金を費やすことなくディスクのパフォーマンスを本当に高めることができます。

だから、私はWindowsまたはLinuxのいずれかのためにこれを行うソフトウェアを知っている人がいるかどうか尋ねています。または、これが悪い考えだと思われる場合は、その理由を知りたいと思います。

注:ReadyBoostはこれにはあまり適していません。これは、ディスクへの書き込みが非常に高価であり、十分なRAMを搭載したシステムにはほとんど影響を与えず、SSDが100GB以上の場合は適切にスケーリングしないという前提で構築されています。


PrimoCache(Windows用)はこれを行うことができます。RAMをキャッシュとして使用することを専門としていますが、SSDパーティションをL2キャッシュとして使用できます-サイズに制限があるとは思わない羊)。
BrainSlugs83 14年

回答:


52

SSDを通常のハードドライブのキャッシュとして使用するには、いくつかの方法があります。これは新しいアイデアではなく、すでにいくつかの実装があります。

Windowsの場合:

最適な実装はNVeloによるものです。Dataplex-読み取りキャッシュとオプションの書き込みキャッシュがあります。残念ながら、ExpressCacheと同様に、OEMのみが利用できます。最も安価な方法は、PCIEアダプターを小さなSSDにパッケージ化し、データプレックスソフトウェアを使用して既存のハードドライブをキャッシュするOCZ SSDを購入することです。

ただし、純粋なソフトウェア実装もあります。FancyCache-ブロックレイヤーで読み取りおよび書き込みキャッシュを実行すると予想されるように機能します。主にメモリキャッシュとして存在しますが、最近は任意に大きくできる第2レイヤーSSDキャッシュ(ZFS L2ARCに少し似ています)のサポートを獲得しました。

書き込み耐久性を犠牲にしてIOPSを最大限に活用したい場合(たとえばUPSと組み合わせて完全に問題ない場合)は、次のような方法があります。SuperCache-これはRAMのみを使用し、SSDは使用しません。しかし、他とは異なり、幸いなことに、市販のハードウェアでは100,000 IOPSを超えます。たとえば、データベースインデックスを含むブロックデバイスをキャッシュする場合に非常に便利です。基本的に、あらゆるサイズのボリュームに対してRAMディスクのようなパフォーマンスを提供します(基盤となるデバイスが書き込みボリュームに追いつくことができると仮定)。

Linuxでは、物事が少し良くなっています。

前のポスターで述べたように、Flashcacheがあります -かなりうまく機能しますが、パフォーマンスはワークロードによって大きく異なります。アクセスの局所性が低い場合、多くの場合、期待どおりに機能しません。理由はわかりませんが、ほとんどのワークロードではこれは素晴らしいオプションです。

最適なオプション(コードはまだ「プロダクション対応」ではありませんが)はbcacheです(詳細はこちらですが、一部は古くなっています)-これは私が試したSSDキャッシュの中で最高のパフォーマンスを持ち、他のすべてとは異なります上記のオプションは、単一のキャッシュでの複数のブロックデバイスのキャッシュをサポートしています。また、複数のキャッシュデバイスもサポートしています(個人的には試していませんが、まだ動作しない可能性があります)。複数の安価なSSDを使用してIOPSを最大化できます。:コードはgitリポジトリにあるのgit://evilpiepirate.org/~kent/linux-bcache.git。次のカーネルリリースにマージする話がありますが、まだ確定していません。

個人的には、最高のパフォーマンスのオプションはbcacheです(私のワークロードはほとんどデータベース関連ですが、メインのラップトップ全体もキャッシュします)。私の経験では、キャッシュがすぐにいっぱいになり、HDDがキャッシュされたセクターを書き込む必要があるため、HDDの順次書き込みスループットがボトルネックになることがよくあります。もちろん、これは書き込みが多いワークロードの場合です。よりバランスの取れた読み取り/書き込みワークロードでは、状況が異なる可能性があります。

また、フルスピードで、SSDの書き込み制限をかなり早く使い切ることを警告する必要があります。現在、3番目のOCZ Vertex 3を使用しています。SSDは非常に高速ですが、耐久性が低いため、数か月ごとに交換する予定です。


2
すばらしい答えをありがとう!「バーンアウト」率については、私は今、これは、これらの製品のほとんどはOEMのみの、例えばOCZシナプス(キャッシュSSDはDataplexに同梱)されている主な理由はされていると思う50%オーバープロビジョニング...
haimg

2
@Supercilious SLCまたはeMLC SSDを使用しないのはなぜですか?これは、信頼性の低いMLCフラッシュを頻繁に交換するよりも効率的(そして確かに信頼性が高い)でなければなりません。
マイルズエリクソン

6
@Superciliousこれはあなたが私を失っている場所です。少し長寿命ですか?SLCおよびeMLCフラッシュの寿命は、桁違いに長く、わずかに長くはありません。
マイルズエリクソン

1
@Firebug私はしばらくスタック上で非アクティブでしたが、私が投稿した答えは立っています。新しいSSDははるかに高い書き込み耐久性を提供しますが、それでも非常に迅速に失敗します。私のマシン(主にHP DL360 G9 +一部のLenovo)では、すべての機械的なSASまたはSATAドライブごとに数十台のSSDを使用しています。2017年、私が見つけた最高のSamsung SM863a SSDの平均寿命は8ヶ月でした。これはまったく問題なく、ワークロードのコストに見合うだけの価値がありますが、念頭に置いておく価値があり、一定の書き込みアクティビティを行うと、1年以内にSSDがすべて失われます。
Supercilious

1
@Firebugはい、すべての重い作業は私のサーバー(主にHP DL360 Gen9)で行われ、ワークロードは30%/ 70%の読み取り/書き込みであり、SSDは基本的にはまれに300-350MB / sで24/7にハンマーされています500MB / sを超えるピーク。すべてのI / Oはランダムで、64KBのブロックサイズと、SSD全体の場合によってはバルクTRIMが使用されます。デスクトップでの使用では、これらのデータセンターSSDを殺すのに何年もかかりますが、消費者SSDは180-300TB TBWを持っていますが、これはまだかなり低いIMOです。
Supercilious

10

非常に忙しいサーバーで使用されている、Linux用の非常に興味深いソフトウェアがあります。

https://github.com/facebook/flashcache

SATAII、RAID6セットアップの8つの磁気回転ドライブでは、パフォーマンスが大幅に向上します。SATAIIIフラッシュキャッシュSSDデバイスを使用したランダム読み取り(540読み取り、420書き込み)は、SATAIIバスをほぼ90-95%に飽和させます。 。今では約半年続きます。ディスクドライブの書き込みは... 20-30MB / s-予備のI / O時間を使用します...


5

SSDの大きさは?

おそらく、大容量のデータをHDDに保存しながら、OSとソフトウェア全体をSSDにインストールすることで、おそらく最高の効果が得られます。

SSDが小さい場合、ページファイルを配置すると便利です。Windowsがあなたのファイルの多くをキャッシュすることを疑いますが、少なくとも、最近使用されたアプリケーションのメモリとファイルをRAMにキャッシュできるようになります。ページファイルは、SSD上にあります)。


1
SSDは120GBです。これはワーキングセットキャッシュには十分ですが、すべてのシステムファイルとアプリをホストするには十分ではありません。第二に、MSSDKのサンプルコード(めったに読まない)をSSDに保存し、自分のコードを1日に100回ディスクに保存する必要はありません。さらに、RAIDには2つのSSDが必要です。磁気ディスクでもソリッドステートでも、データを1つのディスクだけに信頼することはありません
...-haimg

2
シンボリックリンクを使用して、MSSDK / Windowsインストーラーキャッシュなどをハードドライブに移動できます(システムドライブ上の必要なパスから新しい場所を指すシンボリックリンクを使用します)。SSD(高速ランダムアクセスが必要な部分)に独自のコードを配置します。そして、バックアップを使用することは、おそらくRAIDに依存するよりも良い解決策でしょう。
ペナルトゥール

3
このソリューションの+1。実際にSSDを使用すると、パフォーマンスが大幅に向上します。システムパーティションにSSDを使用するのとは異なり、さらに別のレベルのキャッシュから大きな利点が得られることはほとんどありません。
ジェシー

1
システムファイルにはssdを、ホームフォルダーにはhddを使用しています。hddがボトルネックであることに気づいたので、多くのファイルを読み込む必要があります。firefoxが起動後に最初に起動します。
aisbaa

2

FancyFlashが仕事をしました。ラボ用に自分のHyper-V R2サーバー@homeがあり、OCZ Revo Hybrid PCIeドライブを入手しました。残念ながら、キャッシュドライバーのビルドはWindows 7でのみ機能します。WindowsServer 2008 R2の計画はありません。そこで、FancyFlashドライバーをHyper-Vホストにインストールし、Revo HybridのSSDを1tb組み込みディスク(私のVHDがある場所)のキャッシュとして機能するように構成しました。タダ!動作し、VMを大幅に高速化します!:)

最終リリースが手頃な$$$になることを願っています...


3
このソフトウェアへのリンクはありますか?
haimg

彼が「FancyCache」(現在はPrimoCacheとして知られている)を意味したのだろうか?-この回答が掲載された時期(IIRC)はベータ(および最終価格は不明)でした。しかし、それは2年ぶりであり、彼は21点のスコアを持っているので、彼が再びログインして私たちに話すことは決してないだろう。:-/
BrainSlugs83 14年

2

eBoostrは、システムを高速化するために、定期的に使用されるアプリケーションの大部分をキャッシュするアプリケーションです。通常、USBドライブまたは未使用のRAMを使用することを意図していますが、代わりにSSDを使用できない本当の理由はありません。

これは、Windowsのすべてのメジャーバージョンで利用可能で、あなたが求めているものに非常に似ています。

  • eBoostrは、システム上のアプリケーションの使用を追跡し、最も頻繁に使用されるアプリケーションのデータを事前にキャッシュできます。これにより、負荷の遅延が軽減され、パフォーマンスが最適化されます。
  • 使いやすいドラッグアンドドロップインターフェイスにより、システム上のアプリケーションを選択的に強化し、eBoostrによって強化されたアプリケーションに優先順位を付けることができます。
  • 読み込み時間の短縮とハードドライブアクセスの削減により、eBoostrを使用したラップトップおよびネットブックのバッテリー寿命を延長

詳細:http : //www.eboostr.com/feature


2

1つのSSDにオペレーティングシステムとアプリケーション全体をロードすることは確かに可能ですが、おそらくそうすべきではありません。時間が経つにつれて、SSDは継続的な再書き込みによって速度が低下するため、「リフレッシュ」して速度を上げる必要があります。SATA 600 Gbpsドライブなど、見つけることができる最速のハードディスクを使用して、ハードウェアレベルでSSDキャッシングをサポートするマザーボードまたはその他のコントローラーを取得することをお勧めします。Asus ROG Maximusマザーボードはすべて、この機能を内蔵しています。

しかし、この新しいシステムを構築するまで、SSDからいくつかの利点を得る方法を見つけました。SSDにメモリキャッシュを構築し、メインハードドライブにメモリキャッシュがありますが、Windowsは代わりに高速なSSDを自動的に使用するようです。また、Internet ExplorerのすべてのキャッシュをSSDに移動しました。これにより、サーフィンとインターネットビデオが少なくとも2、3回高速化されました。

1150ソケット形式の第4世代Intel i7プロセッサを搭載したAsus Maximus VI Heroマザーボードを中心に新しいシステムを構築します。そこに到達するために数千を費やすことなく、パフォーマンスの良いレベルのようです。総コストは、新しいバージョンのWindowsを含めるために、800〜900ドルの範囲になると予測されています。


2

ReadyDriveおよびReadyBoostWindows I / Oテクノロジーを使用できます。これらのテクノロジーはSSDが導入される前から存在しているため、SSDで動作するかどうか、またはどの程度うまく機能するかについての情報はほとんどありません。

ReadyBoostについては、SSDをReadyBoostキャッシュディスクとして使用する方法に関するヒントを参照してください、この他のスレッドは反対を主張しますが。

ReadyDriveは、ハイブリッドドライブまたは他のフラッシュメモリキャッシュ(Intel Turbo Memoryなど)を搭載したWindows Vista以降のコンピューターをより高速に起動し、休止状態から短時間で再開できるようにするWindows Vistaの機能です。

また、システムメモリが十分であれば、改善は限られていますが、ページファイルをSSDに置くこともできます。

Penarturが述べたように、SSDにWindowsをインストールすることで、最高の改善がもたらされます。


1
SSDの故障率は、従来のハードドライブよりも大幅に低い -かつては逆だったかもしれませんが、この質問と回答の時点ではそうではありませんでした。数年前にSSDの書き込み/消去サイクルについて多くの懸念があり、誰もがHDDが非常に壊れやすく、多くの場合警告なしで定期的に故障することを一時的に忘れているようでした。書き込みサイクルに関する懸念は、数年間毎週テラバイトのデータを書き込む場合を除き、最新のウェアレベリングではほとんど問題になりません。
-thomasrutter

1

ExpressCacheをダウンロード

GoogleでExpresCache を検索しましたか?私はそれをダウンロードできることがわかります

  • SanDisk-右側のリンク。SanDisk SSDでのみ動作します
  • Lenovo-ガイド内の以下のリンク。ハードウェアにも依存する可能性があります

特にLenovoでは、x86またはx64バージョンをダウンロードできます。SandiskはExpressCacheSetup.exeを提供しているだけで、どのアーキテクチャがサポートされているのかわかりません。たぶん両方とも...


両方とも、それぞれのベンダーのハードウェアが必要です。ハードウェアチェックに合格しない限り、ソフトウェアは正しくインストールされません。

0

ExpressCacheはOEM製品のみです。ライセンスされたOEM以外のハードウェアでの使用を防ぐ内部制御があることは合理的に確信しています。

現在、FancyCacheは一般的な使用/非oemsのための唯一の実行可能なツールであるようです。私は物事を誤解するかもしれませんが、SSDでのreadyboostのようなものは、書き込みサイクルを非常に速く燃やすと思います。私にとって、ここでの考えは、メインHDDとSSDをカバーするドライブ文字を1つだけにして、最も一般的にアクセスされ一般的に静的なファイルをSSDに置き、あまり使用されず、頻繁に変更されるファイルをハードドライブに保存することです。これにより、SSDのパフォーマンス上の利点とHDDの長期的な実行可能性が得られ、ユーザーはSSDのスペースとHDDのスペースのバランスをとる必要がなくなります。少なくとも私にとっては、この必要性は非常に明白であるため、この必要性に対する解決策がないことにst然としています。


-2

ここではVeloSSDという名前は付けられていません。私はこのソフトウェアに良い評判を与えることはできません、なぜならそれは頻繁に私のデータを破壊したからです


2
製品のリストに製品名を追加するだけでは答えとは見なされません。また、この「推奨事項を増やす」ことはあまり役に立ちません。もう少し担当者がいれば、コメントとして投稿できます。
fixer1234
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.