2.4. PostgreSQL 要求
Red Hat Ansible Automation Platform 使用 PostgreSQL 13。
- 在将 PostgreSQL 用户密码保存到数据库前,会使用 SCRAM-SHA-256 安全散列算法对其进行处理。
-
要确定您的自动化控制器实例是否可以访问数据库,则可以使用
awx-manage check_db命令。
表 2.2. 数据库
| 服务 | 必填 | 备注 |
|---|---|---|
| 每个自动化控制器 | 40 GB 专用硬盘空间 |
|
| 每个自动化中心 | 60 GB 专用硬盘空间 | 存储卷的最低基础线必须被定为 1500 IOPS。 |
| 数据库 | 20 GB 专用硬盘空间 |
|
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 测试数据日志文件。
该流程中显示的示例至少需要 60GB 磁盘空间在
/tmp目录中:-
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 […]
您必须根据您自己的业务需求、应用程序工作负载和新需求审核、监控和重新查看日志文件。