付録A 大規模デプロイメントに関する考慮事項


Apache 向けファイル記述子の最大数の増加

登録されているコンテンツホストが 800 を超えると、Apache がいくつかのシステムレベルの制限に達し、新しいコンテンツホストの登録が失敗する可能性があります。これを回避するには、多数のコンテンツホストを展開する前に、ファイル記述子の制限を増やす必要があります。

  1. /etc/systemd/system/httpd.service.d/limits.conf ファイルを作成し、次のテキストを挿入します。

    [Service]
    LimitNOFILE=65536
  2. 変更をユニットに適用します。

    # systemctl daemon-reload
  3. Satellite のサービスを再起動します。

    # foreman-maintain service restart

qpid 向けファイル記述子の最大数の増加

1100 台を超えるコンテンツホストで goferd が実行され、エラータ更新が実行されると、qpid がシステムレベルの制限に達し、登録が失敗します。これを回避するには、多数のコンテンツホストを展開する前に、ファイル記述子の制限を増やす必要があります。

qpid 向けファイル記述子の最大数の増加

  1. /etc/systemd/system/qpidd.service.d/limits.conf ファイルを作成し、次のテキストを挿入します。

    [Service]
    LimitNOFILE=65536
  2. 変更をユニットに適用します。

    # systemctl daemon-reload
    # systemctl restart qpidd.service

共有バッファーと作業メモリーの増加

shared_bufferwork_mem を それぞれ 256M4M に増やすことができます。

  1. Red Hat Enterprise Linux 7 では、/var/lib/ pgsql/data/postgresql.conf ファイルを作成し、次のテキストを挿入します。

    work_mem = 4MB
    shared_buffers = 256MB
  2. postgresql サービスを再起動します。

    # systemctl restart postgresql

同時コンテンツホスト登録の増加

システムレベルの制限への到達を回避するために、最大 250 の同時コンテンツホストを処理するようグローバルパッセンジャーキュー制限を増加できます。

グローバルパッセンジャーキューの上限を増やすには、以下の手順を実行します。

  1. 最大パッセンジャープールサイズを、Satellite Server で利用可能な物理 CPU コアの 1.5 倍に調整します。

    たとえば、16 個のコアを持つ Satellite Server がある場合、最大乗客プールサイズは 24 になります。この番号は例として参照されており、ご使用の環境に該当する番号を使用する必要があります。

  2. /etc/httpd/conf.d/passenger.conf ファイルを編集し、IfModule スタンザを次のテキストと一致するように更新します。

    <IfModule mod_passenger.c>
      PassengerRoot /usr/share/gems/gems/passenger-4.0.18/lib/phusion_passenger/locations.ini
      PassengerRuby /usr/bin/ruby
      PassengerMaxPoolSize 24
      PassengerMaxRequestQueueSize 200
      PassengerStatThrottleRate 120
    </IfModule>
  3. Foreman Passenger アプリケーション設定ファイル /etc/httpd/conf.d/05-foreman-ssl.conf を編集し、PassengerAppRoot で始まるスタンザを次のテキストと一致するように更新します。

     PassengerAppRoot /usr/share/foreman
     PassengerRuby /usr/bin/tfm-ruby
     PassengerMinInstances 6
     PassengerStartTimeout 90
     PassengerMaxPreloaderIdleTime 0
     PassengerMaxRequests 10000
     PassengerPreStart https://example.com
  4. Puppet Passenger アプリケーション設定ファイル /etc/httpd/conf.d/25-puppet.conf を編集し、仮想ホスト定義の末尾に次のテキストを追加します。

     PassengerMinInstances 6
     PassengerStartTimeout 90
     PassengerMaxPreloaderIdleTime 0
     PassengerMaxRequests 10000
     PassengerPreStart https://example.com:8140
  5. /var/lib/pgsql/data/postgresql.conf ファイルで最大接続数を変更します。

    max_connections = 500
  6. postgresql サービスを再起動します。

    # systemctl restart postgresql

qdrouterd 向けオープンファイルの最大数の増加

登録されているコンテンツホストが 1,000 を超えると、qdrouterd は 開いているファイルのデフォルトの最大数に達する可能性があります。これを回避するには、Satellite Server およびすべての外部 Capsule Server で開いているファイルの最大数を増やします。

  1. 以下の式を使用して、オープンファイルの必要な最大数を計算します。

    (3 x number of content hosts) + 100

    たとえば、1020 のコンテンツホストの場合、新しい最大数は 3160 ((3 x 1020) + 100) に設定します。

  2. ファイル /etc/systemd/system/qdrouterd.service.d/limits.conf を作成し、次のテキストを追加します。

    [Service]
    LimitNOFILE=maximum_number_of_files
    1. 変更をユニットに適用します。

      # systemctl daemon-reload
    2. Satellite のサービスを再起動します。

      # foreman-maintain service restart

ホスト登録の遅れを減少

Satellite と各登録ホスト間の通信は、証明書の使用によって保護されます。ホストが登録されると、Satellite はアイデンティティー証明書と Puppet 証明書の 2 つの証明書を作成します。各証明書の作成に使用されるアルゴリズムには、Red Hat Enterprise Linux カーネルからのランダムデータが必要です。ホストの登録時に十分なエントロピーが利用できない場合は、適切なレベルのエントロピーが利用できるようになるまで遅延が発生します。10,000 台を超えるホストがある非常に大規模な環境では、エントロピー不足によりホスト登録の速度が低下する可能性があります。Linux カーネルへのエントロピーの可用性を向上させ、Satellite のパフォーマンスに対するリスクを軽減するために、いくつかの方法を使用できます。

デフォルトでは、Linux カーネルは乱数のソースとして /dev/random デバイスを使用します。これはブロッキングデバイスであり、適切にランダムな出力を生成するためのエントロピーの量が不十分であると判断された場合、数字の供給を停止します。この待機時間により、ホストの登録が遅れることになります。この問題を解決するには、非ブロッキングデバイスである /dev/urandom デバイスを使用します。

一部のハードウェアサーバーには、ハードウェア乱数ジェネレーターを含むプロセッサーが搭載されています。Red Hat Enterprise Linux カーネルでサポートされているものについては、それを乱数のソースとして使用できます。詳細は、ハードウェアベンダーのドキュメントを参照してください。

Satellite が仮想マシン上でホストされている場合、一部のハイパーバイザーでは、ハードウェアサーバーの乱数ジェネレーターを、ホストする仮想マシンで使用できるようにすることに注意してください。Red Hat Virtualization には、KVM 仮想マシンに Red Hat Virtualization Host からのエントロピーへのアクセスを提供する virtio RNG (乱数ジェネレーター) デバイスが搭載されています。Red Hat Enterprise Linux 7.0 を実行しているゲストでは、rngd をインストールして設定する必要があります。Red Hat Enterprise Linux 7.1 以降を実行しているゲストでは、ゲストカーネルは必要に応じてホストからエントロピーを取得します。ホストの乱数ジェネレータをゲストが共有する場合は、ハードウェア乱数ジェネレータの使用を推奨します。

ゲストの乱数ジェネレーターの詳細は、Red Hat Enterprise Linux 7 仮想化デプロイメントおよび管理ガイド乱数ジェネレーターデバイスを 参照してください。その他のハイパーバイザーについては、ベンダーのドキュメントを参照してください。

乱数ジェネレーターデーモン rngd の詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド乱数ジェネレーターの使用を 参照してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る