ファイルサーバー-ストレージ構成:RAID vs LVM vs ZFS他に何か…?


35

私たちは、特にビデオ編集を行う小さな会社であり、大きなメディアファイルのバックアップコピーを保持し、簡単に共有できる場所を必要としています。

Ubuntu Serverと4 x 500 GBドライブでセットアップされたボックスを持っています。現在、Mac / Windowsワークステーションで問題なく表示できる4つの共有フォルダーとしてSambaをセットアップしていますが、より良いソリューションが必要です。これには2つの主な理由があります。

  1. 500 GBは十分な大きさではありません(一部のプロジェクトは大きくなります)
  2. 現在のセットアップを管理するのは面倒です。個々のハードドライブの空き容量と複製データ(バックアップ用)の量が異なるためです。これは今や混乱を招き、複数のサーバーが存在する場合にのみ悪化します。(「プロジェクトはshare4のsever2にあります」など)

そのため、単一のドライブの障害による完全なデータ損失を回避し、ユーザーが各サーバーで単一の共有のみを表示できるように、ハードドライブを組み合わせる方法が必要です。私はLinuxソフトウェアRAID5をやったことがあり、悪い経験をしましたが、もう一度試してみました。LVMは問題ありませんが、誰も使用していないようです。ZFSは興味深いようですが、比較的「新しい」ものです。

ユーザーにとって便利なhddを組み合わせる最も効率的でリスクの少ない方法は何ですか?


編集:ここでの目標は、基本的に、任意の数のハードドライブを含むサーバーを作成することですが、エンドユーザーの観点から複雑さを制限します。(つまり、サーバーごとに1つの「フォルダー」が表示されます)データのバックアップはここでは問題になりませんが、各ソリューションがハードウェア障害にどのように対応するかは重大な懸念事項です。だからこそ、私はRAID、LVM、ZFS、そして誰が何を知っているのかをまとめています。

RAID5での私の以前の経験はUbuntuサーバーボックスでもあり、完全なデータ損失につながるトリッキーでありそうもない状況のセットがありました。私は再びそれを回避することができましたが、システムに不必要な追加の障害点を追加しているという感覚が残りました。

RAID10を使用したことはありませんが、市販のハードウェアを使用しており、ボックスあたりのデータドライブのほとんどは6にほぼ固定されています。(ただし、少なくとも1つのサーバーのオプションはあります)

私はLVMの経験がなく、LVMがドライブの障害を処理する方法に関する矛盾するレポートを読みました。(ストライプ化されていない)LVMセットアップが単一のドライブの障害を処理でき、そのドライブに一部が保存されている(およびほとんどのファイルが単一のドライブにのみ保存されている)ファイルのみを解放できる場合は、それでも問題ありません。

しかし、まったく新しいことを学ばなければならない限り、ZFSに至ることもできます。ただし、LVMとは異なり、オペレーティングシステム(?)を変更して、現在地と目的地の間の距離を長くする必要があります。私はuniでsolarisのバージョンを使用しましたが、それほど気にしません。

ITスペクトルのもう一方の端では、FreeNASやOpenfiler、あるいはその両方を検討することもできると思いますが、ドライブの組み合わせ方法の問題は実際には解決しません。


4
ZFSは、実際にはSolaris / OpenSolarisでの安定した生産準備オプションとしか見なされていません(ただし、その準備が整っているとしても少数の人々が反論するでしょう)。
クリストファーキャシェル2009年

6
LVMに関する別の注意。。。冗長性とディスク障害の観点から考えるのをやめてください。LVMはより低いレベル(RAID)で処理する必要があるため、ディスク障害について決して知るべきではありません。LVMを使用すると、よりクリーンで柔軟な方法でディスクを管理およびパーティション化できますが、冗長性は追加されず、非LVMパーティションと同じ方法でディスク障害を処理します(爆発します)。
クリストファーキャシェル2009年

回答:


28

