
依然として、巨大ファイルと小ファイル混在のアーカイブ/NAS用に、ディスクアレイ(2.4TB)の大規模(24)構成を試みています。しかし、これとは別に、ストライプ RAID が内部でどのように動作するかを理解することに集中していますが、文献の例のほとんどが「少ない」ディスク数に基づいているため、読めば読むほど混乱します(プロデューサーに尋ねましたが、彼は「予約情報」であるため、それらの質問のいくつかを公に答えることをためらっていました)。
- ストライプサイズ通常は(またはチャンク)です
(Number of data disks) x (size of strip)
。例:8x64KB=512KB または 10x256KB=2560KB - ファイルはどのように分割され、保存されるのかストライプ? ストライプごとに 1 つのファイル (残りのストリップはゼロで埋められます)、またはすべてのストリップが埋められるまでストライプごとに複数のファイルですか?
- 大規模アレイの場合、ストライプ サイズは依然として重要ですか? つまり、PERC では、ストライプ サイズの値が 1MB より大きい場合 (たとえば、8x256KB)、ストライプ サイズに固定値 1MB が使用されることがわかりました。この場合、ストライプはどのように配置すればよいですか? 8x256KB=2MB のままで、内部で 2x 1MB に分割されますか? それとも、1MB を 8 つのデータ ディスクに分割しますか?
- 最近は「2の累乗」を考慮してストライプ RAID を構成する必要がありますか? 私の PERC では、2の累乗ではない任意の数のディスクを任意の種類の RAID レベルで構成できます。
- これらの制限(?)を承知の上で、アレイを2x12Disks RAID60と256KBのストリップサイズに設定する価値はあるでしょうか? あまり多くのスペースを無駄にしなくて済むはずです
答え1
ファイルはどのように分割され、ストライプに保存されますか? ストライプごとに 1 つのファイル (残りのストリップはゼロで埋められます)、またはすべてのストリップが埋められるまでストライプごとに複数のファイルですか?
このような配列はファイルではなくブロックのみを基準に考えており、ファイルシステム自体がどのファイルがどのブロックで構成されているかを定義しており、それを実行するのは基盤となるディスク システムではありません。
したがって、ファイルを単なるブロックとして考えないでください。ファイルシステム上のすべてのファイルを想像してください。ただし、フォルダーとファイルに関するすべてのデータを除けば、それは単なる 1 つの大きなブロックの山です。そして、それらのブロックが、パフォーマンスと復元力のために利用可能なディスク全体にストライプ化されます。
一般的に言えば、このようなファイル システムと RAID アレイのデフォルトは、すべてのアプリケーションの 95% に問題なく適合します。さまざまな組み合わせを試してテストする時間がある場合、または通常とは異なる要件を持つアプリケーション (多数の小さなランダム ファイルまたは巨大なシーケンシャル ファイルを継続的に読み書きするなど) がある場合は、これらをチューニングできると便利です。このような場合、チューニングの一部には大きなメリットがあります。ただし、一般的に言えば、デフォルトは通常、ほとんどのユース ケースに適しています。私は VoD を行っているため、ストレージ ボリュームが非常に大きなストリップ/ブロックを持つようにチューニングすることがよくあります。これらはすべて大きなシーケンシャル ファイルであることがわかっているためです。ただし、DB ファイルやログなどは、その用途には適さないため、これらのアレイ/ボリュームには配置しません。
とにかく、推奨事項に戻りますが、R60 に落ち着いたようでよかったです。R5/50 の問題を抱えた人がいつもここに来ますが、R5/50 は死んでいるので、まったく使用しないでください。ZFS にこだわらない限り、R6/60 と R1/10 が唯一の選択肢です :) とにかく、私がこれを実行するとしたら、まさにあなたの提案どおりにします。R60 は 2 x 12 ディスク R6 で構成され、ストライプはデフォルトのままにします。その後、アプリケーションがこのアレイを使用し始めると、パフォーマンスがどのようになっているかを確認し、本当に調整する必要があると感じ、そうすることで多くのメリットが得られる場合は、先に進んでください。ただし、デフォルトでも問題ないと思います。
幸運を祈ります。