web-dev-qa-db-ja.com

大容量のBtrfsRAIDレベルNAS(8+ 5tbディスク)

大量のメディア(20tb +)を保存するために新しいNASを構築することを計画しています。NASとNAS $ ===の両方にbtrfsを使用したいと思います。バックアップ(別のシステムである可能性がありますが、まだわかりません)

  1. ディスク障害とビット腐敗をカバーするためにraid1またはraid10を使用したい
  2. 1つの大きなファイルシステムと8〜15のサブボリュームを使用したい-効率的なスペース使用量など

私の問題は-raid6がまだスクラッチに達しているようには見えず、単一のraid1またはraid10ファイルシステムは単一のディスク障害から私を保護するだけです-5tbでディスク障害が発生した後にファイルシステムを再構築することを心配しています- 10TBサイズのディスクは少なくとも数日かかり、別のディスク障害で完全に失われることになります。それでもバックアップがあることはわかっていますが、同じ問題が再び発生します

  1. 上記のシナリオでのbtrfsのオプションは何ですか
  2. 障害が発生した場合にのみそのディスク上にあるファイルを失う、ディスクを組み合わせるためのbtrfsファイルシステムモードはありますか?
  3. btrfsは、RAIDではなくバックアップファイルシステムを使用してチェックサムエラーを回復できますか?
  4. zfsはどうですか
  5. 私のシナリオでは、unraid、flexraidなどはどうですか?

ありがとう

2
Shaun Arundell
  1. zfsはどうですか

こんにちはショーン、

Btrfsについてはあまりお話しできませんが、まだやることリストに載っています。 ZFSの場合、利用可能なソリューションがいくつかあり、一部はグラフィカルインターフェイスを備えています(通常、プライベート使用のために無料のバージョンを提供します)。 Solaris、OpenIndiana、OmniOSのコマンドラインを使用してテストしましたが、使いやすさのために、nexentastor(よりビジネス指向で直感的でないGUI)のような特別なNASディストリビューションを使用することをお勧めします)またはあなたの場合はおそらくFreeNAS(優れたオールラウンダー、webGUI、無料)。

FreeNASのインストールは簡単です(例えば、USBスティックに画像を書き込む(弾力性を高めるためにSLCベースのチップを好む)、メインボードに貼り付け、起動し、コマンドラインでネットワークを構成し、ネットワークに接続します-その後、他のすべてはWeb経由で行われます-GUI)とコミュニティは非常に活発です。また、メディアサーバー(プレックスメディアサーバー)を(分離モジュールとして)インストールし、選択したディレクトリまたはファイルシステム(オプションで読み取り専用)を表示する簡単なオプションがあります。

そして私にとって最も重要なのは、(ほぼ無制限の)スナップショットとスナップショットベースのレプリケーションを別のボックスに取得することです。意味:定期的にスナップショットを作成し、それらを別のボックスに複製するタスクを導入できます。そのボックスは同一である必要はありません。アーカイブとしてのみ機能する低コストのシステム構成(別のシステム/ OSに基づく場合でも)、または本格的なツインにすることができます。

さて、ディスク構成に関しては、主に使用法の種類について、いくつかの基本的な情報が必要です。メディアファイルは通常大きいので、ストレージとの間で1つずつコピーすることは、通常、どのシステムにとっても大きな作業ではありません。他に何が必要ですか?異なるメディアへの複数の同時アクセス?前方/後方に大きくスキップしますか?または基本的に言えば、読み取りアクセスはどのくらいランダムですか?書き込みアクセスについても同じことが言えます。シングルユーザー、ファイルの保存、および時々の監視は大したことではありません。 NASのすべてのメディアを定期的にスキャンして各ファイルのインデックスを作成したり、5または50にストリーミングしたりするホームシアターボックスは、まったく別のものです。20人が別々のプロジェクトに取り組んでいます。メディアファイルの編集、切り取り、マージはまったく別の話です。

良いニュース:ZFSは上記のいずれかを満たすことができます。それらのすべてでさえ。しかし、コストは当然異なります。いくつか例を挙げましょう。