LVMは実際には非常に頻繁に使用されます。基本的に、LVMはハードウェア(ドライバー)レイヤーの上にあります。冗長性や信頼性の向上は追加されません(信頼性を処理するために基盤となるストレージシステムに依存しています)。代わりに、多くの柔軟性と追加機能を提供します。ディスクの障害はRAID(ソフトウェアであれハードウェアであれ)によって処理される必要があるため、LVMがディスクの消失や障害を見ることはありません。ディスクを失い、操作を続行できない(RAIDの再構築など)場合は、バックアップを行う必要があります。不完全な配列からデータを回復しようとする必要はありません(必要な場合は、設計全体を再評価する必要があります)。

LVMで得られるものの中には、パーティション/ファイルシステムを簡単に拡大および縮小する機能、新しいパーティションを動的に割り当てる機能、既存のパーティションのスナップショットを作成する機能、スナップショットを読み取り専用または書き込み可能なパーティションとしてマウントする機能があります。スナップショットは、特にバックアップなどの場合に非常に役立ちます。

個人的には、構築するすべてのボックスのすべてのパーティション(/ bootを除く)にLVMを使用していますが、過去4年間はそうしています。ディスクレイアウトを追加または変更する場合、LVM以外のボックスを処理するのは非常に苦痛です。Linuxを使用している場合は、間違いなくLVMを使用する必要があります。 [注:LVMの上記のものは、それが何であるか、およびストレージ方程式にどのように適合するかをよりよく説明するために更新されました。]

RAIDに関しては、レイドなしでサーバーを実行することはありません。ディスク価格が安いので、私はRAID1またはRAID10を選びます。より速く、よりシンプルで、はるかに堅牢です。

正直なところ、Ubuntu(私がお勧めします)と結婚していない限り、またはボックスが他のタスクを実行している場合は、OpenFilerを調べてください。それはあなたのボックスをWebインターフェースを備えたストレージアプライアンスに変え、すべてのRAID / LVM / etcを処理し、ストレージをSMB、NFS、iSCSIなどとしてエクスポートできるようにします。


2
2つ目のOpenFilerの提案。必要なディスク容量に追いつくことができないように思われ、サーバーをデータから分離することで、エンドユーザーエクスペリエンスと管理が非常に簡単かつ良くなります。Netappがこれほど成功しているのには理由があります。そのモデルに従うことをお勧めします。
pcapademic

1
freeNASを簡単に検討しました。代わりにOpenFilerを選択する理由はありますか?
privatehuff

私が数年前に彼らと初めて遊び始めたとき、OpenFilerはより安定していて、機能が豊富で、ドライバーのサポートが優れていて、より活発に開発されていました。私はそれを試してみることにしました、そしてそれは私にとって本当にうまくいきました。それ以来、正直にFreeNASを見ていない。FreeNASがOpenFilerに追いついたのかもしれませんが、私にはわかりません。
クリストファーキャシェル09年

私はFreeNASをSMBおよびiSCSIターゲットに使用してきましたが、見事で、見逃せません。私はそれがどのように比較は考えてきたんので、一方で、私は、OpenFilerの評価を行っていない
マーク・ヘンダーソン

13

ZFSは非常に信頼性が高く、ストレージ管理を非常に簡単にします。おまけとして、smbはOpenSolarisのZFSと統合されており、Raidを非常にうまく処理します。数日待ってからリリースされた2009.6バージョンをダウンロードし、テストマシンで試してみてください。ZFSがきっと気に入っていただけると思います。

また、ZFSの新しいコメントについては、もう新しいものではありません。


「新しい」とは主に私にとっての意味であり、何年もそれについて聞いたり遊んだりしていません。しかし、ZFSを使用するにはOpenSolarisを実行する必要がありますか?
privatehuff 09年

ZFSについては、他のUNIXでもサポートされていると聞いています。
ブラッドギルバート

