質問: 小型のssdを大型のハードディスクのキャッシュとして使用するにはどうすればよいですか。 大容量のハードディスクのキャッシュとして(小さい)ssdディスクを使用したいと思います。これを行うハードウェアベースの製品があることを私は理解しています。 highpoint rockethybrid hba 、 intel smartresponse など。私が見つけることができた唯一のソフトウェアのみの製品があります。 diskeeperによるexpresscache : expresscacheは、ユーザーの努力や必要な知識なしに、ssdとhddの優れた特性をインテリジェントかつ自動的に組み合わせます。そのため、ユーザーは両方の長所を活かすことができます。動的なパフォーマンスとスケーラブルな容量。最大4gbのssdを使用できるので、製造業者にとって非常に手頃な価格のソリューションを提供します。 ユーザーモードとカーネルモードのコンポーネントで構成されたexpresscacheは、システム全体のパフォーマンスを向上させ、windows pcの起動、アプリケーションの起動、およびデータアクセスの速度を大幅に向上させるためにssdをインテリジェントキャッシュとして使用します。 ただし、この商品はoem専用です!私はこれを理解することはできません。ハードウェアを追加する必要はありません。そして、大金を費やすことなくディスクのパフォーマンスを向上させることができます。だから、私は誰かがこれをするソフトウェアを知っているかどうか、windowsかlinuxのどちらかを尋ねている。あるいは、これが悪い考えだと思うなら、私はその理由を知りたいのです。注:readyboostはこれにはあまり適していません。これは、ディスクへの書き込みが本当に高価で、十分なramを備えたシステムにはほとんど効果がなく、ssdが100gb以上の場合は適切に拡張できないという前提で構築されています。
回答: ssdを通常のハードドライブのキャッシュとして使用する方法はいくつかあります。これは新しい考えではなく、すでにいくつかの実装があります。windowsの場合最良の実装はnveloによるものです: dataplex - それはリードキャッシングとオプションのライトキャッシングを持っています。残念ながら、expresscacheのようにそれはoemにのみ利用可能です。最も安価な方法は、pcieアダプタと小型のssdをパッケージ化し、データプレックスソフトウェアを使用して既存のハードドライブをキャッシュするocz ssdを購入することです。ただし、純粋なソフトウェア実装もあります。 fancycache - ブロックレイヤで読み取りおよび書き込みキャッシュを実行することを想定しているように動作します。これは主にメモリキャッシュとして存在しますが、最近では2層ssdキャッシュ(zfs l2arcのようなビット)をサポートするようになりました。書き込み耐久性を犠牲にしてiopsを最大限に活用することを検討している場合(たとえばupsとの関連ではまったく問題ありません)、代替案は次のようになります。 supercache ramのみ、ssdなし。しかし、他の製品とは異なり、コモディティハードウェアで喜んで10万iopsを超えるでしょう。たとえばデータベースインデックスを含むブロックデバイスをキャッシュするのに非常に役立ちます。基本的に、あらゆるサイズのボリュームに対してramディスクのようなパフォーマンスを提供します(基本となるデバイスが書き込みボリュームに追いつくことができると仮定して)。linuxでは、物事は少し良いです:前のポスターで述べたように、あなたは flashcache を持っています - それはかなりうまくいきますが、そのパフォーマンスはあなたのワークロードによって大きく異なります。アクセスの局所性が低い多くの場合、期待どおりには機能しません。その理由はわかりませんが、ほとんどのワークロードでこれは優れた選択肢です。最善の選択肢は(まだコードはまだ "実稼働準備完了"ではありませんが) bcache (詳細は here ですが、いくつかは時代遅れです) - 私が今までに試したどんなssdキャッシュの中でも最高のパフォーマンスを持っています、そして言及された他のすべてのオプションとは違って、単一のキャッシュで複数のブロックデバイスをキャッシュすることをサポートします。それはまた(私は個人的にこれを試したことはないが、まだうまくいかないかもしれないが)複数のキャッシュデバイスをサポートしているので、あなたはあなたのiopsを最大にするために複数の安価なssdを使うことができる。コードはgitリポジトリにあります: git://evilpiepirate.org/~kent/linux-bcache.git 。まだ決まっていませんが、それを次のカーネルリリースにマージするという話があります。個人的には、bcacheが最もパフォーマンスの良い選択肢だと思います(私のワークロードの大部分はデータベースに関連していますが、メインのラップトップもすべてキャッシュしています)。私の経験では、キャッシュが早くいっぱいになり、hddがキャッシュされたセクタに書き込む必要があるので、hddのシーケンシャルライトスループットがボトルネックになることがよくあります。これは書き込みの多いワークロードの場合はもちろんですが、よりバランスの取れた読み書きのワークロードでは状況が異なる可能性があります。私はまたあなたに警告するべきです、全速力で、あなたはあなたのssdの書き込み限界をかなり早く燃やすでしょう。私は現在、私の3度目のocz vertex 3に参加しています。非常に速いですが、ssdは非常に丈夫ではないので、数ヶ月ごとに交換することを期待してください。