第4章 ハイパーコンバージドノード上におけるリソース分離の設定


Red Hat OpenStack Platform の HCI 実装では、director は Ceph OSD サービスと Compute サービスを同じ場所に配置してハイパーコンバージドノードを作成します。ただし、この配置をさらに調整しなければ、Ceph サービスと Compute サービスは、同じホスト上でお互いの存在を認識しないため、それらのサービス間で リソースの競合 が発生するリスクがあります。リソースの競合が発生すると、サービスのパフォーマンスが低下する可能性があり、その場合には、ハイパーコンバージェンスによって提供されるメリットが相殺されてしまいます。

競合が発生しないようにするには、Ceph サービスと Compute サービスの両方にリソースの分離を設定する必要があります。以下のサブセクションでは、その方法について説明します。

4.1. Compute 用の CPU とメモリーリソースの確保

デフォルトでは、Compute サービスのパラメーターは Ceph OSD サービスが同じノード上に配置されていることは考慮に入れません。この問題に対処して、安定を維持し、ホスト可能なインスタンス数を最大化するには、ハイパーコンバージドノードを調整する必要があります。そのためには、ハイパーコンバージドノード上の Compute サービスにリソースの制約を設定する必要があります。これは、プラン環境ファイル で設定できます。

プラン環境ファイルは、director が OpenStack Workflow (Mistral) サービスを介して実行可能な ワークフロー を定義します。director は、ハイパーコンバージドノード上のリソース制約を設定するための専用のデフォルトのプラン環境ファイルも提供しています。

/usr/share/openstack-tripleo-heat-templates/plan-samples/plan-environment-derived-params.yaml

-p パラメーターを使用して (openstack overcloud deploy コマンドに対して)、このプラン環境ファイルをデプロイメント中に呼び出します。このプラン環境ファイルは、OpenStack Workflow に以下の操作を指示します。

  1. ハードウェアイントロスペクションデータの取得 (「ノードのハードウェアの検査」で収集されるデータ)
  2. そのデータに基づいた、ハイパーコンバージドノード上の Compute に最適な CPU とメモリーの制約の算出
  3. それらの制約を設定するために必要なパラメーターの自動生成

~/plan-samples/plan-environment-derived-params.yaml プラン環境ファイルは、hci_profile_config 下で定義されている CPU およびメモリーの割り当てのワークロード プロファイル をいくつか定義します。hci_profile パラメーターは、有効化されるワークロードプロファイルを設定します。たとえば、NFV を使用している場合には、hci_profile: nfv_default を設定します。

同じ構文を使用して、プラン環境ファイルでカスタムのプロファイルを設定することも可能です。my_workload という名前の新規プロファイルを定義する場合の例を以下に示します。

各ワークロードプロファイル内の average_guest_memory_size_in_mb および average_guest_cpu_utilization_percentage パラメーターは、Compute の reserved_host_memorycpu_allocation_ratio の設定値を算出します。これらの値は、Red Hat の推奨値に基づいて計算されます。これは、以前のリリースの手動での計算と同様です。

4.1.1. メモリーまたは CPU 割り当てに計算された設定値のオーバーライド

別の環境ファイルを使用して、OpenStack Workflow によって自動的に定義される Compute の設定をオーバーライドすることができます。これは、reserved_host_memory または cpu_allocation_ratio のみをオーバーライドして、それ以外は OpenStack Workflow に定義させる場合に役立ちます。以下のスニペットを考慮してください。

parameter_defaults:
  ComputeHCIParameters:
    NovaReservedHostMemory: 181000 # 
1

  ComputeHCIExtraConfig:
    nova::cpu_allocation_ratio: 8.2 # 
2
Copy to Clipboard Toggle word wrap
1
NovaReservedHostMemory パラメーターは、Ceph OSD サービスに確保すべき RAM 容量と、ハイパーコンバージドノード上の 1 ゲストインスタンスあたりのオーバーヘッドを設定します。
2
nova::cpu_allocation_ratio: パラメーターは、コンピュートノードがインスタンスをデプロイする際に Compute スケジューラーが使用すべき比率を設定します。

ComputeHCIParameters および ComputeHCIExtraConfig のフックは、それらのネストされたパラメーターを ComputeHCI ロールを使用する全ノード (全ハイパーコンバージドノード) に適用します。 NovaReservedHostMemory および nova::cpu_allocation_ratio: の最適な値を手動で決定する方法に関する詳しい情報は、「Compute の CPU およびメモリーの計算」を参照してください。

4.2. Ceph のバックフィルおよびリカバリーの操作

Ceph OSD が削除されると、Ceph は バックフィルリカバリー の操作を使用して、クラスターをリバランスします。Ceph は、配置グループポリシーに従って複数のコピーを保管するためにこの操作を実行します。これらの操作は、システムリソースを使用するため、Ceph クラスターに負荷がかかっている場合には、リソースがバックフィルとリカバリーに回されるので、パフォーマンスが低下します。

OSD の削除時にこのようなパフォーマンスの影響を軽減するには、バックフィルとリカバリーの操作の優先度を低くすることができます。この方法を使用すると、データのレプリカがより少ない状態が長くなるので、データはより高いリスクにさらされることにます。

バックフィルとリカバリーの操作の優先度を設定するには、以下の内容を記述した ceph-backfill-recovery.yaml という名前の環境ファイルを ~/templates に追加します。

parameter_defaults:
  CephAnsibleExtraConfig:
    osd_recovery_op_priority: 3 # 
1

    osd_recovery_max_active: 3 # 
2

    osd_max_backfills: 1 # 
3
Copy to Clipboard Toggle word wrap
1
osd_recovery_op_priority は、OSD クライアント OP の優先度と相対的に、リカバリー操作の優先度を設定します。
2
osd_recovery_max_active は、1 OSD あたりの 1 回にアクティブなリカバリー要求の件数を設定します。要求がこの値を超えると、リカバリーが加速されますが、それらの要求によりクラスターにかかる負荷が増大します。レイテンシーを低くするには、この値を 1 に設定します。
3
osd_max_backfills は単一の OSD との間で許容されるバックフィルの最大数を設定します。
重要

サンプルで使用している値は、現在のデフォルト値です。異なる値を使用する予定がなければ、ceph-backfill-recovery.yaml デプロイメントに追加する必要はありません。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat