2.4. PostgreSQL 요구 사항
Red Hat Ansible Automation Platform은 PostgreSQL 13을 사용합니다.
- PostgreSQL 사용자 암호는 데이터베이스에 저장하기 전에 SCRAM-SHA-256 보안 해시 알고리즘으로 해시됩니다.
-
자동화 컨트롤러 인스턴스가 데이터베이스에 액세스할 수 있는지 확인하려면
awx-manage check_db명령을 사용하여 이를 수행할 수 있습니다.
표 2.2. 데이터베이스
| Service | 필수 항목 | 참고 |
|---|---|---|
| 각 자동화 컨트롤러 | 40GB 전용 하드 디스크 공간 |
|
| 각 자동화 허브 | 60GB 전용 하드 디스크 공간 | 스토리지 볼륨은 최소 1500 IOPS 기준으로 평가되어야 합니다. |
| 데이터베이스 | 20GB 전용 하드 디스크 공간 |
|
PostgreSQL 설정
선택적으로 Red Hat Ansible Automation Platform 설치 프로그램에서 관리하지 않는 별도의 노드로 PostgreSQL 데이터베이스를 구성할 수 있습니다. Ansible Automation Platform 설치 프로그램에서 데이터베이스 서버를 관리할 때 대부분의 워크로드에 일반적으로 권장되는 기본값으로 서버를 구성합니다. 그러나 ansible_memtotal_mb 가 데이터베이스 서버의 총 메모리 크기인 독립 실행형 데이터베이스 서버 노드에 대해 이러한 PostgreSQL 설정을 조정할 수 있습니다.
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 데이터베이스 요구 사항이 충족되는지 확인하는 방법을 설명합니다.
사전 요구 사항
유연한 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 […]
자체 비즈니스 요구 사항, 애플리케이션 워크로드 및 새로운 요구에 따라 로그 파일을 검토, 모니터링 및 다시 방문해야 합니다.