6장. Galera 사용


고가용성 배포에서 Red Hat OpenStack Platform은 MariaDB Galera Cluster 를 사용하여 데이터베이스 복제를 관리합니다. 4.3절. “Pacemaker에서 OpenStack Services 구성” 에서 언급했듯이 Pacemaker는 Master/Slave Set 리소스를 사용하여 Galera 서비스를 실행합니다. pcs status 를 사용하여 galera-master 가 실행 중인지와 어떤 컨트롤러에서 실행 중인지 확인할 수 있습니다.

Master/Slave Set: galera-master [galera]
     Masters: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]
호스트 이름 확인
MariaDB Galera Cluster의 문제를 해결할 때 호스트 이름 확인을 확인하여 시작합니다. 기본적으로 director는 Galera 리소스를 IP 주소가 아닌 호스트 이름에 바인딩합니다. [1]. 따라서 호스트 이름 확인을 방지하는 모든 문제(예: DNS 잘못 구성 또는 실패한 DNS)는 Pacemaker에서 Galera 리소스를 올바르게 관리하지 못할 수 있습니다.

호스트 이름 확인 문제를 제외하면 클러스터 자체의 무결성을 확인합니다. 이렇게 하려면 각 컨트롤러 노드의 데이터베이스에서 쓰기 세트 복제 의 상태를 확인합니다.

쓰기 세트 복제 정보는 각 노드의 MariaDB 데이터베이스에 저장됩니다. 각 관련 변수는 wsrep_ 접두사를 사용합니다. 따라서 데이터베이스 클라이언트를 통해 이 정보를 직접 쿼리할 수 있습니다.

$ sudo mysql -B -e "SHOW GLOBAL STATUS LIKE 'wsrep_%';"
    +------------------------+-------+
    | Variable_name          | Value |
    +------------------------+-------+
    | wsrep_protocol_version | 5     |
    | wsrep_last_committed   | 202   |
    | ...                    | ...   |
    | wsrep_thread_count     | 2     |
    +------------------------+-------+

MariaDB Galera Cluster의 상태 및 무결성을 확인하려면 먼저 클러스터가 올바른 노드 수를 보고하는지 확인합니다. 그런 다음 각 노드가 있는지 확인합니다.

  • 올바른 클러스터의 일부입니다.
  • 클러스터에 쓸 수 있음
  • 클러스터에서 쿼리 및 쓰기를 수신할 수 있음
  • 클러스터 내의 다른 사용자와 연결됨
  • 로컬 데이터베이스의 테이블에 쓰기 세트 복제

다음 섹션에서는 각 상태를 조사하는 방법에 대해 설명합니다.

6.1. 데이터베이스 클러스터 무결성 조사

MariaDB Galera Cluster의 문제를 조사할 때 클러스터 자체의 무결성부터 시작하십시오. 클러스터 무결성을 확인하려면 각 컨트롤러 노드에서 특정 wsrep_ 데이터베이스 변수를 확인해야 합니다. 데이터베이스 변수를 확인하려면 다음을 실행합니다.

$ sudo mysql -B -e "SHOW GLOBAL STATUS LIKE 'VARIABLE';"

VARIABLE 을 확인하려는 wsrep_ 데이터베이스 변수로 바꿉니다. 예를 들어 노드의 클러스터 상태 UUID 를 보려면 다음을 수행합니다.

$ sudo mysql -B -e "SHOW GLOBAL STATUS LIKE 'wsrep_cluster_state_uuid';"
    +--------------------------+--------------------------------------+
    | Variable_name            | Value                                |
    +--------------------------+--------------------------------------+
    | wsrep_cluster_state_uuid | e2c9a15e-5485-11e0-0800-6bbb637e7211 |
    +--------------------------+--------------------------------------+

다음 표에는 클러스터 무결성과 관련된 다양한 wsrep_ 데이터베이스 변수가 나열되어 있습니다.

표 6.1. 클러스터 무결성을 확인하는 데이터베이스 변수
VARIABLE요약설명

wsrep_cluster_state_uuid

클러스터 상태 UUID

노드가 속한 클러스터의 ID입니다. 모든 노드에는 동일한 ID가 있어야 합니다. 다른 ID가 있는 노드가 클러스터에 연결되어 있지 않습니다.

wsrep_cluster_size

클러스터의 노드 수

모든 단일 노드에서 이를 확인할 수 있습니다. 값이 실제 노드 수보다 작으면 일부 노드가 실패하거나 연결이 끊어졌습니다.

wsrep_cluster_conf_id

총 클러스터 변경 수

클러스터가 파티션 이라고도 하는 여러 구성 요소로 분할되었는지 여부를 결정합니다. 이는 네트워크 실패로 인해 발생할 수 있습니다. 모든 노드에는 동일한 값이 있어야 합니다.

일부 노드에서 다른 wsrep_cluster_conf_id 를 보고하는 경우 wsrep_cluster_status 값을 확인하여 클러스터에 계속 쓸 수 있는지 확인합니다(기본).

wsrep_cluster_status

기본 구성 요소 상태

노드가 클러스터에 계속 쓸 수 있는지 여부를 결정합니다. 이 경우 wsrep_cluster_statusPrimary 여야 합니다. 다른 모든 값은 노드가 작동하지 않는 파티션의 일부임을 나타냅니다.



[1] 이 방법은 IPv6를 사용하는 오버클라우드에서 Galera를 성공적으로 시작할 수 있도록 구현되었습니다 (특히 BZ#1298671).
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.