私は自宅と職場でいくつかのLinuxマシンを実行しています。私のコンピューティングのほとんどは、I/Oが制限されています。たとえば、大規模なコンパイラ回帰スイートなどです。自宅には、地上アンテナから高解像度ビデオをキャプチャするマシンも1台あります。 1つのスポーツイベントが約30GBの単一ファイルになります。私はHDビデオ専用の4TB以上のストレージを持っています。
私の質問はどのような状況でストライプする必要がありますか?ホームディレクトリとルートファイルシステムの現在の設定は、LVMを使用して2つのドライブにXFSをストライプ化することです。 lvdisplay -m
からのサンプル出力:
Logical extent 0 to 117247:
Type striped
Stripes 2
Stripe size 64 KB
Stripe 0:
Physical volume /dev/sdb2
Physical extents 0 to 58623
Stripe 1:
Physical volume /dev/sda2
Physical extents 0 to 58623
ただし、 RAID:自宅のPCにはそれほど賢いアイデアではありません 、 2台のドライブの方が1台よりも優れていますか? 、 ( storagereview.comからの記事 —これらはすべて、RAID-0を使用したストライピングは、シングルユーザーのデスクトップマシンにとってお金と労力の無駄だと言っています。 しかし
これらの研究では、LinuxではなくWindowsを使用しています
LVMではなくハードウェアRAIDを使用します
彼らは30GBのビデオファイルを扱っていません
他の人の質問について、どのような構成がある場合、2つのディスクにまたがるLVMストライピングはシングルユーザーのLinuxデスクトップエクスペリエンスを改善しますか?
私の質問は、どのような状況でストライプする必要があるかということです。
「ミラー」ストライプについて話している場合は、それを使用して、あるドライブから別のドライブにデータを移行します。通常のmd
ドライバーほど効率的ではないため、not RAID-1の形式として使用します。
ドライブスペースを拡張するストライプについて話している場合は、それが使用されます。スペースが不足したときです。
そうでなければ、LVMストライプオプションを気にしないでしょう。
2つのディスクにまたがるLVMストライピングは、シングルユーザーのLinuxデスクトップエクスペリエンスを向上させるのでしょうか。
さて、eSATAエンクロージャーに2台のドライブがある、ビジー状態のサーバーに対してLVMミラーリングをオンにしました。私が観察した動作は、ミラーリングが他のドライブへの書き込みを「バースト」し、多くの場合、プライマリドライブより1〜2秒遅れるというものでした。プライマリドライブの障害時に一貫性の問題が発生する可能性があるため、これは非常に緊張しました。書き込み負荷が大きい場合もパフォーマンスはひどく、読み取りに他のドライブを使用しなかったため、読み取りパフォーマンスは向上しませんでした。そのセットアップを破棄し、md
ドライバーを介してRAID-1に切り替えたところ、「バースト」動作なしで速度の向上がすぐにわかりました。
いくつかの推奨事項:
しかし、私は次のようなタイトルの記事を読んだばかりですRAID:自宅のPCにはそれほど賢いアイデアではありません、2台のドライブは1台よりも優れていますか?、storagereviewの記事.com —これらはすべて、RAID-0を使用したストライピングは、シングルユーザーのデスクトップマシンにとってお金と労力の無駄だと言っています。
RAID-0ストライピングが存在する理由は、ストレージ容量が不足していて、一時的に容量を増やす必要があるためです。ここでのキーワードは「一時的」であり、恒久的な修正で問題をすぐに解決するという考えです。
ワイプして再インストールできるゲームボックスについて話しているなら、そうです、それは時間の無駄です。
あなたがあなたの生計を処理する箱について話していて、物事を機能させる唯一の方法が別のドライブにボリュームを拡張することであるならば、それは別の話です。あなたはあなたがする必要があることをする必要があります。
ストライピングは、おそらく日常のデスクトップアクティビティには役立ちません。ストライピングは、大規模で(比較的)長いIO操作がある場合に最適です。通常のデスクトップでは、通常、小規模でランダムなIO操作が多数あります。 、ストライピングのメリットはありません。
私見、ストライピングが最もよく使われます:
HDブロードキャストが19.4Mbit /秒の最大ビットレートを使用することを考慮します。これは2.5MB /秒未満です。一度に4〜5台のHD放送を録画でき、1台のハードドライブで対応できます。したがって、この場合、リスクは利益を上回ります。
違いに気付く可能性がある唯一の実際の状況は、これらの30GBファイルを、ギガビットイーサネットを介した何らかのレイドがあった別のシステムにコピーする場合、またはこれらのビデオを編集する場合です。しかし、私の推測では、この場合、おそらくコマーシャルにもフラグを立てているmythtvボックスについて話していると思います。したがって、商用フラグはわずかに高速になる可能性がありますが、mythtvは、ストリームがキャプチャされると、これをバックグラウンドプロセスとして実行します。ただし、エンドユーザーの観点からは改善は見られません。
私は言う-常に LVMを使用します。使用しているLVをいつ拡張するかわからないので、別のドライブを追加するか、全体をより大きなドライブに追加して空のPVを追加するだけで拡張できるオプションがないのはなぜですか。スペース。
スナップショットの可能性、およびLVMが提供するその他の機能は言うまでもありません
そして、それらの記事に関しては、RAIDとLVMは異なるものであり、異なる目的を達成するためにあります。 RAIDは主に、ストレージの堅牢性を生み出すこと、またはストレージの速度を向上させることです。 LVMは、柔軟なスペース管理と、スナップショットなどのいくつかの追加機能に関するものです。スナップショットは、それ以外の場合はハイエンドストレージシステムでのみ可能です。
ストライピングは、データを失うリスクがある場合にのみ役立ちます。ブロックデバイスの信頼性は、単一のドライブの半分になります。追加のパフォーマンスと引き換えにそれと一緒に暮らすことができれば、ストライピングはうまくいくかもしれません。
追加のパフォーマンスが得られるかどうかは、システムの残りの部分によって異なります。 SATAチップとシステムの他の部分の間にボトルネックがありますか?あなたは本当にI/Oバウンドなどですか?.
何かが得られるかどうかを確認する唯一の簡単な方法は、システムを使用するジョブの負荷を試してみることです。
他の人が言っているように、LVMは柔軟性があるため、常にLVMを使用します。 tmpスペース用でない限り、ミラーリングされていないストライプを自宅で使用することはありません。
一般に、ワークステーションクラスのデバイスの「ハードウェアRAID」アダプタはジャンクです。そのトピックに関するStackOverflowの質問はたくさんあるので、そのままにしておきます。
どのルートを選択する場合でも、ストライピング(別名RAID-0)は、使用しているIOバインドされたアプリケーションのパフォーマンスを向上させるための優れた手法です。そのパフォーマンスの価格は高く、不明です。壊滅的な障害の追加のリスク。
それは大したことですか?私にとってはそうではありません-私は4つのストライプドライブを備えたMacProを使用しており、すべてTimeMachineでバックアップされています。バックアップから復元している間、数時間はコミッションがない状態で生活できます。ストライピングを続行する前に、使用できるバックアップ/復元戦略を採用することをお勧めします。
IMO、データをまったく気にしない場合にのみ、ストライピングを単独で使用する必要があります。
複数のドライブにデータをストライプ化すると、いずれかのドライブに障害が発生するとボリューム全体が完全に失われるため、すべてのドライブですべてが失われるリスクが高まります。 ...そして、ストライプオーバーするドライブが多いほど、リスクは大きくなります。
したがって、IMO、「いつストライプする必要がありますか?」に対する答え「never」または「RAID-10のようにミラーボリュームをストライピングする場合」のいずれかです。
データ自体とIOパフォーマンスの両方が重要な場合は、goodハードウェアSAS RAIDカード(例:adaptec)を入手してください。大容量のバッテリバックアップ書き込みキャッシュを備えた3805または5805など)、RAID-6ボリュームを作成します。RAID-6で4TBを取得するには、6 x 1TBドライブが必要です。さらに、ホットスペアまたはコールドスペアとしてもう1つ必要です。
SASコントローラーはSASドライブとSATAドライブの両方をサポートします。上記のモデルは最大8台のドライブを直接サポートしますが、SASエクスパンダー(atパフォーマンスのコスト-ドライブが多いほど、ドライブあたりの帯域幅は少なくなりますIOドライブあたりの帯域幅ですが、実際のパフォーマンスへの影響に気付かずに、おそらく最大16台程度まで拡張できます。SATAチャネルあたり3Gbpsで、おそらく250MB /になります。 sのIO、および現在の良好な非SSDドライブは、それぞれ約100〜120MB /秒程度を使用できます)。
または、ソフトウェアRAID-10(ミラーリングされたボリュームのストライプアレイ)を使用します。 4TBアレイには8x1TBドライブが必要です。例えば単一の4TBボリューム用にRAIDまたはLVM)と一緒にストライプ化された4つのRAID-1アレイ。
これらのRAIDアレイ上でLVMを使用して、スペースを管理できます。 RAID-10ルートを使用する場合は、RAID-0ではなくLVMを使用してストライピングを実行できます。
考慮すべきもう1つのことは、IOを消費するアプリケーションを分離して、IOをめぐって競合しないようにすることです。例えばOSを1つの小さなドライブ(80GB(またはRAID-1ミラーリングペア))に、コンパイラリグレッションのソースコードを別のドライブまたはRAID-1ペアに、ビデオデータをswRAID-10またはhwRAID-6に保持します。 。
linuxがディスクのバッファリングにすべてを使用するので、できるだけ多くのメモリをマシンにインストールします。最も一般的なマザーボードは最大4つのDDR-2または6つのDDR-3メモリスティックをサポートしているため、2GBのスティックは4GBのスティックよりもはるかに安価で、最大8GBまたは12GBをリーズナブルな価格でインストールできます。それ以上が必要な場合は、マザーボードを4GBのスティックを使用するよりも多くのRAMソケットを備えたサーバーMB(TyanまたはSuperMicroなど)に交換する方が費用効果が高くなります。
ああ、そしてホットスワップベイは良い考えです-ドライブが故障したとき(そうでない場合はそうではありません)、できるだけ早くそれを交換できる必要があります。 RAID-6は、同時に障害が発生した2台のドライブに対処できるため、1台のドライブに障害が発生した場合、もう1台のドライブだけですべてを処理できます。 RAID-10は、より多くのドライブの障害に対処できます(ミラーリングされた各ペアの1つが存続する限り、ドライブの最大半分が障害になる可能性があります)。
そして最後に、バックアップ。 RAIDは、これまで多くの人が何度も言及したように、バックアップの代わりになります---([〜#〜] not [〜#〜]。現在、カートリッジの交換に何日も費やすことなく、妥当な時間内に大量のデータをバックアップできる唯一のテープメディアはLTO-4です。このためのドライブは高価であり、テープカートリッジは高価に見えます(ただし、ギガバイトあたりのコストを計算すると、実際にはハードドライブよりも安価です)。予算がそれに収まらない場合は、複数の追加ドライブ(e-sata、firewire、スペアのホットスワップベイ...またはUSB経由で接続)を使用してバックアップすることができます-ドライブの挿入、バックアップの実行、削除ドライブ、棚に保管、またはオフサイト...現在のドライブ容量は最大2TBであり、時間の経過とともに大きくなり、安価になります。ところで、現在の価格(裸のLTOドライブで約1500ドルから2000ドル、1TBのハードディスクで約100ドル-現在のオーストラリアドルの価格)では、LTOドライブのコストでバックアップ用に15〜20台のハードドライブを購入します。 。そして、一度にすべてではなく、必要に応じて購入することができ、価格は毎回著しく下がっています。
すべてのゲームがインストールされているドライブが、メインシステム/ワークパーティションがインストールされているドライブよりも少し古いためかもしれませんが、2つ目のドライブを追加すると、一部のゲームの読み込み時間とレベル間時間が明らかに改善されていることに気付きました。 (同じ系統の)そしてRAID0アレイとしてセットアップします。理論上の2倍のパフォーマンスには近くありませんが、かなり目立つほどです。もちろん、これは非常に主観的です。統計的に適切なベンチマークを実行したことはありません。
これらの記事はかなり古く、storagereviewの記事では、PCIバスの制限について具体的に説明しています(つまり、最新のドライブではなく、バルクスループットのボトルネックになり、RAID0のバルクパフォーマンスが制限されます)。ただし、コントローラーがPCI-Eベースの場合は、スループットが向上します。
そうは言っても、実際にどのような違いが生じるかを確認するための実験として、デスクトップボックスにRAID0をセットアップするだけです。自宅で新しいデスクトップPCを新しい光沢のある高速ドライブと一緒に組み立てたのであれば、同じことをもう一度行うかどうかはわかりません。デスクトップで使用する場合は、パフォーマンス上の理由から、RAID0構成で使用するのではなく、ドライブのペアをRAID1アレイとして使用して冗長性を確保することをお勧めします。