web-dev-qa-db-ja.com

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

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

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

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

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

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


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

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

私はRAID10を使用していませんが、一般的なハードウェアを使用しており、ボックスあたりのほとんどのデータドライブは6でかなり固定されています。500GBのドライブが多数あり、1.5 TBはかなり小さい(ただし、少なくとも1つのサーバーのオプションとしてはまだ)

私はLVMの経験がなく、LVMがドライブの障害を処理する方法について矛盾するレポートを読んだことがあります。 (ストライプ化されていない)LVMセットアップが単一のドライブの障害を処理でき、そのドライブに格納されている部分(およびほとんどのファイルが単一のドライブのみに格納されている)のファイルが失われた場合にのみ、それで問題なく対応できます。

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

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

35
privatehuff

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

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

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

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

正直なところ、Ubuntuに慣れていない限り(通常はこれをお勧めします)、またはボックスが他のタスクを実行している場合は、 OpenFiler を確認することをお勧めします。それはあなたの箱をウェブインターフェースを備えたストレージアプライアンスに変え、あなたのためにすべてのRAID/LVM /その他を処理し、あなたがSMB、NFS、iSCSIなどとしてストレージをエクスポートすることを可能にします。

28

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

そして、あなたのコメントZFSが新しくなったことについて:それほど新しくはありません!

13
Wijnand

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

答えが「簡単に再作成できる」である場合は、RAID5が必要です。おそらく、LVMを上に置いて、管理を単純化します。

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

答えが「私がそれを再作成している間、誰も何もせず、それがビットパーフェクトであることを確認する」である場合、ZFS/Raid-Zが必要です。

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

9
user2108

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

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

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

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

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

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

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

4
Paul Rudnitskiy

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

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

4
jharley

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

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

これはストレージを活用するための非常にクリーンな方法でしたが、このアプローチには2つの欠点があります。論理ボリュームに割り当てられたスペースの量のバランスを取るために論理ボリュームのサイズを細かく管理しなければならないので、ジョブを実行するのに十分なスペースがありましたが、それを過剰に割り当ててスペースを無駄にすることはありませんでした。私たちのレンダリングファームは、1日に何TBものデータを生成する能力があり、これに細心の注意を払わないと、急いでスペースが足りなくなります。私は最終的に、論理ボリュームの使用可能なスペースの傾向を監視し、それらを自動的に拡張するスクリプトをいくつかセットアップしました。 80程度の論理ボリュームを配置しても、すべての論理ボリュームに大量の未使用スペースが占有されていました。私はすでに2番目の問題をほのめかしました... LVMは実際にはシンプロビジョニングを実行せず、XFSではファイルシステムを拡張することしかできません。そのため、論理ボリュームにスペースを過剰に割り当てると、使用できないスペースが大量に増える可能性があります。

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

私の意見では、ZFSは、今日利用できる最高の無料ソリューションです。

2
3dinfluence

Linuxを使い続ける場合に考慮すべきいくつかの点:

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

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

2
Zoredache

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

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

ZFSにはチェックサムがある どこでも

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

1
James

AFSを調べてみてください。これにより、可用性(ネットワークの内外でこれらのファイルにアクセスできます)と冗長性(ファイルを複製できます)の両方をある程度測定できます。ファイルを開いてしばらく作業してから保存するワークフローの場合、これは(ネットワークの観点から)NFSよりも優れており、少なくとも古いNFSが適しています。

1
Chris

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

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

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

1
ph.

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

1
Dan

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

0
Anyeos