RAIDにするかしないか:SSDと仮想化


8

Windowsの腐敗が原因でメインPCが十分に遅くなり、おそらく再インストールする必要があるその時期に近づいています。1週間腕相撲をする代わりに、再インストールして構成するだけで、Visual Studio設定をもう一度バックアップするのを忘れたことがわかりました。アップグレードします。私はすでにすべての部品を購入しており、最適な構成を見つけるためのベンチマークを行っています。

2つのCrucial M4 120GB SSD(12月4月の時点で最新のファームウェアに更新)を購入00Fし、CrystalDiskMarkを使用していくつかのクイックベンチマークを実行しています。結果は次のとおりです。

シングルドライブ:

シングルドライブのパフォーマンス

RAID 0Intel Z77チップセットコントローラー経由:

RAID 0

これらのベンチマークは明らかに網羅的ではありませんが、さまざまな構成間で何を期待するべきかについての良いアイデアを私に与えてくれると思います。

私の理解では、最も一般的な使用パターン、つまりVisual Studioでの開発(私の主な使用法)では、4Kビルド中であっても、読み取りと書き込みがはるかに一般的です。との間RAID 0では、ほとんど違いはありません。しかし、512KおよびSequentialR / Wでは、違いは注意に値するのに十分です。

問題は、将来の腐敗の問題を回避するために-そして、率直に言って、私ができるので-私は仮想化にもっともっと依存するつもりです。私の計画は、VMware Workstationを使用して、開発環境のさまざまな部分を仮想マシンにセグメント化することです:Visual Studioとそれに付随するツール、別のSQL Server、Adobe Design Suiteの別など。VMスナップショットと新しいものを作成または複製するためのものです。長期的な信頼性が向上すると思います(また、必要な場合にのみ、Adobeの更新ポップアップが表示されます)。

だから、私の質問は、仮想化RAID 0は従来のセットアップ(私の場合、1つのSSD上のOSとベアメタルアプリ、もう1つのVM上のVM)に比べSSD構成の使用に値するのですか?仮想化は512K、のSequentialR / Wの長所を活用しRAID 0ますか?


観察:

最近のSSDの一部はガベージコレクションを自分で管理できるためTRIM、問題が少ないことは読んだことがあります。SSDでこれを有効にする方法がわからない、またはサポートされているかどうかさえわかりません。


編集:

災害復旧に関して、このシステムには、ファイルストレージ用の大規模な標準プラッタードライブと、ミラーリングされたアレイで最終的に使用するセカンダリRAIDコントローラーもあります。夜間のローカルバックアップ、Carboniteを介した継続的なオフサイトバックアップ、一貫したオフサイトソース管理チェックインと組み合わせて、データ損失を防ぐための十分な手段を手に入れました。


1
徹底的な災害復旧計画を立てずにRAID 0を回避したいと思いますが、仮想化は間違いなくその構成でSSDの改善された速度を利用します。

いい視点ね。オンボードの標準ドライブもいくつかあり、マルチヘッドのオンサイトおよびオフサイトバックアップがあることを忘れていました。したがって、ドライブが故障しても完全にねじ込まれているわけではありませんが、RAID 0アレイの1つのドライブが故障するとすべてのデータが失われるので、これは良い点です。
Chad Levy

1
注意が必要なもう1つの問題:RAIDを実行するには、すべてのI / Oを特定のストライプサイズの単位にする必要がある場合があります。VMはおそらくこれらのストライプサイズに合わせてI / Oを実行しないため、ドライブの寿命を大幅に縮める可能性のある大規模な書き込み増幅が発生します。
afrazier

回答:


5

まず、コードのコンパイルは主にCPUバウンドであることが知られているため、単一のSSDの改善は期待できません。

ベンチマークでは、4k 0キューの深さのパフォーマンスは向上しませんが、4k 32キューの深さ(QD32)はかなり直線的に増加します。IMO、この結果はあなたの決定を推進するはずです。

ワークステーションは常にキューの深さが大きいデータベースサーバーではありませんが、ワークステーションの使用が中程度に集中している間は、キューの深さが2〜20のバーストが一般的です。この場合、ランダムIOはRAID 0で実際に改善されます。同時OSアクティビティの層がさらに増えると(最終的には2つ以上の同時VMを使用する可能性があります)、このメトリックはシナリオの状況を改善すると思います。

Windowsのパフォーマンスモニター(カウンターの追加...物理ディスク...平均読み取り/書き込みキューの深さ)で現在のキューの深さの使用状況を監視して、アイデアを得ることができます。

RAIDは複雑さの層(およびバックアップ/リカバリの問題)を追加しますが、240 GBのパーティションを大きくすることは間違いなくプラスのIMOです。ドライブでRAIDを使用する前に、TRIMの問題について確認してください。


素晴らしい情報、ありがとう。TRIMのサポートについて-TRIMは機能しているか、少なくともに従って有効になってfsutilいると思います。コマンドがRAIDインターフェイスを介して渡されなかった場合、WindowsはTRIMを有効にしますか?
チャドレビー2012

1
私はあまり慣れていません(ここにはSSDが1つしかありません。)が、RAIDコントローラーはTRIMをサポートしていないため、どこからでも参照されないでしょう。言い換えると、TRIMは技術的に無効になるため、SSDのファームウェアが内部で適切なガベージ管理を行っていることを確信している必要があります(ただし、それについては引用しないでください)。Intel RSTドライバーは、使用している場合、2012年にRAID TRIMをサポートする予定です。他のコントローラが続く可能性があります。
mtone 2012

3

ハードドライブの速度は、Visual Studio全体のパフォーマンスにとって重要です。スコット・ガスリーはこの記事でそれについてよく触れています:

マシンのマルチコアCPUは、過去数年間で十分高速になり、ほとんどの一般的なアプリケーションシナリオでは、通常、マシンで利用可能なプロセッサ容量がブロックされなくなります。

Visual Studioを使用して開発を行うと、多くのファイルの読み取り/書き込みが行われ、ディスクI / Oアクティビティの実行に長い時間を費やします。大規模なプロジェクトやソリューションには、数百(または数千)のソースファイル(画像、CSS、ページ、ユーザーコントロールなど)が含まれる場合があります。プロジェクトを開くと、Visual Studioはその中のすべてのソースファイルを読み取って解析し、インテリセンスを提供する必要があります。ソース管理に参加してファイルをチェックアウトすると、ディスク上のファイルとタイムスタンプが更新されます。ソリューションのコンパイルを行うと、Visual Studioは、複数のディスクパスの場所から更新されたアセンブリをチェックし、コンパイルが完了すると、複数の新しいアセンブリをディスクに書き込みます。また、.pdbデバッガーシンボルファイルをディスクに永続化します(すべて別のファイル保存操作として)。

私の個人的な経験では、SSDの使用は非常に役立ちましたが、大量のディスクI / Oがおそらく小さなランダム読み取りであることを考えると、RAID 0は大きな改善にはなりません。あなたが見つけるかもしれない他のものは、仮想ディスクI / Oがあなたの利益のいくらかを使い果たすということです。


3

Intel Z77は、Trim with RAIDをサポートし、これを実現した最初の低予算チップセットの1つです。ただし、SSDを使用していることをストレージ設定で指定する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.