24TBを提供する「エントリ構成」(主にシングルユーザースループット)は次のようになります。*それぞれ6つの6TBHDのRAIDZ2またはZ3構成を持つ1つのプール(「Z」の後に、実際のデータなしで障害が発生する可能性のあるディスクの数が続く損失、最大3)* 8GB RAM(4GBは少しタイトですが、ZFSでは一般的に:多ければ多いほど楽しいです!)* 1つ以上の1GBitイーサネットポート(1つの専用ネットワークを追加するのが最適です)必要に応じて/実行可能な場合は複製用)

このセットアップ(約24TB)は、主にシングルユーザーアクセス、大きなファイルをボックスにシリアルにコピーしてから、単独で読み取り/ストリーミングするのに十分です。適切なCPU(最近の世代の2〜4コア、2.5 + GHz)と組み合わせると、良好な読み取りおよび書き込みスループットを提供するはずですが、モノリシックディスクレイアウトのため、IOパフォーマンス(特に書き込み)が低くなります。スループットはシングルディスクのパフォーマンスの4倍未満にとどまると予想されますが、特に書き込みIOPSはシングルディスクのパフォーマンス以下であると予想されます(当然、キャッシュされた読み取りは別として)。ディスク障害後の再構築は、当然、パフォーマンスをさらに抑制しますが、使用されたブロックのみが複製されるため、通常、「通常の」RAID再構築よりもはるかに速く完了します(プールの充填率によって異なります)。

並列読み取りパフォーマンスを向上させるために、「パフォーマンスSSD」(高IO、高スループット)をL2ARCとして追加できます。これは、それ以外の場合は完全にRAMに常駐するインテリジェントな読み取りキャッシュです。これにより読み取りパフォーマンスが大幅に向上するはずですが、L2ARCは再起動時に「空」になります。したがって、再起動後、ファイルの「ワーキングセット」/アクセスパターンに基づいて、徐々に「補充」する必要があります。

より優れた並列(読み取り/書き込み)パフォーマーの例を次に示します。*それぞれ3x 4TBディスクを備えた6つのミラーを含む1つのプール(つまり、冗長性のために各ディスクが2回ミラーリングされ、1つのコピーを読み取って再構築できる場合のミラー再構築中の負荷が軽減されます。ミラーリングともう1つは読み取り要求を処理します)* 32GB RAM * 2x 200GB + L2ARC * 1つ以上の10GBitイーサネットポート(ここでも、ボックス間のレプリケーション用に1つ追加します)

このセットアップは、最初のセットアップの(読み取りと書き込み)IO(データは1つのRAIDZデバイスではなく6つのミラーに分散されます))の数倍を提供する必要があり、再構築中のパフォーマンスははるかに優れているはずです。再構築時間は短くなります(ディスクが小さいため)。また、冗長性(失敗しても問題ありません)は、ミラーごとに2つのディスクです。当然、合計でより多くのディスクがあります->ある時点でディスクに障害が発生する可能性が高くなります。より速く、影響ははるかに少ないです。

当然、IOはディスクにも依存します。シーク時間が3ms未満の10.000rpmとシーク時間が12msを超える5.400rpmを比較してください。SSDの数は言うまでもありません。

SSDと言えば、SLOG(Separate LOG)と呼ばれる「書き込みロギング」用の別のデバイスを使用して処理を高速化するオプションもあります。通常は1つ以上のSSD(またはPCIeカード)を使用しますが、これは誤解されることが多く、誤って使用されます。このトピックについては、1つのポイントを除いて、この時点ではこれ以上詳しく説明しません。これは、同期データ転送に関連してのみ使用されます(書き込みトランザクションは、データが実際に安定したストレージ(ディスクなど)に書き込まれるとすぐに確認されます。非同期転送とは対照的に(「mfinished」)(書き込みトランザクションはデータが受信されるとすぐに確認されますが、データの一部(またはすべて)はまだキャッシュ/ RAMにあり、安定したストレージへの書き込みを待機している可能性があります。 「私はできるだけ早くそれをします」)。通常、ファイルストレージのネットワーク共有について話しているときは、非同期転送について話します。 「微調整」がない場合、同期書き込みは常に非同期書き込みよりも遅くなります。この種の誠実さが必要な場合は、戻ってきてさらに質問してください。 ;-)