1
ZFSが必要な場合は、OpenSolarisで必要です。Linuxでの実装はユーザー空間を介して行われ、その結果、パフォーマンスのオーバーヘッドと競合するキャッシュポリシーの影響を受けます。
jldugger 09年

3
他のオペレーティングシステムでのZFSサポートには、機能が大幅に欠けています。実際、OpenSolarisは本当に素晴らしいオペレーティングシステムですが、実際のOpenSolarisを使用してください。zfs set sharemb = on backup / share1は本当に素晴らしい統合です。
Wijnand

9

中心的な質問は、「このデータはどれほど重要ですか?」です。

答えが「簡単に再作成できる」という場合、RAID5が必要です。管理を簡単にするために、おそらくその上にLVMを追加できます。

答えが「私はそれを再作成することはできますが、しばらく時間がかかり、人々が不平を言うでしょう」という場合、RAID 6またはより可能性の高いRAID 1/10が必要です。

答えが「私がそれを再作成し、それが少し完璧であることを確認している間、誰も何もしません」である場合、ZFS / Raid-Zが必要です

いつでも再作成できることに注意してください。RAIDはバックアップではありません。


1
「答えが「私がそれを再作成し、それがビットパーフェクトであることを確認する間、誰も何もしません」であるなら、ZFS / Raid-Zが必要です」このステートメントは、ZFSまたはRAIDについて一般的に何も知らないことを示します。ブロック冗長性の試行を伴うすべてのシステムは、再構築中にパフォーマンスの低下を被ります。
ジャーリー2009年

相対的なパフォーマンス特性よりもデータの重要性を重視していました。再構築中の劣化ももちろん重要ですが、私が対処していたものではありません。
user2108 19年

RAID-ZまたはRAIDZ2は、RAID6よりも優れた冗長性をどのように提供しますか?両方とも、アレイ内の障害のあるディスクを最大で2つ処理します。また、RAID10は、残りのディスクではなく、適切なディスクが必要なため、RAID6ほどではない2番目の故障ディスクを処理します。RAID6よりもRAID10の方がパフォーマンスがはるかに優れています。サイドノート:Linux 2.6.30はリリースされており、RAID1-> RAID5 <-> RAID6 ==素晴らしさから移行できます!
serverhorror

5

同じシャーシ内の多くのドライブを接続するには、ハードウェアRAIDコントローラーが最適なツールです。ドライブに多くのSATAコネクタを提供し、RAID-5またはできればRAID-6を介した冗長性を提供し、パフォーマンスも向上します。

多くの場合、ベンチマークではソフトウェアRAIDのパフォーマンスはハードウェアRAIDよりも優れていますが、ファイルサービスとソフトウェアRAIDはどちらもCPUを集中的に使用し、作業中にプロセッサを奪い合います。私の経験では、デュアルクアッドコアシステムを使用しない限り、適切に構成されたハードウェアRAIDはソフトウェアRAIDに勝るものはありません。

優れたLinuxサポートを備えた優れたハードウェアコントローラー:

  • アレカ
  • 3Ware
  • 新しいAdaptecシリーズ(古いものはslooooowです)
  • LSI MegaRAID

2
私は3wareカードに目を向けるつもりです。特に9650seと9690seでは邪魔になります。どちらのタイプのカードも9650seで最大16台のドライブで使用され、実際の問題はなく、安定した製品です。

4

RAIDはLVMとは異なります。RAIDを使用してフォールトトレランスパーティションを作成できますが、LVMはディスクのパーティション分割とファイルシステムの編集を容易にするために使用されます。RAID over LVMまたはZFSを使用できます(ZFSはRAIDとLVMの両方で機能します)。私の意見では、ZFSはLVMよりもうまく機能しますが、

  • Solaris 10/11 / OpenSOlarisのみ、Linuxからは使用できません
  • ZFSはディスク管理およびファイルシステムであり、LVMは必要なファイルシステムを使用できます

Ubuntuでは、LVMでRAID5 MDを使用することを好みます。


