CentOS 7에 Percona XtraDB 클러스터를 설치하는 방법
이 페이지에서
- 1단계 - 호스트 파일 설정\n
- 2단계 - 방화벽 구성\n
- 3단계 - Epel 저장소 및 Socat 설치
- 4단계 - Percona XtraDB 클러스터 설치
- 5단계 - Percona XtraDB 클러스터 구성
- 6단계 - Percona XtraDB 클러스터 서버 시작
- 7단계 - 테스트
- 참조
이 튜토리얼에서는 CentOS 7 서버에서 Percona XtraDB 클러스터를 설치하고 구성하는 방법을 보여줍니다. MySQL 및 Percona Server와 완벽하게 호환되는 Percona XtraDB Cluster 5.6을 사용합니다.
Percona는 2006년에 설립된 MySQL 및 MongoDB 데이터베이스 전문가 회사입니다. Percona는 MySQL 및 MongoDB용 오픈 소스 소프트웨어를 구축 및 유지 관리합니다. Percona Server(고가용성 성능이 향상된 MySQL용 데이터베이스 서버), Percona XtraDB Cluster(MySQL용 고가용성 솔루션) 클러스터), Percona Server for MongoDB 및 Percona 툴킷, Percona 모니터링 도구 및 Percona XtraBackup과 같은 데이터베이스 관리를 위한 기타 도구.
전제 조건
- CentOS 7 서버 노드 3개.
- 루트 권한.\n
- 기본 CentOS 7 지식.
1단계 - 호스트 파일 설정
가장 먼저 할 일은 모든 서버의 호스트 이름을 구성하는 것입니다. 아래 나열된 CentOS 7이 설치된 Ive 3 서버:
Node Server IP Hostname
Node1 - 192.168.43.36 percona1
Node2 - 192.168.43.166 percona2
Node3 - 192.168.43.148 percona3
터미널을 사용하여 모든 서버에 연결하십시오.
ssh
모든 서버에 로그인한 경우 vim을 사용하여 각 서버에서 /etc/hosts 파일을 편집합니다.
vim /etc/hosts
아래에 호스트 구성을 붙여넣습니다.
192.168.43.36 percona1
192.168.43.166 percona2
192.168.43.148 percona3
IP 주소를 로컬 네트워크 구성과 일치하는 주소로 바꿉니다. 저장 및 종료.
2단계 - 방화벽 구성
Firewalld는 CentOS 7의 새로운 기본 방화벽 인터페이스입니다. firewall-cmd 명령어는 방화벽을 구성하는 데 사용됩니다. 특정 그룹 또는 영역을 정의 및 구성하거나 ssh, MySQL 데이터베이스, nginx/apache 웹 서버 등과 같은 서비스에 대한 방화벽을 구성할 수 있습니다.
이 단계에서는 방화벽 구성에 firewalld를 사용합니다. 방화벽 cmd 명령을 사용하여 Percona 서버 포트 및 클러스터에 필요한 기타 포트를 엽니다.
이 systemctl 명령으로 firewalld를 시작합니다.
systemctl start firewalld
그런 다음 아래 명령을 실행하여 MySQL/percona 서버에서 사용하는 포트를 엽니다.
firewall-cmd --zone=public --add-service=mysql --permanent
다음으로 아래 명령을 사용하여 클러스터의 다른 포트를 추가합니다.
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=4567/tcp --permanent
firewall-cmd --zone=public --add-port=4568/tcp --permanent
firewall-cmd --zone=public --add-port=4444/tcp --permanent
firewall-cmd --zone=public --add-port=4567/udp --permanent
방화벽 규칙을 다시 로드합니다.
firewall-cmd --reload
모든 방화벽 규칙 목록을 보려면 --list-all 옵션을 사용하십시오.
firewall-cm --list-all
3단계 - Epel 저장소 및 Socat 설치
Percona XtraDB 클러스터를 서버에서 실행하려면 socat을 설치해야 하며 epel-repository에서 사용할 수 있습니다. 따라서 먼저 Epel 저장소를 설치한 다음 socat을 설치해야 합니다. 또한 Percona XtraDB 클러스터와 충돌하기 때문에 서버에서 mariadb-libs를 제거해야 합니다.
epel-repository 및 socat 설치:
yum -y install epel-release
yum -y install socat
mariadb-libs와 Percona XtraDB 클러스터 간의 패키지 충돌을 방지하려면 mariadb-libs를 제거하십시오.
yum -y remove mariadb-libs
Epel 저장소와 socat이 설치됩니다.
4단계 - Percona XtraDB 클러스터 설치
이 단계에서는 모든 패키지 종속성과 함께 Percona xtradb 클러스터를 설치합니다. 설치를 위해 Percona 리포지토리를 추가한 다음 Percona 서버를 시작하고 데이터베이스 서버의 루트 사용자 및 암호를 구성해야 합니다.
yum으로 Percona 리포지토리를 설치합니다.
yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
이제 이 자습서에 필요한 Percona XtraDB 클러스터 및 기타 패키지를 설치합니다.
yum install Percona-XtraDB-Cluster-server-56 Percona-XtraDB-Cluster-client-56 Percona-XtraDB-Cluster-shared-56 percona-toolkit percona-xtrabackup Percona-XtraDB-Cluster-galera-3 rsync nc
Percona XtraDB 클러스터가 설치되면 zhis systemctl 명령을 사용하여 Percona 서버를 시작합니다.
systemctl start mysql
다음으로 모든 percona/mysql 서버의 루트 비밀번호를 구성합니다.
mysql_secure_installation
percona/mysql 암호를 설정합니다.
Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
New password: TYPE YOUR PASSWORD
Re-enter new password: REPEAT PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Reload privilege tables now? [Y/n] Y
메모:
모든 3 CentOS 서버에서 1 - 4단계를 실행합니다.
5단계 - Percona XtraDB 클러스터 구성
4단계에서 우리는 이미 Percona XtraDB 클러스터를 설치했고 모든 Percona/Mysql 서버 노드에 대한 루트 암호를 구성했습니다. 이 단계에서는 SST 인증을 위한 새 사용자를 생성하고 각 서버에서 MySQL 구성 my.cnf를 편집합니다.
SST(State Snapshot Transfer)는 기증자인 한 서버에서 참여자인 다른 서버로의 전체 데이터 복사본입니다. SST 인증을 위해 [email 비밀번호로 sstuser라는 새 사용자를 생성해야 합니다. 그리고 SST 방법의 경우 rsync 대신 xtrabackup-v2를 사용합니다. 클러스터에 대해 다른 안전한 비밀번호를 사용하십시오!
각 서버에서 percona/mysql 셸에 로그인합니다.
mysql -u root -p
TYPE YOUR PASSWORD
비밀번호 [email 로 새 sstuser를 만듭니다.
create user '%';
flush privileges;
그런 다음 구성 파일을 편집하기 전에 각 서버에서 MySQL 서비스를 중지합니다.
systemctl stop mysql
다음으로 vim 편집기를 사용하여 각 서버에서 mysql 구성 파일 my.cnf를 편집합니다.
Percona1 서버에서:
vim /etc/my.cnf
아래 구성으로 모든 wsrep 라인을 변경하십시오.
wsrep_cluster_address = gcomm://
wsrep_provider = /usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads = 8
wsrep_cluster_name = Cluster Percona XtraDB
wsrep_node_name = percona1
wsrep_node_address = percona1
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = sstuser:
저장 및 종료.
Percona2 서버에서:
vim /etc/my.cnf
아래 구성으로 모든 wsrep 라인을 변경하십시오.
wsrep_cluster_address = gcomm://percona1,percona3
wsrep_provider = /usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads = 8
wsrep_cluster_name = Cluster Percona XtraDB
wsrep_node_name = percona2
wsrep_node_address = percona2
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = sstuser:
저장 및 종료.
Percona3 서버에서:
vim /etc/my.cnf
아래 구성으로 모든 wsrep 라인을 변경하십시오.
wsrep_cluster_address = gcomm://percona1,percona2
wsrep_provider = /usr/lib64/galera3/libgalera_smm.so
wsrep_slave_threads = 8
wsrep_cluster_name = Cluster Percona XtraDB
wsrep_node_name = percona3
wsrep_node_address = percona3
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = sstuser:
저장 및 종료.
percona2 서버의 스크린샷.
6단계 - Percona XtraDB 클러스터 서버 시작
모든 서버에서 Percona XtraDB 클러스터를 구성했으며 이제 서버를 시작할 수 있습니다.
Percona1 서버에서 부트스트래핑 또는 클러스터 시작 및 실행:
systemctl start
다음으로, 아래 명령을 사용하여 percona2 및 percona3 서버에서 Percona/MySQL 서버를 시작합니다.
systemctl start mysql
오류 메시지가 없는지 확인하십시오. MySQL을 시작하기 위해 입력한 후 오류가 발생하면 /var/log/messages 로그 파일을 확인하세요.
7단계 - 테스트
Percona XtraDB 클러스터를 테스트하려면 각 서버에서 percona/mysql 셸에 로그인해야 합니다.
모든 서버/노드에서 Percona/MySQL 셸에 로그인합니다.
mysql -u root -p
TYPE YOUR PASSWORD
mysql 명령으로 고가용성 테스트:
SHOW STATUS LIKE 'wsrep_local_state_comment';
모든 노드에서 이 명령어를 시도하세요. 결과로 "Synced"가 표시되면 해당 노드가 트래픽을 처리할 준비가 된 것입니다.
클러스터의 사용 가능한 노드 테스트:
show global status like 'wsrep_cluster_size';
Percona 클러스터의 현재 노드 수를 가져옵니다.
전체 결과를 보려면 아래 명령을 사용할 수 있습니다.
show global status like 'wsrep%';
참조
- http://galeracluster.com/documentation-webpages/firewalld.html