OpenFilerNFS共有からVMにサービスを提供する3つのVMwareESXi4ホストがあります。すべてのホストには、NASへの直接ギガビット接続があります。読み取りパフォーマンスは優れていますが、VMゲスト内でのファイルの書き込みに問題があります。
データ整合性の推奨構成は、sync
オプションを使用してNFS共有をエクスポートし、_data=journal
_を使用してext3をマウントすることです。
最大整合性構成と最大I/Oパフォーマンス構成の動作を比較したいと思います。パフォーマンスを構成するために、NFS共有を次のようにエクスポートしました
/mnt/raided/main/vm 10.0.0.0/255.255.0.0(rw,anonuid=96,anongid=96,secure,root_squash,wdelay,async)
ext3がマウントされている間
_/dev/raided/main /mnt/raided/main ext3 defaults,usrquota,grpquota,acl,user_xattr,data=writeback,noatime
_
これらの構成オプションにより、最適なI/Oパフォーマンスが得られますか?ファイルシステムを変更するのはどうですか? XFSはパフォーマンスを大幅に向上させますか?
NASクラッシュまたは電源障害以外に、この構成でデータ整合性の問題を引き起こす可能性があるものは何ですか?
同期の使用については一生懸命考えます。ダーティハリーの「ラッキーだと思いますか」というスピーチを思い出しました。
NFS v2およびv3は、サーバーからクライアントへの書き込みが確認されたときにデータがディスク上にあるように設計されています。これにより、NFSをステートレスにすることができるため、サーバーは各要求の間に再起動する可能性があります。希望はありませんが、発生する可能性があります。
これは、クライアントが書き込み時にACKを確認した場合、ディスク上にあるデータについてもう気にする必要がないことを意味します。
非同期を使用する場合、これはもう当てはまりません。しかし、それははるかに高速になります。基本的に、非同期を使用していてサーバーがクラッシュした場合は、クライアントが何をするのかを正確に理解していない限り、クライアントを再起動する必要があります。クライアントが複数のファイルの同期を維持することを期待している場合、クライアントは実際には同期していると信じている可能性があるためです。 、 ではない。
私の理解では、OpenFilerはCentOS/RedHatファミリーのOSビルドに基づいています。 Linuxのnfsサーバーは最初から最適ではありません*。CentOS/ RedHatのサーバーは平均よりも劣っています。
* = NetAppファイラー、* bsd、またはSolarisサーバーと比較した場合。
(私がそのためにダウンモッドされるのだろうかと思います。)
うん、「同期」は間違いなく巨大な書き込みパフォーマンスキラーです。データの整合性に対する要求が高くない限り、私はそれを考慮しません。バッテリーでバックアップされたRAIDとUPSがない場合でも、効果がほとんどないかまったくないので、気にしないでください。
'ext3 data = journal'も役に立ちません。書き込みパフォーマンスを切望し、ext3を捨てて、代わりにxfsを使用する場合は、非常に高速で、面白くありません。