1
ZFSは、FreeBSD 7.xおよびNexentaで利用可能です。
ジャーリー2009年

4

NexentaとOpenSolarisが提供しているものを見てください。無料で手に入れることができることに非常に満足していると思います。OpenFilerの次のリリースでは、FreeBSD ZFSポートも使用されると噂されています(ただし、機能の観点からはかなり遅れています)。

そうは言っても、ソフトウェアでRAID5、RAID6、またはRAID50を実行することは避け、ハードウェアコントローラーを使用してすべてのXOR作業をオフロードすることを好みます。LinuxソフトウェアのRAID1とRAID10は非常にうまく機能します。そこから、LVMをそれらの上に置いて、冗長性を配置した後のブロックの処理の柔軟性を高めます。RAID + LVM + XFSは私のお気に入りのLinux構成ですが、いつでもZFSを引き継ぎます。


従来、ハードウェアRAIDはソフトウェアRAIDと同様に機能しませんでした-通常、専用コントローラーが複製できる書き込みが複数ある場合(つまり、PCIバスを介して渡す必要がない場合)、つまりRAID 1の利点があります。ハードウェアRAIDを使用すると、たとえば、ファームウェアの品質と(簡単に)更新できないことがわかります。最後に、別の障害点が追加されます。これらの理由により、私はハードウェアRAIDを避ける傾向があります。そうは言っても、これらと同じ理由で、新しいハードウェアRAIDオプションで遊んだことはありません!:)
ブライアンM.ハント

2

RAID対LVMは、別々の役割を実行し、頻繁に一緒に使用されるので、実際には良い比較ではありません。RAIDはドライブの冗長性に使用され、LVMはRAIDデバイスを論理ボリュームに分割するために使用でき、簡単なサイズ変更とスナップショットの作成に使用されます。


2

よく似た会社/状況でファイルサーバーを実行しました。基本的に3人のグラフィック部門であり、30TBのストレージと小さな会社の予算がわずかです。私たちの典型的なプロジェクトは、0.5TBから6TBまで実行されました。そして、ファイルサーバーは、かなり大きなレンダリングファームにサービスを提供していました。

私のセットアップでは、外部ハードウェアRAID6アレイが接続されたLinuxを実行する3Uサーバーを実行しました。LVMで物理ボリュームと論理ボリュームを管理し、XFSファイルシステムを実行しました。私がやることは、プロジェクトごとに論理ボリュームを作成し、プロジェクトの成長に合わせて拡張することです。プロジェクトが完了したら、ジョブをテープにアーカイブし、論理ボリュームを吹き飛ばすことができました。これにより、そのスペースがボリュームグループに戻り、次のプロジェクトに再割り当てされます。

これはストレージを利用する非常にクリーンな方法でしたが、このアプローチには2つの欠点があります。論理ボリュームに割り当てられたスペースの量のバランスをとろうとして論理ボリュームのサイズをマイクロ管理する必要があるため、ジョブを実行するのに十分なスペースがありますが、それを過剰に割り当ててスペースを浪費することはありません。レンダリングファームは、1日に多くのTBのデータを生成することができました。これに細心の注意を払わないと、急いでスペースが不足します。最終的には、論理ボリューム上の使用可能なスペースの傾向を監視し、それらを自動拡張するスクリプトをいくつかセットアップしました。80個程度の論理ボリュームが存在する場合でも、すべての論理ボリュームに多くの未使用スペースが使用されていました。私はすでに2番目の問題を示唆しました.... LVMは シンプロビジョニングを実際に行うと、XFSではファイルシステムの成長のみが許可されます。そのため、論理ボリュームへのスペースの過剰割り当ては、多くの使用不可能なスペースになる可能性があります。

これはすべて約5年前のセットアップでしたが、今日セットアップする場合はOpenSolarisとZFSを使用します。主な理由は、ZFSプールストレージアプローチがボリューム管理の削減を意味することです。各プロジェクトを独自のファイルシステムに分離できますが、個々のボリュームのサイズをマイクロ管理する必要はありません。ZFSには、より良い選択となる非常に優れた機能がいくつかありますが、serverfaultについては他にも質問があります。

