web-dev-qa-db-ja.com

Centos6での最適なRAIDアレイ

4x2TBのディスクがあり、パフォーマンスの高いRAID5アレイを作成したいと考えています(サーバーは、64GBSSHDから起動する8GBRAMを搭載したHPN40Lマイクロサーバーです)。 OSはCentos6.3、x86_64です。

このコマンドでRAIDアレイを作成しました:

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

私がそれからするとき:

mdadm --examine /dev/sda1

...「チャンクサイズ」は512Kと言われています(明らかにこれはmdadmの新しいデフォルト値です)。

次に、XFSを使用して配列をフォーマットします。 ( http://www.mythtv.org/wiki/Optimizing_Performance#Optimizing_XFS_on_RAID_Arrays で)「sunit」は私のチャンクサイズに等しく、512バイトブロックの数として表されると言われています-so 、私の場合、512KB = 1024512バイトブロック。同様に、「swidth」は、アレイ時間の有効ディスクの数です。私の場合、RAID 5に4つのディスクがあるので、3つの有効なディスク、および3x1024 = 3072です。したがって、次のコマンドを使用して新しい配列をフォーマットしました。

mkfs.xfs -b size=4096 -d sunit=1024,swidth=3072 /dev/md0

2つの質問があります。上記のコマンドでこのエラーが発生しました:

mkfs.xfs -b size=4096 -d sunit=1024,swidth=3072 /dev/md0
log stripe unit (524288 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB [...]

...そして、それが何か間違ったことをしたのか、何らかの方法で最適ではないファイルシステムになってしまうのか、それとも何らかの理由でそのエラーを無視できるのかを知りたいのです。

2番目の質問は、XFSパラメーターを正しく計算したかどうか、または完全に間違ったツリーを吠えているかどうかです(それが役立つ場合、配列はほとんどの場合、大きな音楽ファイルとビデオファイルを格納します)。たとえば、「チャンクサイズ」や「ストライプサイズ」はわかりましたか? mkfsコマンドの4096のブロックサイズは最適ですか?等々。

これについて何かアドバイスをいただければ幸いです。

2
Mark Elthof

XFSは256kを超えるストライプユニットをサポートしていないため、256kストライプでRAIDアレイを再作成するだけです。これは --chunkmdadmのパラメータ。

4kブロックサイズは、意図した用途には小さすぎる可能性があります。小さなファイルをたくさん保存している場合は、おそらく4kの方が理想的です。 XFSは最大64kブロックまで実行できます。連続するブロックの読み取りと書き込みは高速ですが、ブロックサイズが大きいとオーバーヘッドによってスペースが失われます。

ブロックでしか割り当てることができないため、処理する予定のファイルのサイズに基づいてブロックサイズを選択してください。ブロックサイズが4kの場合、サイズ1kbのファイルは4kbのスペース(1ブロック)を占有し、サイズ65kbのファイルは68kbのスペース(17ブロック)を占有します。ブロックサイズが64kbの場合、サイズ1kbのファイルは64kb(1ブロック)を占め、サイズ65kbのファイルは128kb(2ブロック)を占めます。

小さなファイルを扱っている場合は、大きなブロックサイズで多くのスペースを浪費します。数百ギガバイトのビデオファイルを扱っている場合は、おそらくあちこちで64kbを気にする必要はなく、ブロックサイズが大きいことによるパフォーマンス上の利点がより大きな違いを生みます。

理解すべきもう1つのことは、割り当てグループです。各AGは個別のIOスレッドを取得します。XFSアロケーターは各ディレクトリを異なるAGに配置しようとします。基本的な理論は、物理デバイスごとに1つのAGです。

XFSのドキュメントを読んで、ファイルシステムがどのように構築されているかを理解してください。

知識に基づいた推測を行い、あなたにとって最も重要な要素を決定します。本番データ(または実際の本番データのコピー)を表すファイルをいくつか取得し、重要なものについていくつかのベンチマークを実行します。ビデオまたはオーディオソフトウェアがさまざまなブロックサイズに基づいてファイルを読み書きする速度などの指標を選択しますか?複数のオーディオ/ビデオエンジニアが同時にファイルにアクセスすることは、異なるAGのスループットにどのように影響しますか?

XFSは、数百テラバイトの大規模なファイルシステム向けに設計されており、家よりも価値のあるSAN上に存在し、プロの映画スタジオが必要とするような大規模な非圧縮メディアファイルを格納します。これを使用して海賊版の音楽やテレビ番組を安価なLinuxボックスに保存し、ext4を使用する場合は、問題が発生した場合のトラブルシューティングと修正がはるかに簡単になります。

1
suprjami