1. 사전 설치 요구 사항
모든 사전 설치 단계를 모든 PostgreSQL 노드에서 수행해야 합니다.
네트워크 통신
세 개의 PostgreSQL 노드가 모두 WAL(Write Ahead of Log)에 대해 TCP를 통해 서로 통신해야 합니다.
포트
용도
1
5432
이 포트는 PostgreSQL 통신에 사용됩니다.
2
22
이 SSH 포트는 PostgreSQL 노드에 스크립트를 호출하기 위해 Pgpool에 사용됩니다.
3
NFS?
모든 PostgreSQL 노드는 보관 로그에 쓰고 액세스하기 위해 공통 파일 공유 위치에 액세스해야 합니다. 이 포트는 선택한 파일 공유 방법에 따라 다를 수 있습니다.
파일 공유
각 PostgreSQL 노드에 보관 로그를 쓸 수 있고 다른 노드가 액세스할 수 있는 고유한 공유 위치가 있어야 합니다.
폴더 이름
용도
1
/db/node0archive
node0은 이 폴더에 보관 로그를 쓰고 후속 노드는 여기에서 읽습니다. 이 폴더는 node0, node1 및 node2 간에 공유됩니다.
2
/db/node1archive
node1은 이 폴더에 보관 로그를 쓰고 후속 노드는 여기에서 읽습니다. 이 폴더는 node0, node1 및 node2 간에 공유됩니다.
3
/db/node2archive
node2는 이 폴더에 보관 로그를 쓰고 후속 노드는 여기에서 읽습니다. 이 폴더는 node0, node1 및 node2 간에 공유됩니다.
원격 액세스
각 Pgpool 노드는 모든 PostgreSQL 노드에 암호를 제공하지 않고도 SSH에 액세스해야 합니다. Pgpool 사용자를 PostgreSQL 노드가 신뢰해야 합니다.
이 예제에서는 이 신뢰 관계를 구성하는 것에 대해서는 다루지 않습니다.
데이터베이스 폴더 설정
Postgresql 10은 기본적으로 /var/lib/postgresql/10.x/main/var/lib/postgresql/10.x/data에 설치됩니다. 그러나 이 예제에서는 데이터 파일이 운영 체제 디스크에 유지되지 않는 일반적인 생산 사례를 반영하기 위해 모든 설치가 /db/로 전달됩니다.