第23章 アンダークラウドおよびオーバークラウドサービスについてのヒント

本項では、アンダークラウド上の特定の OpenStack サービスのチューニングと管理についてアドバイスを行います。

23.1. データベースのフラッシュ間隔の見直し

一部のサービスは、cron コンテナーを使用してデータベースから古いコンテンツをフラッシュします。

  • OpenStack Identity (keystone): 有効期限が切れたトークンのフラッシュ
  • OpenStack Orchestration (heat): 有効期限が切れて削除されたテンプレートデータのフラッシュ
  • OpenStack Compute (nova): 有効期限が切れて削除されたインスタンスデータのフラッシュ

各サービスのデフォルトのフラッシュ間隔は、以下の表に記載のとおりです。

サービスフラッシュされるデータベースコンテンツデフォルトのフラッシュ間隔

OpenStack Identity (keystone)

有効期限が切れたトークン

1 時間ごと

OpenStack Orchestration (heat)

有効期限が切れて削除されてから 30 日以上経過したテンプレートデータ

毎日

OpenStack Compute (nova)

削除されたインスタンスデータをアーカイブします

毎日

OpenStack Compute (nova)

14 日以上経過したアーカイブデータをフラッシュします

毎日

以下の表には、これらの cron ジョブを制御するパラメーターの概要をまとめています。

表23.1 OpenStack Identity (keystone) の cron パラメーター

パラメーター説明

KeystoneCronTokenFlushMinute

cron ジョブが有効期限の切れたトークンをパージする (Minute)。デフォルト値は 1 です。

KeystoneCronTokenFlushHour

cron ジョブが有効期限の切れたトークンをパージする (Hour)。デフォルト値は * です。

KeystoneCronTokenFlushMonthday

cron ジョブが有効期限の切れたトークンをパージする (Month Day)。デフォルト値は * です。

KeystoneCronTokenFlushMonth

cron ジョブが有効期限の切れたトークンをパージする (Month)。デフォルト値は * です。

KeystoneCronTokenFlushWeekday

cron ジョブが有効期限の切れたトークンをパージする (Week Day)。デフォルト値は * です。

表23.2 OpenStack Orchestration (heat) の cron パラメーター

パラメーター説明

HeatCronPurgeDeletedAge

cron ジョブが削除済みとマークされかつ $age よりも古いデータベースのエントリーをパージする (Age)。デフォルト値は 30 です。

HeatCronPurgeDeletedAgeType

cron ジョブが削除済みとマークされかつ $age よりも古いデータベースのエントリーをパージする (Age type)。デフォルト値は days です。

HeatCronPurgeDeletedMinute

cron ジョブが削除済みとマークされかつ $age よりも古いデータベースのエントリーをパージする (Minute)。デフォルト値は 1 です。

HeatCronPurgeDeletedHour

cron ジョブが削除済みとマークされかつ $age よりも古いデータベースのエントリーをパージする (Hour)。デフォルト値は 0 です。

HeatCronPurgeDeletedMonthday

cron ジョブが削除済みとマークされかつ $age よりも古いデータベースのエントリーをパージする (Month Day)。デフォルト値は * です。

HeatCronPurgeDeletedMonth

cron ジョブが削除済みとマークされかつ $age よりも古いデータベースのエントリーをパージする (Month)。デフォルト値は * です。

HeatCronPurgeDeletedWeekday

cron ジョブが削除済みとマークされかつ $age よりも古いデータベースのエントリーをパージする (Week Day)。デフォルト値は * です。

表23.3 OpenStack Compute (nova) の cron パラメーター

パラメーター

説明

NovaCronArchiveDeleteRowsMaxRows

cron ジョブが削除されたインスタンスを別のテーブルに移動する (Max Rows)。デフォルト値は 100 です。

NovaCronArchiveDeleteRowsPurge

スケジュールされたアーカイブの直後にシャドウテーブルをパージします。デフォルト値は False です。

NovaCronArchiveDeleteRowsMinute

cron ジョブが削除されたインスタンスを別のテーブルに移動する (Minute)。デフォルト値は 1 です。

NovaCronArchiveDeleteRowsHour

cron ジョブが削除されたインスタンスを別のテーブルに移動する (Hour)。デフォルト値は 0 です。

NovaCronArchiveDeleteRowsMonthday

cron ジョブが削除されたインスタンスを別のテーブルに移動する (Month Day)。デフォルト値は * です。

NovaCronArchiveDeleteRowsMonth

cron ジョブが削除されたインスタンスを別のテーブルに移動する (Month)。デフォルト値は * です。

NovaCronArchiveDeleteRowsWeekday

cron ジョブが削除されたインスタンスを別のテーブルに移動する (Week Day)。デフォルト値は * です。

NovaCronArchiveDeleteRowsUntilComplete

cron ジョブが削除されたインスタンスを別のテーブルに移動する (Until complete)。デフォルト値は True です。

NovaCronPurgeShadowTablesAge

cron ジョブがシャドウテーブルをパージする (Age)。シャドウテーブルをパージする際の保持ポリシーを、日数単位で定義します。0 は、シャドウテーブル内のその日以前のデータがパージされることを意味します。デフォルト値は 14 です。

NovaCronPurgeShadowTablesMinute

cron ジョブがシャドウテーブルをパージする (Minute)。デフォルト値は 0 です。

NovaCronPurgeShadowTablesHour

cron ジョブがシャドウテーブルをパージする (Hour)。デフォルト値は 5 です。

NovaCronPurgeShadowTablesMonthday

cron ジョブがシャドウテーブルをパージする (Month Day)。デフォルト値は * です。

NovaCronPurgeShadowTablesMonth

cron ジョブがシャドウテーブルをパージする (Month)。デフォルト値は * です。

NovaCronPurgeShadowTablesWeekday

cron ジョブがシャドウテーブルをパージする (Week Day)。デフォルト値は * です。

これらの間隔を調整するには、該当するサービスの新たなトークンフラッシュ間隔を含む環境ファイルを作成し、そのファイルを undercloud.conf ファイルの custom_env_files パラメーターに追加します。たとえば、OpenStack Identity (keystone) のトークンフラッシュ間隔を 30 分ごとに変更するには、以下のスニペットを使用します。

keystone-cron.yaml

parameter_defaults:
  KeystoneCronTokenFlushMinute: '0/30'

undercloud.yaml

custom_env_files: keystone-cron.yaml

続いて、openstack undercloud install コマンドを再度実行します。

$ openstack undercloud install
注記

これらのパラメーターをオーバークラウドに使用することもできます。詳しい情報は、『オーバークラウドの パラメーター』 を参照してください。