1.3. ストレージのガイドライン

Satellite Server をインストールして効率性を向上させる場合は、以下のガイドラインを考慮してください。

  • /tmp ディレクトリーを別のファイルシステムとしてマウントする場合は、 /etc/fstab ファイルの exec マウントオプションを使用する必要があります。/tmp が、noexec オプションを指定してすでにマウントされている場合は、オプションを exec に変更して、ファイルシステムを再マウントする必要があります。これは、puppetserver サービスが機能するために必要です。
  • Satellite Server データの多くは /var ディレクトリーに格納されるため、LVM ストレージに /var をマウントして、システムがスケーリングできるようにしてください。
  • /var/cache/pulp//var/lib/pulp/ ディレクトリーに同じボリュームを使用することで、同期後に /var/cache/pulp/ から /var/lib/pulp/ にコンテンツを移動する時間を短縮できます。
  • /var/lib/qpidd/ ディレクトリーでは、goferd サービスが管理するコンテンツホスト 1 つに対して使用される容量は 2 MB を少し超えます。たとえば、コンテンツホストの数が 10,000 個の場合、/var/lib/qpidd/ に 20 GB のディスク容量が必要になります。
  • /var/lib/pulp/ ディレクトリーと /var/lib/mongodb/ ディレクトリーには、高帯域幅で低レイテンシーのストレージの使用をお勧めします。Red Hat Satellite には I/O を大量に使用する操作が多数あるため、高レイテンシーで低帯域幅のストレージを使用すると、パフォーマンス低下の問題が発生します。インストールに、毎秒 60 - 80 メガバイトのスピードがあることを確認してください。fio ツールを使用すると、このデータが取得できます。fio ツールの詳細な使用方法は、Red Hat ナレッジベースのソリューション「Impact of Disk Speed on Satellite Operations」を参照してください。

ファイルシステムのガイドライン

  • XFS ファイルシステムは、ext4 では存在する inode の制限がないため、Red Hat Satellite 6 では XFS ファイルシステムを使用してください。Satellite Server は多くのシンボリックリンクを使用するため、ext4 とデフォルトの数の inode を使用する場合は、システムで inode が足りなくなる可能性が高くなります。
  • MongoDB は従来の I/O を使用してデータファイルにアクセスしないので、MongoDB では NFS を使用しないでください。また、NFS でデータファイルとジャーナルファイルの両方がホストされている場合にはパフォーマンスの問題が発生します。NFS を使用する必要がある場合は、/etc/fstab ファイルで bgnolock、および noatime のオプションを使用してボリュームをマウントします。
  • Pulp データストレージに NFS を使用しないでください。Pulp に NFS を使用すると、コンテンツの同期のパフォーマンスが低下します。
  • 入出力レイテンシーが高すぎるため、GFS2 ファイルシステムは使用しないでください。

ログファイルのストレージ

ログファイルは、/var/log/messages//var/log/httpd/、および /var/lib/foreman-proxy/openscap/content/ に書き込まれます。logrotate を使って、これらのファイルのサイズを管理できます。詳細は『Red Hat Enterprise Linux 7 システム管理者のガイド』の「ログローテーション」を参照してください。

ログメッセージに必要なストレージの正確な容量は、インストール環境および設定により異なります。

NFS マウントを使用する場合の SELinux の考慮事項

NFS 共有を使用して /var/lib/pulp ディレクトリーをマウントすると、SELinux は同期プロセスをブロックします。これを避けるには、以下の行を /etc/fstab に追加して、ファイルシステムテーブル内の /var/lib/pulp ディレクトリーの SELinux コンテキストを指定します。

nfs.example.com:/nfsshare  /var/lib/pulp/content  nfs  context="system_u:object_r:httpd_sys_rw_content_t:s0"  1 2

NFS 共有が既にマウントされている場合は、上記の方法を使用して再マウントし、以下のコマンドを入力します。

# chcon -R system_u:object_r:httpd_sys_rw_content_t:s0 /var/lib/pulp

重複パッケージ

同じパッケージが異なるリポジトリーで重複して存在する場合には、ディスク上に一度しか保存されません。そのため、重複するパッケージを別のリポジトリーに追加するときに必要な追加ストレージが少なくて済みます。ストレージの多くは、/var/lib/mongodb/ および /var/lib/pulp/ ディレクトリーにあります。これらのエンドポイントは手動で設定できません。ストレージの問題を回避するために、ストレージが /var ファイルシステムで利用可能であることを確認してください。

一時的なストレージ

/var/cache/pulp/ ディレクトリーは、同期中に、コンテンツを一時的に保存するために使用します。同期タスクがすべて完了したら、コンテンツは /var/lib/pulp/ ディレクトリーに移動されます。

RPM 形式のコンテンツの場合は、各 RPM ファイルは同期後に /var/lib/pulp ディレクトリーに移動されます。一度に、/var/cache/pulp/ ディレクトリーに保存される RPM ファイルは 5 つです。デフォルトでは、RPM コンテンツの同期タスクは最大 8 つまで同時に実行でき、それぞれ最大 1 GB のメタデータを使用します。

ソフトウェアコレクション

ソフトウェアコレクションは、/opt/rh/ ディレクトリーと /opt/theforeman/ ディレクトリーにインストールされます。

/opt ディレクトリーへのインストールには、root ユーザーによる書き込みパーミッションおよび実行パーミッションが必要です。

シンボリックリンク

/var/lib/pulp/ および /var/lib/mongodb/ にはシンボリックリンクは使用できません。

ISO イメージ

ISO 形式のコンテンツについては、同期タスクごとに ISO ファイルはすべて、タスクが完了するまで /var/cache/pulp/ に保存されます。タスクが完了すると /var/lib/pulp/ ディレクトリーに移動します。

インストールや更新に ISO イメージを使用する予定の場合は、外部ストレージを提供するか、ISO ファイルを一時的に保存するために /var/tmp に領域を空けるようにする必要があります。

たとえば、4 つの ISO ファイル (それぞれのサイズが 4 GB) を同期している場合は、/var/cache/pulp/ ディレクトリーに合計 16 GB 必要になります。これらのファイルに必要な一時ディスク容量は通常 RPM コンテンツのサイズを超えるので、同期する ISO ファイルの数を考慮してください。