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
ファイルでbg
、nolock
、および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/
にはシンボリックリンクは使用できません。
同期された RHEL ISO
RHEL コンテンツの ISO を Satellite に同期する予定の場合には、Red Hat Enterprise Linux のすべてのマイナーバージョンも同期することに注意してください。これに対応するため、Satellite に適切なストレージを設定するようにプランニングする必要があります。