본문 바로가기
PostgreSQL

pgpool-II(2) 파라미터 | PostgreSQL14 HA Tool Parameters

by 울라불라오미짱 2023. 6. 15.
반응형

이번 포스트에서는 pgpool-II 에서 사용하는 파라미터들을 정리해보겠습니다.

다음 포스팅에서는 오늘 설명한 파라미터를 사용하고 직접 서버 설정을 하여 PostgreSQL 노드와 pgpool-II 노드를 연결 해보도록 하겠습니다! 

pgpool-II 이 뭔지 모르시겠다면 아래 포스팅 훑어보고 오시는 걸 추천드립니당!!

2023.06.14 - [PostgreSQL] - pgpool-II Overview | PostgreSQL 14 HA Tool

 

pgpool-II Overview | PostgreSQL 14 HA Tool

pgpool-II은 PostgreSQL tool이며 많은 기능을 제공하며 많이 쓰이는 툴 중 하나 입니다. 양이 방대하여 파트를 나누어서 업로드 하려고 합니다. pgpool-II 이란? PostgreSQL 서버와 PostgreSQL 데이터베이스 클

omi-1101.tistory.com

 

 

 

Clustering and Connection settings
기능 설명
backend_clustering_mode PostgrerSQL 서버를 동기화 하는 방법. 6가지 클러스터링 모드가 존재 
listen_address pgpool 연결을 허용할 address를 지정
port pgpool 연결을 수신하기 위한 port number를 설정 
socker_dir pgpool 에 대한 연결을 수락하는 UNIX 도메인 소켓이 생성될 디렉토리
PCP Settings
기능 설명
pcp_listen_address pcp 프로세스가 TCP/IP 연결 할 호스트 이름 또는 IP 주소를 지정
pcp_port pcp 프로세스가 연결을 수신 대기하는데 사용하는 포트 
pcp_socket_dir pcp 프로세스의 연결을 수락하는 UNIX 도메인 소켓이 생성될 디렉토리
Authentication Settings  
Authentication Settings
기능 설명
enable_pool_hba pgpool은 클라이언트 인증을 위해 pool_hba.conf를 사용
Backend Connection Settings
기능 설명
backend_hostname 연결할 PostgreSQL 백엔드를 지정
backend_port 백엔드의 포트번호 지정
backend_weight 백엔드의 부하 분산 비율을 지정.
backend_data_directory 백엔드의 데이터 클러스터 디렉토리를 지정. Online Recovery일 경우에만 해당 
backend_flag 다양한 백엔드 동작을 제어. ‘|’ 를 사용하여 여러 플래그를 지정 
1.ALLOW_TO_FAILOVER : 장애 조치 또는 백엔드 분리를 허용 
2.DISALLOW_TO_FAILOVER : 장애 조치 또는 분리 허용하지 않음. HA 소프트웨어를 사용하여 백엔드를 보호
3.ALWAYS_PRIMARY : 스트리밍 복제 모드에서만 유용.설정된 노드를 항상 Primary로 인식
backend_application_name Primary 노드에서 WAL 로그를 수신하는 walreceiver의 애플리케이션 이름 지정 
Health Check Settings
기능 설명
health_check_period 상태 확인 사이의 간격을 초 단위로 지정
health_check_timeout TCP 연결이 시간 내에 성공하지 못한 경우 백엔드 PostgreSQL 연결을 포기 할 시간 제한 
health_check_user 상태 확인을 수행할 사용자 이름을 지정 모든 PostgreSQL 백엔드에 동일한 사용자가 있어야 함
health_check_password 상태 확인을 수행하기 위해 health_check_user에 구성된 사용자의 비밀번호를 지정
health_check_database 상태 확인을 수행할 데이터베이스 이름을 지정 
health_check_max_retries health Check를 실패하면 포기하고 장애 조치를 시작하기 전에 수행할 최대 재시도 횟수를 지정 
Streaming Replication Mode Settings
기능 설명
sr_check_period 스트리밍 복제 지연을 확인하는 시간 간격을 지정
sr_check_user 스트리밍 복제 검사를 수행할 PostgreSQL 사용자 이름을 지정
sr_check_password 스트리밍 복제 검사를 수행할 사용자의 암호를 지정
sr_check_database 스트리밍 복제 지연 검사를 수행할 데이터베이스를 지정
Virtual IP Control Settings
기능 설명
delegate_IP 클라이언트 서버에서 연결되는 pgpool의 가상 IP 주소 지정 
if_cmd_path pgpool 의 시스템의 가상 IP를 전환 하는데 사용할 명령어의 경로 지정 
if_up_cmd 가상 IP를 불러오는 명령어를 지정 
if_down_cmd 가상 IP를 중단하는 명령어를 지정
arping_path pgpool이 가상 IP 전환 후 ARP요청을 보내는데 사용할 명령의 경로 지정 
arping_cmd 가상 IP 전환 후 ARP 보내는데 사용할 명령어를 지정 
Escalation Settings
기능 설명
enable_consensus_with_half_votes watchdog 클러스터가 짝수의 pgpool 노드에 대해 구성된 경우에만 구성. failover에 대한 합의를 해결하기 위해 pgpool 에서 다수 규칙 계산을 수행하는 방법
Watchdog Settings
기능 설명
wd_lifecheck_method pgpool 상태를 확인하는 lifecheck 방법을 지정 
wd_interval pgpool의 수명 확인하는 간격을 지정 
Lifecheck Settings
기능 설명
use_watchdog On 시 watchdog이 활성화 
hostname pgpool 서버의 호스트 이름 또는 IP 주소를 지정
wd_port 감시 프로세스가 수신 대기 하는데 사용할 포트 번호
pgpool_port pgpool 포트 번호 지정
wd_ipc_socket_dir  watchdog IPC 연결을 수락하는 UNIX 도메인 소켓이 생성될 디렉토리
Heartbeat Mode Settings
기능 설명
heartbeat_hostname heartbeat 신호를 보내고 받기 위한 IP 주소 또한 호스트 이름을 지정 
heartbeat_port heartbeat 신호를 보내고 받기 위한 포트 번호를 지정 
heartbeat_device heartbeat 신호를 보내고 받기 위한 네트워크 장치 이름을 지정 
wd_heartbeat_keepalive heartbeat 신호를 보내는 간격을 지정
wd_heartbeat_deadtime 해당 시간 내에 heartheat 신호가 수신되지 않는 경우. 원격 watchdog 노드를 failed/dead 노드로 표시하기 전의 시간을 지정 
Logs settings
기능 설명
log_destination 로그를 기록하기 위해 두 가지 방식으로 지원. (stderr/syslog )
logging_collector 백그라운드 프로세스인 로깅 수집기를 활성화
log_directory 로그 파일이 생성될 디렉토리 결정
log_filename 생성된 로그 파일의 이름을 선정
log_truncate_on_rotation pgpool가 동일한 이름의 기존 로그 파일에 추가하지않고 덮어씀
log_rotation_age 개별 로그 파일을 사용할 수 있는 최대 시간을 설정하고 이후에는 새로운 로그 파일이 생성 
log_rotation_size 개별 로그 파일의 최대 크기를 결정 
Pid file Locations Settings
기능 설명
Pid_file_name pgpool 프로세스 ID를 저장할 파일의 전체 경로를 지정
Follow Primary Command Settings
기능 설명
follow_primary_command pgpool 프로세스 ID를 저장할 파일의 전체 경로를 지정
Failover Command Settings
기능 설명
failover_command failover_command 가 설정되어 있고 failover가 발생하면 failover_command 가 실행.
Online Recovery Settings
기능 설명
recovery_user 온라인 복구를 수행할 사용자 이름을 지정 
recovery_password 온라인 복구를 수행하기 위해 recovery_user 에 구성된 사용자 이름의 암호를 지정 
recovery_timeout 지정된 시간 내에 완료되지 않으면 온라인 복구를 취소할 시간을 지정 
recovery_1st_stage_command 온라인 복구의 첫 번째 단계에서 기본 노드에서 실행할 명령어 지정 
load_balance_mode pgpool로 들어오는 SELECT 쿼리에서 로드 밸런싱을 활성화
Connection Pooling
기능 설명
connection_cache 백엔드에 대한 연결을 캐시
max_pool pgpool의 자식 프로세스마다 가진 연결 캐시의 수  
listen_backlog_multiplier 프론트앤드로부터 연결 큐의 길이
serialize_accept serial 통신을 활성화 
child_life_time idle 상태로 유지되는 child process의 시간을 지정 
client_idle_limit 마지막 쿼리 이후에 idle 상태로 남아있는 자식 프로세스가 있으면 클라이언트의 연결을 종료 
child_max_connections pgpool의 child proces가 수신할 수 있는 client 연결 수를 기준으로 child process의 수명을 지정 
connection_life_time 캐시된 연결의 life time을 결정
reset_query_list 사용자의 세션을 종료할 때 백엔드의 연결이 reset 될 때 전송할 SQL 명령을 지정 

 

이 파라미터를 이용해서 다음 포스트에서는 노드를 연결 해보도록 하겠습니다! 😎

반응형