私の意見では、ZFSは単に今日入手可能な最高の無料ソリューションです。


2

Linuxを使用する場合に考慮すべき事項:

  • ファイルシステムについても考えてください。4x 500GBの例は、ext3の良心でお勧めする最大容量です。たとえば、fsckの時間が非常に長くなる可能性があるため、はるかに大きなext3ファイルシステムを作成することはお勧めしません。1つの大きなファイルシステムではなく、いくつかの小さなファイルシステムを作成します。
  • ビデオデータについて述べたように:ext3は大きなファイルを非効率的に処理しますするために間接、二重間接、三重間接のメタデータブロックを作成する必要があるため、します。現在、ext4はエクステントをサポートしており、これをより適切に処理します。しかし、それはかなり新しいものであり、たとえばRed Hat Enterprise Linux 5はまだサポートしていません。(一部のエンタープライズディストリビューションはXFSなどの代替をサポートします)。
  • データブロックにデータ破損がある場合、Linuxファイルシステムでこれに気付くことすら困難です。一方、ZFSはすべてのメタデータチェックサムデータもチェックサムを確認するたびにデータがディスクから読み取られます。(バックグラウンドスクラブもあります)
  • RAID レイヤーはファイルシステム(レイヤー)の内容を認識しないため、LinuxでのRAID 再構築時間はディスクサイズに比例します。ZFSのRAID-Z再構築時間は、使用済みブロックのみが交換ディスクにコピー/再構築されるため、故障したディスク上の実際のデータ量に依存します。
  • あなたはしますかスナップショットあなたのファイルシステムを?LVMスナップショットは、ZFSの瞬間的なスナップショットと比較することさえできません。後者は、たとえば簡単に復元するために、エンドユーザーに簡単に公開することもできます。
  • 再構築中に別のディスクが故障する可能性があるため、大きなディスク(> 500GB)でRAID5(RAID-Z)だけでなく、RAID6(RAID-Z2)を使用してください。

ext3については考慮していなかった素晴らしい点。Ext4はまだ私の血液にとって少し新しいものですが、XFSは私が使用しているUbuntuサーバーでサポートされているはずです。これにはお勧めですか?
privatehuff 09年

1

「mdadm」ユーティリティを使用して、ドライブからRAID-5アレイを作成します。

これにより、必要な冗長性が提供されるため、ドライブが故障した場合でもデータを損失することなく交換でき、4台のドライブのうち3台を使用できます。

また、RAIDの上にLVMボリュームを作成することをお勧めします。これにより、必要に応じてスペースを分割できます。


1

AFSをご覧ください。これにより、可用性(ネットワークのオンとオフの両方でこれらのファイルにアクセスできます)と冗長性(ファイルを複製できます)の両方の尺度が得られます。ファイルを開いてしばらく作業してから保存するワークフローの場合、これはNFSよりも優れています(少なくとも古いNFS)。


1

他の回答にあるように、LVMは広く使用されており、複数のディスクを1つの巨大なブロックデバイスのように見える単一の「ボリュームグループ」に結合できます。ただし、これを行うと障害の可能性が高くなることを覚えておく価値があります。ファイルシステム全体を取り出すのにボリュームグループで1台のディスクが故障するだけで、4つのディスクが結合されている場合、これは4倍の可能性があります。これを軽減するには、RAID1または類似のLVM上でLVMを使用するのが最適です。LinuxソフトウェアRAIDはこれに非常に適していますが、ハードウェアRAIDの方が便利かもしれません。


「ボリュームグループでファイルシステム全体を取り出すのに1台のディスクだけが故障する」というステートメントは、ボリュームグループ内で論理ボリュームを作成して使用する方法に大きく依存します。ボリュームグループ全体を満たす単一の論理ボリュームのみを作成する場合、それらはあなたの言うとおりです。単一のボリュームグループに複数の論理ボリュームを作成することは、完全に可能であり、ファイルシステムの要件によっては推奨されます。
pgs

