6장. Galera를 사용하여 데이터베이스 복제 관리
Red Hat OpenStack Platform은 MariaDB Galera Cluster를 사용하여 데이터베이스 복제를 관리합니다. Pacemaker는 Galera 서비스를 데이터베이스 마스터/슬레이브 상태를 관리하는 번들 세트 리소스로 실행합니다. Galera를 사용하여 호스트 이름 확인, 클러스터 무결성, 노드 무결성 및 데이터베이스 복제 성능과 같은 데이터베이스 클러스터의 다양한 측면을 테스트하고 확인할 수 있습니다.
데이터베이스 클러스터 무결성을 조사할 때 각 노드가 다음 기준을 충족해야 합니다.
- 노드는 올바른 클러스터의 일부입니다.
- 노드는 클러스터에 쓸 수 있습니다.
- 노드는 클러스터에서 쿼리를 수신하고 명령을 작성할 수 있습니다.
- 노드가 클러스터의 다른 노드에 연결되어 있습니다.
- 노드는 write-sets를 로컬 데이터베이스의 테이블에 복제합니다.
6.1. MariaDB 클러스터에서 호스트 이름 확인 확인 링크 복사링크가 클립보드에 복사되었습니다!
MariaDB Galera 클러스터를 해결하려면 먼저 호스트 이름 확인 문제를 제거한 다음 각 컨트롤러 노드의 데이터베이스에서 쓰기 세트 복제 상태를 확인합니다. MySQL 데이터베이스에 액세스하려면 Overcloud 배포 중에 director가 설정한 암호를 사용합니다.
기본적으로 director는 IP 주소가 아닌 Galera 리소스를 호스트 이름에 바인딩합니다. 따라서 DNS가 잘못 구성되거나 실패한 것과 같은 호스트 이름 확인을 방지하는 문제가 발생하면 Pacemaker에서 Galera 리소스를 잘못 관리할 수 있습니다.
절차
컨트롤러 노드에서 the
hiera
명령을 실행하여 MariaDB 데이터베이스 루트 암호를 가져옵니다.sudo hiera -c /etc/puppet/hiera.yaml "mysql::server::root_password"
$ sudo hiera -c /etc/puppet/hiera.yaml "mysql::server::root_password" *[MYSQL-HIERA-PASSWORD]*
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드에서 실행되는 MariaDB 컨테이너의 이름을 가져옵니다.
sudo podman ps | grep -i galera
$ sudo podman ps | grep -i galera a403d96c5026 undercloud.ctlplane.localdomain:8787/rhosp-rhel8/openstack-mariadb:16.0-106 /bin/bash /usr/lo... 3 hours ago Up 3 hours ago galera-bundle-podman-0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 노드의 MariaDB 데이터베이스에서 쓰기 세트 복제 정보를 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 관련 변수는 접두사
wsrep
을 사용합니다.- 클러스터가 올바른 노드 수를 보고하는지 확인하여 MariaDB Galera 클러스터의 상태 및 무결성을 확인합니다.