Red Hat Training

A Red Hat training course is available for Red Hat Satellite

第10章 Satellite Server のメンテナンス

本章では、監査レコードの取り扱い、未使用タスクのクリーン方法、一杯になったディスクから Pulp を回復する方法、NongoDB からディスク領域を解放する方法、Red Hat Insights を使ってプロアクティブにシステムを診断する方法などの Red Hat Satellite Server のメンテナンス方法について説明します。

10.1. 監査レコードの削除

監査レコードは Satellite で自動作成されます。foreman-rake audits:expire コマンドを使うと、監査はいつでも削除できます。また、cron job を使って監査レコードの削除を希望する頻度でスケジュールすることもできます。

デフォルトでは、foreman-rake audits:expire コマンドを使用すると 90 日以上経過した監査レコードが削除されます。days オプションに日数を追加することで、監査レコードを保持する日数を指定することが可能です。

たとえば、7 日以上経過した監査レコードを削除する場合は、以下のコマンドを実行します。

# foreman-rake audits:expire days=7

10.2. 監査レコードの匿名化

foreman-rake audits:anonymize コマンドを使うと、データベースで監査レコードを保持しつつ、ユーザーアカウントや IP 情報を削除できます。また、cron job を使って監査レコードの匿名化を希望する頻度でスケジュールすることもできます。

デフォルトでは、foreman-rake audits:anonymize コマンドを使用すると 90 日以上経過した監査レコードが匿名化されます。days オプションに日数を追加することで、監査レコードを保持する日数を指定することが可能です。

たとえば、7 日以上経過した監査レコードを匿名化する場合は、以下のコマンドを実行します。

# foreman-rake audits:anonymize days=7

10.3. 未使用タスクのクリーニング

未使用タスクをクリーンアップすると、データベース内のディスクスペースを削減し、ディスク増加率を制限することができます。クリーニングを定期的に実行すると、 Satellite のバックアップがより短時間で完了し、全体的なパフォーマンスも上がります。

未使用タスクのクリーニング

インストーラーには、cron ジョブが自動で古いタスクを削除するようにする機能があります。意図しないタスクのクリーンアップを避けるために、この機能はデフォルトでは有効になっていません。

  1. cron ジョブを有効にします。

    # satellite-installer --foreman-plugin-tasks-automatic-cleanup true
  2. デフォルトでは、cron ジョブは毎日午後 7 時 45 分に実行するようにスケジュールされています。この時間を変更するには、--foreman-plugin-tasks-cron-line パラメーターの値を変更します。

    # satellite-installer --foreman-plugin-tasks-cron-line "00 15 * * *"

    上記のコマンドでは、cron ジョブが毎日午後 3 時に実行されるようになります。cron のフォーマットについての詳細は、man 5 crontab を参照してください。

全タスクが削除される頻度の変更と、cron ジョブの詳細な設定は、/etc/foreman/plugins/foreman-tasks.yaml ファイルのコンテンツを変更して行います。

10.4. 完全なディスクからのリカバリー

以下の手順では、Pulp データベースのある論理ボリューム (LV) に空きスペースがない場合の解決方法について説明します。

完全なディスクからのリカバリー

  1. 実行中の Pulp タスクを完了させます。新たなタスクは開始しないでください。ディスクに空きスペースがないため、失敗することになります。
  2. /var/lib/pulp ディレクトリーのある LV に十分な空きスペースがあることを確認します。以下のような方法があります。

    1. 孤立したコンテンツを削除します:

      # foreman-rake katello:delete_orphaned_content RAILS_ENV=production

      これは 1 週間ごとに実行されるので、多くのスペースが解放されるわけではありません。

    2. できるだけ多くのリポートのダウンロードポリシーを 即時 から オンデマンド に変更し、ダウンロード済みパッケージを削除します。手順については、カスタマーポータルの Red Hat ナレッジソリューション How to change syncing policy for Repositories on Satellite 6.2 from "Immediate" to "On-Demand" を参照してください。
    3. /var/lib/pulp ディレクトリーのある LV 上のファイルシステムを拡張します。詳細は、論理ボリュームマネージャーの管理論理ボリュームのファイルシステムの拡張 を参照してください。

      注記

      (ext3、ext4、または xfs などの) 通常外のファイルシステムを使用している場合は、そのファイルシステムをアンマウントして使用されていない状態にする必要があります。その場合、以下を実行します。

      • Satellite サービスを停止します。
      # foreman-maintain service stop
      • LV 上のファイルシステムを拡張します。
      • Satellite サービスを起動します。
      # foreman-maintain service start
  3. ディスクに空きスペースがないために Pulp タスクが失敗していた場合は、それらのタスクを再実行します。