1

申し訳ありませんが、これはコメントになりますが、担当者がいません...

RAID-ZまたはRAIDZ2は、RAID6よりも優れた冗長性をどのように提供しますか?

ZFSにはどこでもチェックサムがあります

元の質問について。データが何であれ、10個のディスクごとに2個のアクティブパリティを使用します。私は3wareのものが優れている良質のRAIDカードを使用します。個人的には、バッテリーバックアップ付きのハードウェアRAIDを使用しています。LVMは、ハードウェアの寿命の終わりにデータを簡単に移行できるようにします。ファイルシステムとしてのXFS。


0

システムサーバーを起動するためにディスクまたはSSDカードを使用せず、500 GBをストレージとしてのみ使用する理由。500GBのディスクを1つ使用し、完全になったら手動で交換します。後で落ち着いて別のコンピューターでバックアップを行うことができます。ハードディスクが回転(回転)している間に損傷する可能性があるためです。とにかく、すべてのディスクを同時に接続すると、すべてが回転し、使用するかどうかに関係なく損傷を受ける可能性があります。より多くのディスクをオンにすると、障害の可能性が高まります。一度に1つ使用し、満杯になったとき、または障害が予想される期間に交換します(SMART機能を使用してそれを取り除きます)。キャリーディスクを使用するか、外部SCSI / SATAディスクアダプターを使用すると、ディスクを交換するたびにコンピューターサーバーを分解する必要がなくなります。これが最も安全で信頼できる形式です。RAIDの使用はより高価であり、いくつかのディスクを無駄にするだけです(オンにしただけで損傷する危険があるため、オンにしたのはバカですか?)。より多くのデータ処理が必要な場合は、そのためにRAID構成を使用することをお勧めしますが、コンピューター構成を決して信頼しないでください。バックアップは、常に人(ネットワーク管理者またはサーバー管理者)と手動で行う必要があります。これは管理者の仕事の1つです。バックアップにはテープ、DVD、BlueRay、またはその他のディスクを使用できます。ただし、常に信頼性の高いストレージメディアが必要であり、実行中のディスクは1つではありません。ディスクをオフにして十分に保存された(湿気のない新鮮な場所に)信頼できる記憶媒体です。より多くのデータ処理が必要な場合は、そのためにRAID構成を使用することをお勧めしますが、コンピューター構成を決して信頼しないでください。バックアップは、常に人(ネットワーク管理者またはサーバー管理者)と手動で行う必要があります。これは管理者の仕事の1つです。バックアップにはテープ、DVD、BlueRay、またはその他のディスクを使用できます。ただし、常に信頼性の高いストレージメディアが必要であり、実行中のディスクは1つではありません。ディスクをオフにして十分に保存された(湿気のない新鮮な場所に)信頼できる記憶媒体です。より多くのデータ処理が必要な場合は、そのためにRAID構成を使用することをお勧めしますが、コンピューター構成を信頼しないでください。バックアップは、常に人(ネットワーク管理者またはサーバー管理者)と手動で行う必要があります。これは管理者の仕事の1つです。バックアップにはテープ、DVD、BlueRay、またはその他のディスクを使用できます。ただし、常に信頼性の高いストレージメディアが必要であり、実行中のディスクは1つではありません。ディスクをオフにして十分に保存された(湿気のない新鮮な場所に)信頼できる記憶媒体です。ただし、常に信頼性の高いストレージメディアが必要であり、実行中のディスクは1つではありません。ディスクをオフにして十分に保存された(湿気のない新鮮な場所に)信頼できる記憶媒体です。ただし、常に信頼性の高いストレージメディアが必要であり、実行中のディスクは1つではありません。ディスクをオフにして十分に保存された(湿気のない新鮮な場所に)信頼できる記憶媒体です。

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