16.2 DRBD / Pacemaker / Corosync / Oracle Linux 사용
DRBD (Distributed Replication Block Device)는 MySQL HA (고 가용성)의 주요 솔루션 중 하나입니다. Pacemaker 및 Corosync를 함께 사용하면 사용자는 다음을 수행 할 수 있습니다.
성숙한 입증 된 오픈 소스 기술의 엔드 투 엔드 통합 스택이를 Oracle을 완벽하게 지원 (MySQL Enterprise Edition의 일부로).
자동 페일 오버 및 복구 의한 서비스 연속성.
동기 복제와 미러링 확정 된 트랜잭션을 잃을 위험없이 노드 간 장애 조치.
원자재 하드웨어에서 HA 클러스터를 구축, 공유 스토리지는 필요 없습니다.
다음 그림에서는 MySQL 서비스 수준의 고 가용성을 실현하기 위해 사용할 수있는 스택을 나타냅니다.
가장 낮은 수준 2에서는 물리적 이중화를 제공하기 위해 2 개의 호스트가 필요합니다. 가상 환경을 사용하는 경우 이러한 두 호스트는 다른 물리적 시스템에 두는 것이 좋습니다. 공유 스토리지가 필요없는 점이 중요한 특징입니다. 어느 시점에서 서비스는 하나의 호스트에서 활성화되고 다른 호스트는 대기 모드입니다.
Pacemaker 및 Corosync는 서비스 및 기본 호스트 / 운영 체제 사이에 위치하는 클러스터링 레이어를 제공하기 위해 결합됩니다. Pacemaker는 서비스 시작 및 중지를 담당하고 있으며, 그들이 정확히 하나의 호스트상에서 동작하는 것을 보장함으로써 고 가용성을 제공하여 데이터 손상을 방지합니다. Corosync는 노드 사이에 Pacemaker가 작업을 수행하기위한 기반이되는 메시징 인프라를 제공하고, 클러스터 노드 구성원을 처리하고 변경을 Pacemaker에 통지합니다.
그림 16.2 MySQL, DRBD, Pacemaker 및 Corosync 스택
Pacemaker 코어 프로세스에는 관리해야 할 특정 서비스의 지식은 포함되어 있지 않습니다. 대신 서비스 관련 작업에 래퍼를 제공하는 에이전트를 사용합니다. 예를 들어,이 솔루션은 가상 IP 주소, MySQL 및 DRBD 에이전트를 사용합니다. 이들은 모두 기존 에이전트이며 Pacemaker에 패키지됩니다.
이 구성 Pacemaker가 관리하는 필수 서비스는 DRBD, MySQL 및 활성 MySQL 서비스에 연결하기 위해 응용 프로그램이 사용하는 가상 IP 주소입니다.
DRBD는 블록 장치 (일반적으로, 스피닝 디스크 또는 반도체 디스크)의 데이터를 응용 프로그램, 또한 파일 시스템에 투명하게 동기화합니다. DRBD는 ext3
나 ext4
같은 저널링 파일 시스템을 사용하는 것을 요구합니다. 이 솔루션에 대한 활성 - 대기 모드에서 작동합니다. 어느 시점에서 DRBD가 관리하는 디렉토리는 두 호스트의 정확하게 하나에서 읽고 쓰기 위해 액세스 할 수 있으며 다른 하나는 (읽기라도) 액세스 할 수 없습니다. 활성 호스트에 변경 사항은 DRBD 의해 동 기적으로 대기 호스트에 복제됩니다.
전체 MySQL 및 DRBD 스택을 설치, 구성, 프로비저닝 및 테스트에 대한 자세한 설명은 다음의 가이드를 다운로드하십시오.
MySQL 데이터베이스.
DRBD 커널 모듈 및 사용자 랜드 유틸리티.
Pacemaker 및 Corosync 클러스터 메시징 및 관리 프로세스.
Oracle Linux 운영 체제.
http://www.mysql.com/why-mysql/white-papers/mysql-high-availability-drbd-configuration-deployment-guide/ 에서 가이드를 다운로드하십시오.
DRBD 지원
MySQL의 전체 DRBD 스택은 Oracle에 의해 인증되었습니다. 문제가 운영 체제, DRBD 클러스터링 소프트웨어 또는 MySQL에 관계 여부에 관계없이 전체 스택에 대해 1 개의 계약을 제공하는 상업적 지원은 MySQL Enterprise Edition 및 Oracle Linux Premier Support 모두 계약을 한 사용자가 사용할 수 있습니다.