그동안 master-slave 구조에서의 mha는 2node가 보통입니다. 이번 포스팅에선 총 4node를 구성할 예정이며 master와 slave 3대를 구축하여 LB를 통해 부하분산이 최종 목표입니다. 테스트 환경 Hostname Public IP Private IP DB version Role VIP jh-mgr 115.85.183.80 192.168.100.35 MHA manager jh-master 101.101.210.29 192.168.100.36 Mysql 8.0.28 Master 192.168.100.40 jh-slave1 49.50.161.52 192.168.100.37 Mysql 8.0.28 Slave jh-slave2 118.67.131.204 192.168.100.38 Mysql ..
MaxScale은 MariaDB 에서 지원하는 DB Proxy 입니다. HA proxy 와 동일하나 DB read/ write 쿼리를 지정한 DB 서버로 나눠주는 기능이 있는 등 DB에 더 특화되어있습니다. read / write 분산이 필요한 아키텍처에서 MaxScale 을 사용하면 효율적으로 분산 구조를 구성할 수 있습니다. 이번 포스팅에서는 Maxscale을 GUI로 구축하여 웹에서 통제 해보았습니다. 테스트 환경 Hostname IP server1 192.168.100.23 server2 192.168.100.20 maxscale 49.50.163.26(public IP) , 192.168.100.21 ■ 필수 패키지 설치 [root@jeong ~]# yum -y install libcurl li..
Galera Cluster를 구축한 뒤, proxysql을 이용하여 Master에서는 read+write Slave에서는 read 가 되도록 READ/WRITE Split을 할 수 있도록 구성하였습니다. 테스트 환경 Hostname IP Version galera001 192.168.100.40 MariaDB10.2.12 galera002 192.168.100.41 MariaDB10.2.12 galera003 192.168.100.42 MariaDB10.2.12 Haproxy 192.168.100.43 HA-Proxy version 2.5 ※ 사전 mariadb 설치 진행 ■ galera 설치 & 기동 (galera1,2,3) [root@jh-galera001 ~]# yum -y install rsync..
이전 part 1에 이어 이기종 플랫폼간 replication을 통해 최대한 무중단 이관이 가능하지 않을까해서 테스트 해보았습니다. part 1. URL : https://jhdatabase.tistory.com/96 [ Mysql - NCP & OCI 이기종 플랫폼 ] part 1. Replication Naver Cloud 플랫폼과 Oracle Cloud 플랫폼 간에 설치형 db로 이중화 구성을 해보았습니다. 테스트 환경 Hostname Platform Public IP DB Version ncp-master NCP(naver cloud) 101.101.218.225 8.0.28 oci-slave.. jhdatabase.tistory.com 혹시 다른 방법이 있거나 보통은 어떤 방법으로 진행되는지 댓..
Naver Cloud 플랫폼과 Oracle Cloud 플랫폼 간에 설치형 db로 이중화 구성을 해보았습니다. 테스트 환경 Hostname Platform Public IP DB Version ncp-master NCP(naver cloud) 101.101.218.225 8.0.28 oci-slave OCI(oracle cloud) 146.56.153.8 8.0.28 ■ Master DB서버 생성(NCP) ■ Slave DB 서버 생성(OCI) 각각의 Mysql DB 설치 진행 ■ DB Config ## master [root@ncp-master ~]# vi /etc/my.cnf [mysqld] datadir=/data socket=/tmp/mysql.sock expire_logs_days=7 server..
안녕하세요 이번에는 MariaDB에서 Mysql로 데이터 이관 테스트를 진행해보았습니다. Mysqldump 유틸리티를 이용했습니다. 호환성이 좋아서 이관에 크게 문제는 없었습니다~ 테스트 환경 DB version OS AS-IS 10.2.32-MariaDB-log Centos 7.3 TO-BE Mysql 8.0.28 Centos 7.3 ■ As-Is 이관 대상 확인 tuning이란 데이터베이스만 이관 예정 MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | kim | | mysql | | percona_schema | | performance_sc..
이전 part 1,2에 이어 관리용으로 Router를 설치하겠습니다. https://jhdatabase.tistory.com/76 [ Mysql - InnoDB cluster] part 1 Mysql 설치 & shell설치 Mariadb에서는 Galera cluster가 있다면 Mysql에서는 InnoDB cluster가 있습니다. ▶ InnoDB Cluster 요구사항 - 3개 이상의 MySQL 서버로 구성하여 고가용성 및 확장 기능을 제공하는 솔루션 - Group replicatio.. jhdatabase.tistory.com https://jhdatabase.tistory.com/77 [ Mysql - InnoDB cluster] part 2 cluster생성/인스턴스 추가 part 1에 이어 Cl..
Slave DB 복구 테스트를 진행하겠습니다. 이 부분은 구성하는데 필수 부분이 아니기 때문에 넘어가셔도 좋습니다~ ▶ Test data insert (master서버) ## 넣으려는 sakila 샘플 데이터가 MyISAM 스토리지 엔진을 사용. 안에 내용을 innodb로 수정 [root@jh-my001 ~]# sed -i 's/MyISAM/InnoDB/g' sakila-mv-schema.sql [root@jh-my001 ~]# mysql -uroot -p < sakila-mv-schema.sql Enter password: [root@jh-my001 ~]# sed -i 's/MyISAM/InnoDB/g' sakila-mv-data.sql [root@jh-my001 ~]# mysql -uroot -p <..
part 1에 이어 Cluster를 생성하고 인스턴스를 추가하겠습니다. ▶ Cluster 생성 (Master) 현재 cluster를 생성한 1번 인스턴스는 seed 인스턴스로 데이터베어스의 초기 상태를 보유한 인스턴스이며, 클러스터에 멤버가 추가되면 다른 인스턴스에 데이터를 복제해주는 역할을 합니다. [root@jh-my001 ~]# mysqlsh icadmin@192.168.100.40:3306 Please provide the password for 'icadmin@192.168.100.40:3306': * Save password for 'icadmin@192.168.100.40:3306'? [Y]es/[N]o/Ne[v]er (default No): Y MySQL Shell 8.0.28 Copyri..
Mariadb에서는 Galera cluster가 있다면 Mysql에서는 InnoDB cluster가 있습니다. ▶ InnoDB Cluster 요구사항 - 3개 이상의 MySQL 서버로 구성하여 고가용성 및 확장 기능을 제공하는 솔루션 - Group replication ( 그냥 replication하고 다름 )을 기반으로 자동 멤버 관리, 내결함성, 자동 Failover등과 같은 기능을 제공 - 기본적으로 Sinlge-Primary 모드로 실행되며, Multi-primary 모드로 변경 할 수 있다. - Multi-primary 기능 권장 X -> Shared Stroage가 아니기 떄문에 - Group replicatoin 동기식 / replicaiton 비동기식 - EE 부터 지원한다 - Inno D..