1장. 고가용성 서비스
RHOSP(Red Hat OpenStack Platform)는 HA(고가용성)를 구현하는 데 필요한 서비스를 제공하기 위해 여러 기술을 사용합니다.
서비스 유형
- 코어 컨테이너
핵심 컨테이너 서비스는 Galera,RabbitMQ,Redis, HAProxy 입니다. 이러한 서비스는 모든 컨트롤러 노드에서 실행되며 시작, 중지 및 재시작 작업을 위해 특정 관리 및 제약 조건이 필요합니다. Pacemaker를 사용하여 핵심 컨테이너 서비스를 시작, 관리 및 해결합니다.
참고RHOSP는 MariaDB Galera 클러스터를 사용하여 데이터베이스 복제를 관리합니다.
- active-passive
-
활성-수동 서비스는 한 번에 하나의 컨트롤러 노드에서 실행되며
openstack-cinder-volume
과 같은 서비스를 포함합니다. active-passive 서비스를 이동하려면 Pacemaker를 사용하여 올바른 stop-start 시퀀스를 따라야 합니다. - systemd 및 일반 컨테이너
-
systemd 및 일반 컨테이너 서비스는 서비스 중단을 수행할 수 있는 독립 서비스입니다. 따라서 Galera와 같은 고가용성 서비스를 다시 시작하면
nova-api
와 같은 다른 서비스를 수동으로 다시 시작할 필요가 없습니다. systemd 또는 Docker를 사용하여 systemd 및 일반 컨테이너 서비스를 직접 관리할 수 있습니다.
director와 함께 HA 배포를 오케스트레이션할 때 director는 템플릿 및 Puppet 모듈을 사용하여 모든 서비스가 올바르게 구성 및 시작되도록 합니다. 또한 HA 문제를 해결할 때 docker
명령 또는 systemctl
명령을 사용하여 HA 프레임워크의 서비스와 상호 작용해야 합니다.
서비스 모드
HA 서비스는 다음 모드 중 하나로 실행할 수 있습니다.
- Active-active: Pacemaker는 여러 컨트롤러 노드에서 동일한 서비스를 실행하고 HAProxy를 사용하여 단일 IP 주소를 사용하여 노드 또는 특정 컨트롤러에 트래픽을 배포합니다. HAProxy는 경우에 따라 roundRbin 스케줄링을 사용하여 활성-활성 서비스에 트래픽을 분산합니다. 더 많은 컨트롤러 노드를 추가하여 성능을 향상시킬 수 있습니다.
- active-passive: active-active 모드에서 실행할 수 없는 서비스는 active-passive 모드로 실행되어야 합니다. 이 모드에서는 한 번에 하나의 서비스 인스턴스만 활성화됩니다. 예를 들어 HAProxy는 고정 테이블 옵션을 사용하여 들어오는 Galera 데이터베이스 연결 요청을 단일 백엔드 서비스로 전달합니다. 이렇게 하면 여러 Galera 노드에서 동일한 데이터에 너무 많은 동시 연결을 방지할 수 있습니다.