2.4. PostgreSQL の要件
Red Hat Ansible Automation Platform は PostgreSQL13 を使用します。
- PostgreSQL ユーザーパスワードは、データベースに保存する前に SCRAM-SHA-256 のセキュアハッシュアルゴリズムでハッシュ化されます。
-
Automation Controller のインスタンスがデータベースにアクセスできるかどうかを判断するには、
awx-manage check_dbコマンドを使用します。
表2.2 データベース
| サービス | 必須 | 注記 |
|---|---|---|
| 各 Automation Controller | 40GB の専用ハードディスクスペース |
|
| 各 Automation Hub | 60 GB の専用ハードディスクスペース | ストレージボリュームは、最小ベースライン 1500 IOPS で評価される必要があります。 |
| データベース | 20GB の専用ハードディスクスペース |
|
PostgreSQL の設定
必要に応じて、PostgreSQL データベースを、Red Hat Ansible Automation Platform インストーラーで管理されていない個別ノードとして設定できます。Ansible Automation Platform インストーラーがデータベースサーバーを管理する場合は、大半のワークロードで一般的に推奨されているデフォルト値を使用してサーバーを設定します。ただし、スタンドアロンのデータベースサーバーノードの PostgreSQL 設定を調整できます。ansible_memtotal_mb は、データベースサーバーの合計メモリーサイズになります。
max_connections == 1024 shared_buffers == ansible_memtotal_mb*0.3 work_mem == ansible_memtotal_mb*0.03 maintenance_work_mem == ansible_memtotal_mb*0.04
関連情報
PostgreSQL サーバーのチューニングの詳細は、PostgreSQL のドキュメント を参照してください。
2.4.1. Ansible Automation Platform PostgreSQL データベースのストレージパフォーマンスのベンチマーク
次の手順では、ストレージシステムの書き込み/読み取り IOPS パフォーマンスをベンチマークして、Ansible Automation Platform PostgreSQL データベースの最小要件が満たされているかを確認する方法について説明します。
前提条件
Flexible I/O Tester (fio) ストレージパフォーマンスベンチマークツールがインストールされている。
fio をインストールするには、root ユーザーとして次のコマンドを実行します。
# yum -y install fio
fio テストデータのログファイルを保存するために十分なディスク容量がある。
この手順に示す例では、
/tmpディレクトリーに少なくとも 60GB のディスク領域が必要です。-
numjobsは、コマンドによって実行されるジョブの数を設定します。 -
size=10Gは、各ジョブによって生成されるファイルサイズを設定します。
テストデータの量を減らすには、
sizeパラメーターの値を調整します。-
手順
ランダムな書き込みテストを実行します。
$ fio --name=write_iops --directory=/tmp --numjobs=3 --size=10G \ --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 \ --verify=0 --bs=4K --iodepth=64 --rw=randwrite \ --group_reporting=1 > /tmp/fio_benchmark_write_iops.log \ 2>> /tmp/fio_write_iops_error.log
ランダムな読み取りテストを実行します。
$ fio --name=read_iops --directory=/tmp \ --numjobs=3 --size=10G --time_based --runtime=60s --ramp_time=2s \ --ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=64 --rw=randread \ --group_reporting=1 > /tmp/fio_benchmark_read_iops.log \ 2>> /tmp/fio_read_iops_error.log
結果を確認します。
ベンチマークコマンドによって書き込まれたログファイルで、
iopsで始まる行を検索します。この行は、テストの最小値、最大値、および平均値を表示します。次の例は、ランダム読み取りテストのログファイル内の行を表示しています。
$ cat /tmp/fio_benchmark_read_iops.log read_iops: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64 […] iops : min=50879, max=61603, avg=56221.33, stdev=679.97, samples=360 […]
独自のビジネス要件、アプリケーションのワークロード、および新しい要求に応じて、ログファイルを確認、監視、再検討する必要があります。