일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Windows 10 Home
- 라떼판다
- Rocky Linux
- LattePanda Ubuntu
- RHEL
- MySQL
- podman
- RHEL 8
- 자작 NAS
- Rocky Linux 8
- Packstack
- RDP Wrap
- Openstack Rocky
- Kubernetes
- 라떼판다 우분투
- ubuntu
- centos 7
- openstack
- LattePanda
- CentOS
- LattePanda NAS
- nextcloud
- MSA
- 라떼판다 NAS
- WireGuard
- haproxy
- CentOS 8
- RHEL 7
- PostgreSQL
- MariaDB
Archives
- Today
- Total
간마늘작업소
[MariaDB] 이중화 구성 (Galera Cluster 이용) 본문
0.개요
- 고객사에 납품된 솔루션 중에 MariaDB를 사용하는 물건이 있음.
- 이중화 구성을 하는데 Galera Cluster(갈레라 클러스터)를 이용함.
1.기본 정보
- OS 방화벽(Firewalld, iptables)과 SELinux는 비활성화 상태로 설정.
- DB Node 정보
- 192.168.0.17 - DB Node 1, Hostname : ha001
- 192.168.0.18 - DB Node 2, Hostname : ha002
- 192.168.0.19 - DB Node 3, Hostname : ha003
- MariaDB는 사전에 설치되어 있는 것으로 가정.
- 하단 명령어 중 적색 글씨는 Main Node 에만 적용.
- 하단 명령어 중 청색 글씨는 Sub Node에만 적용.
- Galera Cluster에는 별도의 VIP가 할당되지 않음.
- HAProxy 또는 L4 스위치를 이용하여 VIP를 할당함.
- Galera Cluster는 Active-Active 방식의 HA를 지원함에 따라 Standby Node가 없음. 따라서, Failover의 개념이 일반적인 Failover와는 다소 다름.
2.Galera Cluster 설정
cd /etc/mysql/mariadb.conf.d/
vi 60-galera.cnf
[galera]
binlog_format=ROW
bind-address=0.0.0.0
default-storage-engine=innodb
innodb_flush_log_at_trx_commit=2
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1
# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
# Galera Cluster Configuration
wsrep_cluster_name="nubodb"
wsrep_cluster_address="gcomm://@@DB Node 1@@,@@DB Node 2@@,@@DB Node 3@@"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
wsrep_sst_auth=root:@@DB Password@@
#wsrep_sst_receive_address=@@My IP@@:4444
# Galera Node Configuration
wsrep_node_address="@@My IP@@"
wsrep_node_name="dbnode1"
- Galera Cluster 설정 파일 편집.
- 구성 후 저장.
3.Galera Cluster 기동
sudo galera_new_cluster
- DB Node 1을 최초 Main Node로 지정.
- Galera Cluster는 Active-Active 방식의 HA를 지원함에 따라 Standby Node가 없음.
- Galera Cluster 실행.
sudo systemctl status mariadb
- MariaDB 서비스 실행 확인.
sudo systemctl start mariadb
- 나머지 DB Node 2와 DB Node 3의 MariaDB 서비스 실행.
sudo systemctl status mariadb
- MariaDB 서비스 실행 확인.
4.Galera Cluster 구성 확인
mysql -u root -p
- MariaDB 접속.
show status like 'wsrep%';
- Galera Cluster 구성 확인.
show variables like 'wsrep_cluster_address';
- Galera Cluster에 등록된 Node 확인.
show global status like 'wsrep%_comment';
- Galera Cluster 상태 확인.
5.Galera Cluster 재기동
- Galera Cluster에 등록된 Node가 모두 종료되었을 때, 재기동하는 방법으로, Galera Cluster에 등록된 Node 중 하나라도 서비스가 동작 중이라면 나머지 Node들은 MariaDB 서비스를 실행만 하면 자동으로 Galera Cluster가 재기동 됨.
sudo cat /var/lib/mysql/grastate.dat
- grastate.dat 파일 확인.
- safe_to_bootstrap 값이 0인지 0이 아닌지 확인.
- safe_to_bootstrap 값이 1인 경우가 가장 마지막에 죽은 Galera Cluster에 등록된 Node임.
- safe_to_bootstrap 값이 모두 0인 경우에는 임의의 1대의 /var/lib/mysql/grastate.dat 파일을 수정하여 safe_to_bootstrap 값을 1로 수정.
sudo galera_new_cluster
- safe_to_bootstrap 값이 1인 Node를 최초 Main Node로 지정.
- Galera Cluster 실행.
sudo systemctl status mariadb
- MariaDB 서비스 실행 확인.
sudo systemctl start mariadb
- 나머지 Node들의 MariaDB 서비스 실행.
sudo systemctl status mariadb
- MariaDB 서비스 실행 확인.
'Linux > 32.MySQL, MariaDB' 카테고리의 다른 글
[MariaDB] 이중화 구성 (DRBD / Pacemaker 이용) - 03.Pacemaker 이중화 설정 (0) | 2022.08.25 |
---|---|
[MariaDB] 이중화 구성 (DRBD / Pacemaker 이용) – 02.MariaDB 디렉토리 변경 (0) | 2022.08.25 |
[MariaDB] RHEL 8 계열에서 MariaDB 10.3 설치하기 (0) | 2022.07.27 |
HeidiSQL로 MariaDB 백업하기 (0) | 2022.07.26 |
[MariaDB] 이중화 구성 (DRBD / Pacemaker 이용) - 01.DRBD 구성 (0) | 2022.07.20 |
Comments