이 항목에서는 버전 9.0.0 이상을 실행하는 장치의 데이터베이스 페일오버 기능에 대해 설명합니다. 해당 장치의 페일오버는 서비스 제공자 장치가 예기치 않게 종료되어 수동 프로세스가 필요한 경우를 제외하고 완전히 자동화되어 있습니다.
참고: 이 항목은 버전 9.0.0 이상을 실행하는 장치에만 적용됩니다. 이전 장치와 관련된 내용은
데이터베이스 페일오버 - 레거시 장치를 참조하십시오.
자동화된 페일오버
자동화된 페일오버 기능에는 다음이 포함됩니다.
- 단일 데이터 소스 연결 - 이제 모든 장치가 새 pgbouncer 서비스를 통해 프록시되는 단일 데이터 소스 연결을 사용합니다. pgbouncer는 장치 서비스에서 사용할 단일 연결 지점을 제공하면서 기본 postgres 데이터베이스에 대한 연결을 유지하는 연결 풀러입니다. 이 서비스는 모든 페일오버 및 기본 마이그레이션도 처리합니다. 새 기본 데이터베이스를 가리키도록 자동으로 업데이트되므로 기본 간에 원활한 전환이 가능합니다.
- 장치 종료 또는 다시 시작 시 기본 데이터베이스의 제어된 전환 - 게스트가 시작한 현재 기본 데이터베이스의 종료 또는 다시 시작 과정에서 기본 역할이 제어된 방식으로 HA 쌍의 다른 장치로 마이그레이션됩니다. 이 때문에 장치 작동에 사소한 중단만 발생하며, 주로 Blast(웹) 포털을 통한 데스크톱 연결에 영향을 미칩니다. Horizon Client를 통해 생성된 데스크톱 연결은 영향을 받지 않습니다. horizonadmin을 사용할 수 없는 짧은 기간도 있으며, 전환 중에 데스크톱 연결을 요청하는 사용자에게는 사용 가능한 데스크톱이 없다는 오류가 표시될 수 있습니다(하지만 잠시 후에 다시 시도하면 데스크톱에 연결할 수 있음).
- 테넌트 장치에서 예기치 않은 장애가 발생할 경우 기본 데이터베이스 자동 페일오버 - 이제 기본 장애가 자동으로 감지되고, 장치가 실제로 다운되었는지 확인하라는 요청이 서비스 제공자 장치에 전송됩니다. 3분 지연 후에 페일오버 프로세스가 시작됩니다. 이 새로운 페일오버 프로세스는 과거의 페일오버 프로세스보다 덜 강제적이며, 이후에 slony 클러스터가 정상적인 복제 상태로 유지되므로 페일오버가 완료된 후 slony를 다시 초기화하지 않아도 됩니다.
아래에서는 해당 기능을 지원하는 서비스에 대해 설명합니다.
서비스 | 설명 | 로그 위치 | 메모 |
---|---|---|---|
Pgbouncer | 플랫폼 서비스와 postgres 간의 데이터베이스 연결을 브로커링하는 연결 풀러입니다. | /var/log/pgbouncer/ |
|
Dbmonitor | 다음을 수행하는 모니터링 서비스입니다.
|
/var/log/dbmonitor/ | |
Switchover | 종료 시 스크립트가 실행되어 전환 작업을 수행합니다. | /var/log/desktone/slony-services | |
Resubscribe | 시작 시 스크립트가 실행되어 다시 구독 작업을 수행합니다. | /var/log/desktone/slony-services |
서비스 제공자 장치의 수동 페일오버
서비스 제공자 장치가 예기치 않게 종료된 경우, 다른 서비스 제공자 장치에서 아래 단계를 수행하여 수동 페일오버를 수행할 수 있습니다.
- failover-slony-마스터 스크립트(/usr/local/desktone/scripts/에 있음)를 루트로 실행합니다.
failover-slony-master <database type> '<database password>'
여기서 <database type>은 fdb, edb 또는 avdb입니다. - pgbouncer.ini 파일이 현재 장치의 프런트엔드 IP 주소를 가리키고 있는지 확인합니다.
/usr/local/desktone/scripts# grep '<IP address>' /etc/pgbouncer/pgbouncer.ini
- pgbouncer 서비스를 다시 로드합니다.
service pgbouncer reload
- slony-status를 실행하여 기본 상태와 복제를 확인합니다.
/usr/local/desktone/scripts# slony-status <org #>