설치환경 : CentOS Linux release 7.8.2003 (Core)
DB 버전 : mariadb Ver 15.1 Distrib 10.5.9
▷ 갈레라 클러스터링에서 마스터와 슬레이브 노드의 구분은 최초 구동 시 명령어의 차이만 존재함
▶ 장/단점
장점 | - 모든 노드 읽기/쓰기가 가능하므로 Active - Active 방식의 멀티 마스터 구성 가능 - 노드 간에 트랜젝션을 지원하므로 데이터의 일관성이 보장 - 노드 추가 및 제거가 간단 |
단점 | - InnoDB 테이블만 지원 - 데이터베이스 단위가 아닌 서버 단위로 구성 - 한 노드에서 테이블 락이 걸리면 모든 노드에서 락이 걸림 - 한 노드에서 insert 시에 모든 노드에 데이터 insert 요청을 하게 되므로 쓰기 성능 저하 - 양 노드에 동시에 insert 가 일어날 것에 대비해 Auto Increment 가 노드의 개 수의 폭으로 증가 |
각 Node 서버마다 동일하게 진행 (6번 작업 제외)
1. repo 설정
URL에서 원하는 버전 참고 (https://mariadb.com/kb/en/mariadb-server/)
# vi /etc/yum.repos.d/MariaDB.repo |
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 |
2. yum 설치
# yum -y install MariaDB-server galera rsync |
3. DB 기본 설정
root 계정의 패스워드 설정 및 원격접속 권한 열어주기
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '패스워드'; > flush privileges; |
4. server.cnf 파일 수정
# vi /etc/my.cnf.d/server.cnf |
[mysqld] # galear cluster 사용여부 wsrep_on = ON # log 사용여부 general_log=ON # log 위치 설정 log-error=/var/lib/mysql/error.log # IP 접근설정 bind-address=0.0.0.0 # libgalera_smm.so 모듈 위치 wsrep_provider = /usr/lib64/galera-4/libgalera_smm.so # 동기화 진행할 IP 리스트 wsrep_cluster_address = gcomm://[1번 Node IP],[2번 Node IP],[3번 Node IP] # 동기화할 노드들의 그룹명 (노드마다 동일하게 설정) wsrep_cluster_name = Cluster # 바이너리 로그파일 형식 binlog_format = ROW # 잠금모드 설정 (0/1/2 중 택) innodb_autoinc_lock_mode = 2 |
5. 방화벽 등록
# vi /etc/sysconfig/iptables |
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4444 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4567 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 4567 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4568 -j ACCEPT |
# systemctl restart iptables # iptables -nL ![]() |
6. Master Node 서버에서 데몬시작
(순서 바뀌지 말 것 / 마스터 -> 슬레이브순으로 데몬 시작)
1번 Node (Master) |
# galera_new_cluster |
# netstat -nltp |
![]() 3306포트와 4567포트가 모두 올라와있어야함. |
2, 3번 Node (Slave) |
# systemctl start mariadb |
# netstat -nltp |
![]() 3306포트와 4567포트가 모두 올라와있어야함. |
7. 연동 확인
galera cluster 에 연동된 IP 주소나 도메인 출력 > show variables like 'wsrep_cluster_address'; cluster의 노드 갯수 확인 > show status like 'wsrep_cluster_size'; |
참조 URL :
Open Source Database (RDBMS) for the Enterprise | MariaDB
MariaDB is the leading enterprise open source database with features previously only available in costly proprietary databases. Enterprise grade, wallet friendly.
mariadb.com
https://myinfrabox.tistory.com/122
[MySQL] innodb_autoinc_lock_mode 환경
■ InnoDB AUTO_INCREMENT Lock 모드 innodb_autoinc_lock_mode 구성 매개 변수에 대한 세 가지 가능한 설정이 있습니다. 설정은 "전통", "연속"또는 "인터리브 된"잠금 모드에 대해 각각 0, 1 또는 2입니다. + in..
myinfrabox.tistory.com
'서버 & 시스템 > Linux' 카테고리의 다른 글
apache 벤치마킹 스트레스툴 ab (3) | 2021.12.28 |
---|---|
MySQL 8.0 ibd 파일을 이용한 복구 (0) | 2021.10.22 |
Centos6에서 glibc 2.4 설치하기 (1) | 2021.04.14 |
CentOS DVD, Everything, Minimal ISO 차이 (0) | 2020.11.12 |
아파치 엑세스로그에서 접근 IP 확인하기 (0) | 2020.11.12 |