10.5. MongoDB からのディスク領域の確保

MongoDB データベースは、特に負荷の高いデプロイメントにおいて、ディスク領域を大幅に使用できます。以下の手順では、このディスク領域の一部を確保する方法を説明しています。

前提条件

MongoDB からのディスク領域の確保

  1. MongoDB シェルにアクセスします。

    # mongo pulp_database
  2. 修復前の MongoDB のディスク領域の使用量を確認します。

    > db.stats()
  3. 現在の MongoDB データベースに 2 GB を足したサイズに相当する空のディスク領域があることを確認します。MongoDB データベースを含むボリュームに十分な領域がない場合、別のボリュームをマウントし、これを修復に使用することができます。
  4. 修復コマンドを入力します。

    > db.repairDatabase()

    データベースのサイズによっては、修復コマンドは、その他すべての操作をブロックし、完了までに時間がかかる場合があることに注意してください。

  5. 修復後の MongoDB のディスク領域の使用量を確認します。

    > db.stats()
  6. Pulp サービスを開始します。

    # systemctl start goferd httpd pulp_workers pulp_celerybeat \
    pulp_resource_manager pulp_streamer

10.6. Satellite Server での Red Hat Insights の使用

Red Hat Insights を使用すると、セキュリティー違反、パフォーマンスの低下、および安定性の消失に関連するシステムとダウンタイムを診断できます。ダッシュボードを使用して、安定性、セキュリティー、またはパフォーマンスの主要なリスクを素早く特定できます。また、カテゴリー別に分類したり、影響度および解決方法の詳細を表示したり、影響を受けたシステムを調べたりすることができます。

サブスクリプションマニフェストに Red Hat Insights のエンタイトルメントを追加する必要はありません。

Satellite で Red Hat Insights を使用するには、最初にホストをインストールして Red Hat Insights に登録する必要があります。

Puppet を使用して、または手動でホストをインストールおよび登録する方法については、Red Hat Insights Getting Started を参照してください。

Ansible ロールを使用した Red Hat Insights のデプロイ

RedHatInsights.insights-client Ansible ロールを使用すると、Red Hat Insights とのホストのインストールおよび登録を自動化することができます。Satellite にこのロールを追加するには、4章Ansible ロールの管理 の手順に従ってください。

  1. RedHatInsights.insights-client ロールをホストに追加します。新規ホストについては ホストの作成 を、希望のホストにロールを追加する方法については 既存ホストへの Ansible ロールの割り当て を参照してください。
  2. RedHatInsights.insights-client ロールをホストで実行するには、ホスト > すべてのホスト に移動して、使用するホスト名をクリックします。
  3. Ansible ロールの実行 ボタンをクリックします。

ロール実行が完了したら、Satellite web UI の Insights > 概要 ページで追加したホストの表示と作業が可能になります。

追加情報

  • Red Hat Insights プラグインにシステム更新を適用するには、更新後に httpd restart を使用します。
  • Red Hat Insights およびすべてのプラグインのログを確認するには、/var/log/foreman/production.log に移動します。
  • Red Hat Insights との接続に問題がある場合は、証明書が最新のものであることを確認してください。サブスクリプションマニフェストをリフレッシュして証明書を更新します。