ほとんど忘れられています。データの整合性を確保するには、ECC-RAM(および互換性のあるメインボードとCPU)を使用して、見過ごされているメモリの障害によるデータの破損を回避するのが最善です。実稼働環境では、絶対にそれを望まないでしょう。

あなたが知りたいかもしれない他のいくつかの機能* ZFSは一般的に(常にではありませんがため息)同じZFSバージョンに基づくディストリビューション/ OS間で互換性があります(追加の「特別な機能」がアクティブ化されていない場合)*いくつか優れた「インライン」圧縮オプション-しかしおそらくあなたの場合はそうではありません(事前に圧縮されたメディア、私は推測します)*自動修復による整合性*ディスク障害後のZFS再構築はディスク上のライブデータのみを複製し、Active Directoryとの空き領域の統合は複製しません(ビジネスでの使用)* FreeNASにはディスク暗号化オプションが組み込まれています-適切なCPU(アクセラレーション)で使用するのが最適です-ただし、他のディストリビューションとの互換性が失われることに注意してください

さて、ZFSベースのソリューションに関する短い記事はこれだけです...新しい質問を引き起こすよりも多くの回答が得られることを願っています。

よろしく、Kjartan

0
Kjartan

2/3/5-snapraidではいつでもmhddfsを使用できます。

基本的に、稼働時間が大きな問題ではない場合は、snapraidを使用して最大6つのディスク障害回復を行うことができます。私は現在、DrivePoolを使用してWindowsで使用していますが、以前はmhddfsとsnapraidでubuntu14.04LTSを使用していました。私がしたことは;

ドライブをペアごとに。これは、ドライブA00-> A05とパリティドライブP00およびP01にラベルを付け、それらがすべてext4としてフォーマットされていることを前提としています。パリティドライブには、パリティと3つのコンテンツファイルのうちの2つが含まれます。最後のコンテンツファイルはシステムドライブに保存されます。コンテンツファイルはファイルの整合性をチェックします。

Mhddfsを取得する

Sudo apt-get install mhddfs

fstabを編集します。

# Archive
LABEL=A00 /mnt/A00 ext4 default 0 0
LABEL=A01 /mnt/A01 ext4 default 0 0
LABEL=A02 /mnt/A02 ext4 default 0 0
LABEL=A03 /mnt/A03 ext4 default 0 0
LABEL=A04 /mnt/A04 ext4 default 0 0
LABEL=A05 /mnt/A05 ext4 default 0 0

# Storage Pool
mhddfs#/mnt/A00,/mnt/A01,/mnt/A02,/mnt/A03,/mnt/A04,/mnt/A05 /media/Archive Fuse defaults,allow_other 0 0

# Parity
LABEL=P00 /mnt/P00 ext4 default 0 0
LABEL=P01 /mnt/P01 ext4 default 0 0

Snapraidをダウンロードしてコンパイルした後、次のように構成ファイルを編集します。

parity /mnt/P00/snapraid.parity
2-parity /mnt/P01/snapraid.parity

content /mnt/P00/snapraid.content
content /mnt/P01/snapraid.content
content /mnt/snapraid.content

disk d0 /mnt/A00
disk d1 /mnt/A01
disk d2 /mnt/A02
disk d3 /mnt/A03
disk d4 /mnt/A04
disk d5 /mnt/A05

exclude *.unrecoverable
exclude Thumbs.db
exclude lost+found
exclude \Downloading\

その後、ターミナルにいるとき

Sudo snapraid sync

私は時々(多分月に一度?)でスクラブをすることを提案します;

Sudo snapraid scrub

この方法を使用すると、RAIDソリューションのサイズを変更せずに、いつでもドライブを追加できます。あなたは襲撃から得たかもしれない速度の増加を失うでしょう、しかしあなたは心の一部と簡単なセットアップを手に入れます。ドライブが故障した場合は、SnapRAIDのマニュアルをお読みください。これは、ドライブの交換と復元が簡単です。この設定のおかげで、ドライブを失い、データも失いませんでした。上記からわからない場合は、すべてのスペースが/ media/Archiveと呼ばれる単一のボリュームにプールされ、追加されたデータがドライブ全体に均等に分散されます。

0
Kayot