Pecona Xtradb Cluster

망나니엔지니어·2024년 3월 29일
0

Openstack 설치

목록 보기
6/10

1. Middleware 설치

Percona

Percona Xtradb Cluster란?

MySQL 호환 오픈 소스 데이터베이스 클러스터링 솔루션입니다. 이는 여러 노드에 걸쳐 데이터베이스를 자동으로 복제하고 동기화하여 높은 가용성과 확장성을 제공한다. Percona XtraDB Cluster는 Percona Server for MySQL과 Galera Cluster 기술을 결합하여 만들어졌다.

Openstack의 정보는 Database에 저장되며, Mysql과 호환되며 다중 Node Cluster가 가능한 오픈소스 솔루션인 Pecona Xtradb Cluster를 채택하였다.

Percona Xtradb Cluster 설치

[모든 node에서 진행]
curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb
apt install ./percona-release_latest.generic_all.deb

percona-release setup pxc-80
> mysql 8.0버전과 호환되는 percona pxc-80 버전 셋업, mysql 5.7버전과 호환되는 버전 사용시
  pxc-57 로 setup하면 된다.
apt install percona-xtradb-cluster python3-pymysql

Percona Cluster Config 설정

[모든 node에서 진행]
vi /etc/mysql/mysql.cnf

...
[mysqld]
pid_file = /var/run/mysqld/mysqld.pid
bind-address=0.0.0.0
skip-host-cache
skip-name-resolve
wsrep_provider=/usr/lib/libgalera_smm.so
wsrep_cluster_name=pxc-cluster
wsrep_cluster_address=gcomm://192.168.0.11,192.168.0.12,192.168.0.13
wsrep_node_name=con01
* 해당 옵션값은 각 노드에 맞춰 작성
wsrep_node_address=192.168.0.11
* 해당 옵션값은 각 노드에 맞춰 작성
wsrep_sst_method=xtrabackup-v2
pxc_strict_mode=ENFORCING
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
max_connections=10000
* 해당 옵션값은 환경에 맞춰 작성
pxc-encrypt-cluster-traffic=OFF

Percona Cluster Bootstrap 진행

[Con01에서 진행]
systemctl start mysql@bootstrap.service

Percona Cluster 노드 동기화

[Con02, Con03에서 진행]
systemctl start mysql
* Con01의 mysql@bootstrap.service가 정상적으로 시작시 각각 순차적으로 진행한다.

Database Query 로드밸런싱 설정

[모든 노드에서 진행]
vi /etc/haproxy/haproxy.cfg

...
listen Percona_Xtradb_Cluster
  bind 192.168.0.10:13306
  balance source
  mode tcp
  option tcpka
  option tcplog
  moxconn 10000
  server con01 192.168.0.11:3306 check inter 2000 rise 2 fall 5
  server con02 192.168.0.12:3306 check inter 2000 rise 2 fall 5
  server con03 192.168.0.13:3306 check inter 2000 rise 2 fall 5
  
systemctl restart haproxy
> haproxy 설정 적용 진행
  
profile
인프라 엔지니어부터

0개의 댓글