Menu Close

第14章 インスタンスの管理

クラウド管理者は、クラウド上で実行されているインスタンスを監視および管理することができます。

14.1. データベースのクリーニング

Compute サービスには管理ツール nova-manage が含まれています。このツールを使用して、データベーススキーマの適用、アップグレード中のオンラインデータ移行の実行、データベースの管理およびクリーンアップ等の、デプロイメント、アップグレード、クリーンアップ、およびメンテナンス関連のタスクを実行することができます。

director は、cron を使用してオーバークラウドでの以下のデータベース管理タスクを自動化します。

  • 削除された行を実稼働テーブルからシャドウテーブルに移動して、削除されたインスタンスレコードをアーカイブする。
  • アーカイブ処理が完了した後に、シャドウテーブルから削除された行をパージする。

14.1.1. データベース管理の設定

cron ジョブは、デフォルト設定を使用してデータベース管理タスクを実行します。デフォルトでは、データベースをアーカイブする cron ジョブは毎日 00:01 に実行され、データベースをパージする cron ジョブは 毎日 05:00 に実行されます。共にジッターは 0 秒から 3600 秒の間です。必要に応じて、これらの設定は heat パラメーターを使用して変更することができます。

手順

  1. Compute 環境ファイルを開きます。
  2. 追加または変更する cron ジョブを制御する heat パラメーターを追加します。たとえば、シャドウテーブルをアーカイブ直後にパージするには、次のパラメーターを「True」に設定します。

    parameter_defaults:
      ...
      NovaCronArchiveDeleteRowsPurge: True

    データベースの cron ジョブを管理する heat パラメーターの完全一覧は、Configuration options for the Compute service automated database management を参照してください。

  3. 更新内容を Compute 環境ファイルに保存します。
  4. その他の環境ファイルと共に Compute 環境ファイルをスタックに追加して、オーバークラウドをデプロイします。

    (undercloud)$ openstack overcloud deploy --templates \
      -e [your environment files] \
      -e /home/stack/templates/<compute_environment_file>.yaml

14.1.2. Compute サービスのデータベース自動管理用設定オプション

以下の heat パラメーターを使用して、データベースを管理する自動 cron ジョブを有効化および変更します。

表14.1 Compute (nova) サービスの cron パラメーター

パラメーター説明

NovaCronArchiveDeleteAllCells

すべてのセルから削除されたインスタンスレコードをアーカイブするには、このパラメーターを「True」に設定します。

デフォルト: True

NovaCronArchiveDeleteRowsAge

このパラメーターを使用して、削除されたインスタンスレコードを経過時間 (日数単位) に基づいてアーカイブします。

シャドウテーブル内の本日以前のデータをアーカイブするには、0 に設定します。

デフォルト: 90

NovaCronArchiveDeleteRowsDestination

このパラメーターを使用して、削除されたインスタンスレコードを記録するファイルを設定します。

デフォルト: /var/log/nova/nova-rowsflush.log

NovaCronArchiveDeleteRowsHour

このパラメーターを使用して、削除されたインスタンスレコードを別のテーブルに移動する cron コマンドを実行する時刻の時間部分を設定します。

デフォルト: 0

NovaCronArchiveDeleteRowsMaxDelay

このパラメーターを使用して、削除されたインスタンスレコードを別のテーブルに移動するまでの最大遅延時間 (秒単位) を設定します。

デフォルト: 3600

NovaCronArchiveDeleteRowsMaxRows

このパラメーターを使用して、別のテーブルに移動することのできる削除インスタンスレコード数の最大値を設定します。

デフォルト: 1000

NovaCronArchiveDeleteRowsMinute

このパラメーターを使用して、削除されたインスタンスレコードを別のテーブルに移動する cron コマンドを実行する時刻の分部分を設定します。

デフォルト: 1

NovaCronArchiveDeleteRowsMonthday

このパラメーターを使用して、削除されたインスタンスレコードを別のテーブルに移動する cron コマンドを実行する日にちを設定します。

デフォルト: * (毎日)

NovaCronArchiveDeleteRowsMonth

このパラメーターを使用して、削除されたインスタンスレコードを別のテーブルに移動する cron コマンドを実行する月を設定します。

デフォルト: * (毎月)

NovaCronArchiveDeleteRowsPurge

スケジュールされたアーカイブ処理の直後にシャドウテーブルをパージするには、このパラメーターを「True」に設定します。

デフォルト: False

NovaCronArchiveDeleteRowsUntilComplete

すべてのレコードを移動するまで削除されたインスタンスレコードを別のテーブルに移動し続けるには、このパラメーターを「True」に設定します。

デフォルト: True

NovaCronArchiveDeleteRowsUser

このパラメーターを使用して、削除されたインスタンスレコードをアーカイブする crontab の所有権を持ち、crontab が使用するログファイルにアクセスできるユーザーを設定します。

デフォルト: nova

NovaCronArchiveDeleteRowsWeekday

このパラメーターを使用して、削除されたインスタンスレコードを別のテーブルに移動する cron コマンドを実行する曜日を設定します。

デフォルト: * (毎日)

NovaCronPurgeShadowTablesAge

このパラメーターを使用して、シャドウテーブルを経過時間 (日数単位) に基づいてパージします。

本日以前のシャドウテーブルをパージするには、0 に設定します。

デフォルト: 14

NovaCronPurgeShadowTablesAllCells

すべてのセルからシャドウテーブルをパージするには、このパラメーターを「True」に設定します。

デフォルト: True

NovaCronPurgeShadowTablesDestination

このパラメーターを使用して、パージされたシャドウテーブルを記録するファイルを設定します。

デフォルト: /var/log/nova/nova-rowspurge.log

NovaCronPurgeShadowTablesHour

このパラメーターを使用して、シャドウテーブルをパージする cron コマンドを実行する時刻の時間部分を設定します。

デフォルト: 5

NovaCronPurgeShadowTablesMaxDelay

このパラメーターを使用して、シャドウテーブルをパージするまでの最大遅延時間 (秒単位) を設定します。

デフォルト: 3600

NovaCronPurgeShadowTablesMinute

このパラメーターを使用して、シャドウテーブルをパージする cron コマンドを実行する時刻の分部分を設定します。

デフォルト: 0

NovaCronPurgeShadowTablesMonth

このパラメーターを使用して、シャドウテーブルをパージする cron コマンドを実行する月を設定します。

デフォルト: * (毎月)

NovaCronPurgeShadowTablesMonthday

このパラメーターを使用して、シャドウテーブルをパージする cron コマンドを実行する日にちを設定します。

デフォルト: * (毎日)

NovaCronPurgeShadowTablesUser

このパラメーターを使用して、シャドウテーブルをパージする crontab の所有権を持ち、crontab が使用するログファイルにアクセスできるユーザーを設定します。

デフォルト: nova

NovaCronPurgeShadowTablesVerbose

このパラメーターを使用して、パージされたシャドウテーブルに関するログファイルの詳細ロギングを有効にします。

デフォルト: False

NovaCronPurgeShadowTablesWeekday

このパラメーターを使用して、シャドウテーブルをパージする cron コマンドを実行する曜日を設定します。

デフォルト: * (毎日)