
1. 사전 작업 (포트개방, SELinux 허용)
- Galera Cluster 구성도
- 포트 설명
- 4444(SST, State Snapshot Transfer) : 새 노드가 클러스터에 참여하면 SST를 실행해 다른 노드와 동기화함.
- 4568(IST, Incremental State Transfer) : 기준 노드와 비교할 때, 누락된 트랜잭션이 존재하면 동기화함.
- 4567(Galera Cluster) : 각 노드의 연동 상태를 체크하고, 멀티 캐스트 복제 시 이 포트에서 UDP 전송과 TCP를 모두 사용
- 3306(MariaDB) : MariaDB 클라이언트 연결 및 상태 스냅 샷 전송
- 포트 개방
firewall-cmd --permanent --add-port={4567, 4568, 4444}/tcp firewall-cmd --permanent --add-port=4567/udp firewall-cmd --reload
- SELinux 허용
Current mode : permissive 상태여야 함.모든 작업이 끝나면 SELinux 정책을 1로 변경해야 함.setenforce 0 sestatus
2. Galera Cluster 설정
vi /etc/my.cnf.d/server.cnf
-----------------------------------------------------------------------------------------------
[galera]
wsrep_on=ON
# find / -name "libgalera_ssm.so" 명령으로 경로 찾아보면 정확
# 10.4 이상의 버전 설치시 디폴트 경로
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so
# 다중화 구성에 사용될 서버 IP
wsrep_cluster_address=gcomm://192.168.0.10,192.168.0.11
# cluster에 참여하는 노드 모두 해당 설정 이름이 동일해야 함.
wsrep_cluster_name=cluster
# 현재 노드의 이름(각 노드는 서로 이름이 중복되면 안됨.)
wsrep_node_name=cluster01
# 현재 노드의 IP
wsrep_node_address=192.168.0.10
#Galera Log
log-error=/var/mysql/log
general_log=1
general_log_file=/var/mysql/log/general.log
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
# 데드락 허용 여부(디폴트 : false)
wsrep_provider_options="pc.ignore_sb=TRUE"
위의 설정을 다른 노드에도 적용하면 된다. (wsrep_node_name, wsrep_node_address는 해당 노드 값으로 설정)
3. Galera Cluster 기동
- 첫 노드(기준 노드) DB 기동
galera_new_cluster
- 다른 노드 DB 기동
service mysql start
'인프라 > DB' 카테고리의 다른 글
[MSSQL] 트랜잭션 로그 조회 (0) | 2023.01.30 |
---|---|
[MSSQL] 특정 내용이 포함된 프로시저 조회 (0) | 2023.01.30 |
[MariaDB] linux mariadb offline install (rpm) (0) | 2021.10.31 |
[MariaDB] linux mariadb offline install (tar.gz) (2) | 2021.10.27 |
[MariaDB] MHA 이중화 Failover 테스트 (0) | 2021.09.13 |