パフォーマンスの調整
BeeGFS解決策 には、検証テストに基づいたパフォーマンス調整の推奨事項が含まれます。
BeeGFSは設定不要で妥当なパフォーマンスを提供しますが、パフォーマンスを最大化するために推奨されるチューニングパラメータを一連開発しました。これらのパラメータには、基盤となるEシリーズのブロックノードの機能と、共有ディスクのHAアーキテクチャでBeeGFSを実行するために必要な特別な要件が考慮されています。
ファイルノードのパフォーマンス調整
設定可能なチューニングパラメータには、次のものがあります。
-
*ファイルノードのUEFI/BIOSのシステム設定。*パフォーマンスを最大化するには、ファイルノードとして使用するサーバーモデルのシステム設定を構成することをお勧めします。システム設定は、ベースボード管理コントローラ(BMC)が提供するセットアップユーティリティ(UEFI / BIOS)またはRedfish APIを使用してファイルノードをセットアップするときに設定します。
システム設定は、ファイルノードとして使用するサーバーモデルによって異なります。使用中のサーバモデルに基づいて、設定を手動で行う必要があります。検証済みLenovo SR665ファイルノードのシステム設定を構成する方法については、を参照してください "パフォーマンスのファイルノードシステム設定を調整します"。
-
*必須構成パラメータのデフォルト設定。*必要な構成パラメータは、BeeGFSサービスの構成方法、およびペースメーカーによるEシリーズボリューム(ブロックデバイス)のフォーマットとマウント方法に影響します。これらの必須設定パラメータには、次のものがあります。
-
BeeGFSサービスの設定パラメータ
必要に応じて、設定パラメータのデフォルト設定を上書きできます。特定のワークロードやユースケースに合わせて調整できるパラメータについては、を参照して "BeeGFSサービスの設定パラメータ"ください。
-
ボリュームのフォーマットとマウントのパラメータは推奨されるデフォルトに設定されており、高度なユースケースでのみ調整する必要があります。デフォルト値では、次の処理が実行されます。
-
ターゲットタイプ(管理、メタデータ、ストレージなど)、基盤となるボリュームのRAID構成とセグメントサイズに基づいて、ボリュームの初期フォーマットを最適化します。
-
Pacemakerが各ボリュームをマウントする方法を調整し、変更がEシリーズのブロックノードにすぐにフラッシュされるようにします。これにより、アクティブな書き込みが進行中の状態でファイルノードに障害が発生してもデータが失われることはありませ
特定のワークロードやユースケースに合わせて調整できるパラメータについては、を参照して "ボリュームのフォーマットと構成パラメータのマウント"ください。
-
-
-
*ファイルノードにインストールされているLinux OSのシステム設定。*の手順4でAnsibleインベントリを作成するときに、Linux OSのデフォルトのシステム設定を上書きできます "Ansibleインベントリを作成します"。
デフォルトの設定を使用してNetApp解決策 のBeeGFSが検証されましたが、特定のワークロードやユースケースに合わせて調整するように変更することができます。変更可能なLinux OSのシステム設定には、次のようなものがあります。
-
EシリーズのブロックデバイスのI/Oキュー。
BeeGFSターゲットとして使用されるEシリーズのブロックデバイスでは、次の目的でI/Oキューを設定できます。
-
デバイスタイプ(NVMe、HDDなど)に基づいてスケジューリングアルゴリズムを調整します。
-
未処理の要求数を増やします。
-
要求サイズを調整します。
-
先読み動作を最適化します。
-
-
仮想メモリの設定。
仮想メモリの設定を調整して、最適な持続ストリーミングパフォーマンスを得ることができます。
-
CPU設定。
CPU周波数ガバナおよびその他のCPU構成を調整して、パフォーマンスを最大限に高めることができます。
-
読み取り要求のサイズ
NVIDIA HCAの最大読み取り要求サイズを増やすことができます。
-
ブロックノードのパフォーマンス調整
特定のBeeGFSビルディングブロックに適用される構成プロファイルに基づいて、ブロックノードに設定されたボリュームグループが少し変化します。たとえば、24ドライブのEF600ブロックノードがある場合、次のようになります。
-
BeeGFSの管理、メタデータ、ストレージサービスなど、単一のベースビルディングブロックの場合は次の手順を実行します。
-
BeeGFS管理およびメタデータサービス用に2+2 RAID 10ボリュームグループが1つ
-
BeeGFSストレージサービス用に8+2 RAID 6ボリュームグループが2つ
-
-
BeeGFSメタデータとストレージビルディングブロックの場合:
-
BeeGFSメタデータサービス用に2+2 RAID 10ボリュームグループが1つ
-
BeeGFSストレージサービス用に8+2 RAID 6ボリュームグループが2つ
-
-
BeeGFSストレージのみのビルディングブロックの場合:
-
BeeGFSストレージサービス向けに10+2 RAID 6ボリュームグループが2つ
-
BeeGFSでは管理とメタデータのストレージ容量がストレージよりも大幅に少ないため、RAID 10ボリュームグループには小さいドライブを使用する方法も1つあります。より小さいドライブは、最も外側のドライブスロットに取り付ける必要があります。詳細については、を参照してください "導入手順"。 |
これらはすべてAnsibleベースの導入で設定され、次のようなパフォーマンスや動作を最適化するために一般的に推奨されるいくつかの設定とともに使用されます。
-
グローバルキャッシュブロックサイズを32KiBに調整し、デマンドベースのキャッシュフラッシュを80%に調整しています。
-
自動ロードバランシングを無効にする(コントローラのボリュームの割り当ては意図したとおりに維持する)。
-
読み取りキャッシュの有効化と先読みキャッシュの無効化
-
ミラーリングあり、バッテリバックアップを必要とする書き込みキャッシュを有効にして、ブロックノードコントローラの障害後もキャッシュを維持できるようにします。
-
ボリュームグループにドライブを割り当てる順序を指定し、使用可能なドライブチャネル間でI/Oのバランスを調整します。