# MariaDB 이중화(Galera Cluster) 구성

**URL:** <https://forum.logpresso.com/t/mariadb-galera-cluster/165>\
**Category:** DB\
**Created:** [4월 24, 2026, 7:11오전 UTC](https://forum.logpresso.com/t/mariadb-galera-cluster/165 "2026-04-24T07:11:05Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeonghwan.an](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.logpresso.com/jeonghwan.an/32/125_2.png) [@jeonghwan.an](https://forum.logpresso.com/u/jeonghwan.an)\
**Post date:** [4월 24, 2026, 7:11오전 UTC](https://forum.logpresso.com/t/mariadb-galera-cluster/165/1 "2026-04-24T07:11:06Z")

</div>

## 개요

- 노드 이중화를 통하여 장애 시 가용성과 무중단성을 확보하기 위함입니다.
- 기존 Active 노드가 구성되어 있을 때 Standby노드 추가를 가정으로 합니다.
- Standby 노드의 MariaDB 설치 및 OS 구성은 기존 Active 노드와 동일합니다.
- HA 구성을 통한 VIP 설정은 연관 문서 가이드를 참고합니다.
  - [HA 구성 가이드](https://forum.logpresso.com/t/ha/166)

### 💡 사전 유의 사항

> - mariadb-backup rpm이 사전에 설치되어야 합니다.

### 정책 추가

- Active 노드 진행

- Standby 노드 진행

### 커널 파일 수정

- vi /etc/sysctl.conf에 아래 5줄 추가 ( 커널 유실 방지 )

### MariaDB 설정파일 수정

- Active / Standby 노드 각각 수정

- 경로 : /etc/my.cnf.d/server.cnf

- 
### Active 노드 추가

```auto
[galera]

wsrep_on=ON // 갈레라 실행 여부

wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so // 갈레라 플러그인 위치

wsrep_cluster_name=galera // 갈레라 클러스터 이름 ( Active / standby 노드의 이름을 동일하게 설정 )

wsrep_node_address=1.1.1.1 // 현재 자신의 IP

wsrep_node_name=server1 // 현재 실행하는 노드의 이름 ( Active / standby 노드의 이름을 다르게 설정 )

wsrep_sst_auth=mysql: // ( rsync를 사용할 때 인증할 유저의 계정과 패스워드 )

wsrep_cluster_address="gcomm://2.2.2.2, 1.1.1.1" // 클러스터 리스트 ( 설정하는 노드의 IP가 가장 뒤에 있어야 함 )

binlog_format=row // ( 로그 형식 지정 )

default_storage_engine=innoDB // Galera에서 사용하는 엔진 ( innoDB만 사용 가능 )

innodb_autoinc_lock_mode=2 // 락 매커니즘 지정

wsrep_sst_method=mariabackup // 노드 간 전송방법

```

- 
### Standby 노드 추가

```auto
[galera]

wsrep_on=ON // 갈레라 실행 여부

wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so // 갈레라 플러그인 위치

wsrep_cluster_name=galera // 갈레라 클러스터 이름 ( Active / standby 노드의 이름을 동일하게 설정 )

wsrep_node_address=2.2.2.2 // 현재 자신의 IP

wsrep_node_name=server2 // 현재 실행하는 노드의 이름 ( Active / standby 노드의 이름을 다르게 설정 )

wsrep_sst_auth=mysql: // ( rsync를 사용할 때 인증할 유저의 계정과 패스워드 )

wsrep_cluster_address="gcomm://1.1.1.1, 2.2.2.2" // 클러스터 리스트 ( 설정하는 노드의 IP가 가장 뒤에 있어야 함 )

binlog_format=row // ( 로그 형식 지정 )

default_storage_engine=innoDB // Galera에서 사용하는 엔진 ( innoDB만 사용 가능 )

innodb_autoinc_lock_mode=2 // 락 매커니즘 지정

wsrep_sst_method=mariabackup // 노드 간 전송방법

```

### 서비스 기동

- Active 노드 기동 시

- Standby 노드 기동 시

- 기동 및 동기화 확인

### 주의 사항

- 반드시 Active 노드 먼저 구동
- 기동 시 (트러블슈팅 시) 확인 사항 : vi /var/lib/mysql/grastate.dat
  - Safe\_to\_bootstrap: 0 // 구동 중인 서버가 0, 가장 마지막에 서비스가 종료된 노드가 1을 남기고 종료 됨, 해당 옵션 값 확인

### Sonar 설치

- Sonar UI에서 클러스터 노드 추가

- Active 노드의 인증서를 Standby 노드에 적용

- Standby 노드 서비스 기동 후 ENT 및 쉘 접속하여 아래 항목 설정

- 쉘 설정

- 라이선스 재 발급 및 적용

- 설정 완료 후 재기동
