web-dev-qa-db-ja.com

XFSはLVM化されたRAIDでパフォーマンスが低下し、RAWまたは非LVMの場合は高速になります

セットアップしているサーバーに奇妙な問題があります。ファイル共有タイプのWebサイト用であるため、高速IOで、十分な容量が必要です。OSはCentOS 6.464ビットです。

問題のサーバーはHPDL360pであり、18xドライブベイに2TB SAS RAID50のドライブが搭載されています

HP StorageWorks SAS拡張ベイとさらに12x2TBがあり、これもRAID50にあります

RAIDはサーバーのBIOS構成ユーティリティを使用して構成されました。使用されるコントローラーは、バッテリーバックアップと2GBFWBCを備えた非常に優れたコントローラーです。

さて、元々はこれらを別々のボリュームとして設定しましたが、ソフトウェアの特性により、単一の大きなボリュームを使用する方がはるかにうまくいくでしょう。

そこで、これら2つのボリュームを組み合わせたLVMボリュームをセットアップし、XFSを使用して論理ボリュームをフォーマットしました。

問題は、結果として得られる速度が期待外れであるということです。 hdparm -tTを実行すると、300MB /秒の最高の読み取り速度が得られます。

だから私はいくつかのテストを行い、これを手に入れました:

両方にLVM、XFSがない:両方のボリュームの読み取り速度は約700MB /秒

lVMを使用するが、ボリュームがマウントされていない:1000-1100MB/s

ストライプモードのLVM、ボリュームがマウントされていない場合:1100〜1300MB/s

したがって、どういうわけかXFSが速度を制限しているようです...フォーマットおよびマウント時に、-l internal、lazy-count、nobarrierなど、より高度なオプションを試しましたが、改善は見られませんでした。

問題になる可能性があるとわかった唯一のことは、RAIDボリュームのストリップサイズが一致しなかったため(1つは512KBに設定され、もう1つは256KBに設定された)、一致するように再構成しています。これには数時間かかります。もっと。また、ボリュームをsu = 512k、sw = 28に再フォーマットしました(アクティブなHDDが全部で28あるため、sw = 28は単なる推測です...またはRAIDボリュームに対してこれを2に設定する必要がありますか?)

全部を一掃してZFSを試してみたいと思っています。有望なようですが、構成することは私のスキルレベルをはるかに超えていると思います...

ですから、誰かがこれについて何か経験やアドバイスを持っているなら、それは大いにありがたいです!

3
eTiMaGo

アプリケーションの読み取り/書き込みスループットとIOPS要件は何ですか?ストレージのパフォーマンスは、必ずしもアレイのスループットや生の帯域幅に関係しているわけではありません。順次読み取り/書き込みは、I/Oアクティビティの一部にすぎません。

より正確なテストは、 bonnie ++ または iozone マウントされたファイルシステムに対して実行することです...またはアプリケーションを実行して 実際のワークロードを測定する


もし私があなたなら、内部コントローラーと外部コントローラーをダンプして、 HP Smart Array P822コントローラー -パーツ#615418-B21に統合します。

これにより、内部ディスクと外部エンクロージャを1つのアレイでアドレス指定できます。 P822では、 Smart Array Advanced機能セット(SAAP) がデフォルトで有効になっています。その時点で、適切なRAIDレベル(おそらくRAID 1 + 0)と、セットアップに1つ以上のグローバルホットスペアを割り当てる機能を使用して、アレイを適切に分割できます。コントローラは、外部ストレージへのデュアルパスも活用します。また、内部ストレージと外部ストレージの間でドライブペアをストライプ化またはミラーリングするように調整することもできます。多くの柔軟性。

ただし、このセットアップの最大の利点は、含まれていることです HP SmartCache SSDキャッシング機能 。これは LSIのCachecade に似ています。 SSDを1つか2つ装備すれば、回転するディスクに行かなくても、レイテンシの低いSSDにホットデータを保持できます。

ただし、これはハードウェア側にすぎません...


XFSボリューム、特にHPギアでは、LVMを使用しません( 一部の人は使用しますが )。 HPコントローラーでは、ブロックデバイスの表示が抽象化されているため、非常に基本的なファイルシステムのフォーマット文字列を使用します。

mkfs.xfs -f -d agcount=32 -l size=128m,version=2 /dev/sdX`

Fstabには、いくつかのマウントオプションがあります。

UUID=4a0e1757 /data   xfs     noatime,logbufs=8,logbsize=256k 1 2

ただし、RHEL6には、考慮すべきスケジューリングおよびパフォーマンスチューニング機能もいくつかあります。主なものは、調整されたフレームワークです。

yum install tuned tuned-utils
tuned-adm profile enterprise-storage 

これにより、以下のスケジュールに従って、I/Oエレベータが設定され、書き込みバリアが無効になり、その他のパフォーマンス重視のオプションがオンザフライで設定されます。

enter image description here


このセットアップのZFSは役に立ちません。 Smart Arrayコントローラーを完全にダンプして SAS HBAまたはに移動する必要があります。ラージブロックデバイス(上記で提案したSmart Array P822の恩恵を受ける)。どちらも何らかの形式の書き込みキャッシュ(ZIL)を必要とし、それが管理性の問題を解決するとは思いません。 ZFSには事前に計画を立てるが必要です。

3
ewwhite