付録A 大規模デプロイメントに関する考慮事項
Apache 向けファイル記述子の最大数の増加
登録されているコンテンツホストの数が 800 を超える場合、Apache では複数のシステムレベルの制限に到達し、新しいコンテンツホストの登録に失敗することがあります。この問題を回避するには、大量のコンテンツホストをデプロイする前に、ファイル記述子の制限を緩和する必要があります。
/etc/systemd/system/httpd.service.d/limits.conf
ファイルを作成し、以下のテキストを挿入します。[Service] LimitNOFILE=65536
[Service] LimitNOFILE=65536
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更をユニットに適用します。
systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Katello サービスを再起動します。
katello-service restart
# katello-service restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
qpid 向けファイル記述子の最大数の増加
1100 を超えるコンテンツホストでエラータ更新のために goferd を実行すると、qpid でシステムレベルの制限に到達し、登録に失敗することがあります。この問題を回避するには、大量のコンテンツホストをデプロイする前に、ファイル記述子の制限を緩和する必要があります。
qpid 向けファイル記述子の最大数の増加
/etc/systemd/system/qpidd.service.d/limits.conf
ファイルを作成し、以下のテキストを挿入します。[Service] LimitNOFILE=65536
[Service] LimitNOFILE=65536
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更をユニットに適用します。
systemctl daemon-reload systemctl restart qpidd.service
# systemctl daemon-reload # systemctl restart qpidd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
共有バッファーと作業メモリーの増加
shared_buffer
と work_mem
はそれぞれ、256M
と 4M
に増やすことができます。
Red Hat Enterprise Linux 7 の場合は、
/var/lib/pgsql/data/postgresql.conf
ファイルを作成し、以下のテキストを挿入します。work_mem = 4MB shared_buffers = 256MB
work_mem = 4MB shared_buffers = 256MB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgresql サービスを再起動します。
systemctl restart postgresql
# systemctl restart postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
同時コンテンツホスト登録の増加
システムレベルの制限に到達しないように、最大 250 の同時コンテンツホストを処理するようグローバルパッセンジャーキュー制限を増加できます。詳細は『Red Hat Satellite のチューニング』の「Passenger の設定」を参照してください。以下の手順に従って、 グローバルパッセンジャーキュー制限を増やします。
最大パッセンジャープールサイズを、Satellite Server で利用可能な物理 CPU コアの 1.5 倍に調整します。
たとえば、Satellite Server にコアが 16 個ある場合、最大パッセンジャープールサイズは 24 になります。この数は例として使用しているため、実際にはご使用の環境に応じた数を使用する必要があります。
/etc/httpd/conf.d/passenger.conf
ファイルを編集して以下のテキストに一致するよう IfModule スタンザを更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Foreman Passenger アプリケーション設定ファイル
/etc/httpd/conf.d/05-foreman-ssl.conf
を編集して、以下のテキストに一致するよう PassengerAppRoot で始まるスタンザを更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Puppet Passenger アプリケーション設定ファイル
/etc/httpd/conf.d/25-puppet.conf
を編集して以下のテキストを仮想ホスト定義の最後に追加します。PassengerMinInstances 6 PassengerStartTimeout 90 PassengerMaxPreloaderIdleTime 0 PassengerMaxRequests 10000 PassengerPreStart https://example.com:8140
PassengerMinInstances 6 PassengerStartTimeout 90 PassengerMaxPreloaderIdleTime 0 PassengerMaxRequests 10000 PassengerPreStart https://example.com:8140
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pgsql/data/postgresql.conf
ファイルで最大接続数を変更します。max_connections = 500
max_connections = 500
Copy to Clipboard Copied! Toggle word wrap Toggle overflow postgresql サービスを再起動します。
systemctl restart postgresql
# systemctl restart postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
qdrouterd 向けオープンファイルの最大数の増加
登録されているコンテンツホストの数が 1000 を超える場合、qdrouterd はオープンファイルのデフォルトの最大数に到達することがあります。この問題を回避するには、Satellite サーバーとすべての外部 Capsule サーバーのオープンファイルの最大数を増加します。
以下の式を使用して、オープンファイルの必要な最大数を計算します。
(3 x コンテンツホストの数) + 100
(3 x コンテンツホストの数) + 100
Copy to Clipboard Copied! Toggle word wrap Toggle overflow たとえば、1020 のコンテンツホストの場合、新しい最大数は 3160 ((3 x 1020) + 100) に設定します。
/etc/systemd/system/qdrouterd.service.d/limits.conf
ファイルを作成し、以下のテキストを追加します。[Service] LimitNOFILE=maximum_number_of_files
[Service] LimitNOFILE=maximum_number_of_files
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更をユニットに適用します。
systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite のサービスを再起動します。
katello-service restart
# katello-service restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ホスト登録の遅れを減少
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 には、Red Hat Virtualization ホストからのエントロピーへの KVM 仮想マシンアクセスを提供する 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 の『セキュリティーガイド』の「乱数ジェネレーターの使用」を参照してください。