웹사이트 검색

CentOS 7에 Percona XtraDB 클러스터를 설치하는 방법


이 페이지에서

  1. 1단계 - 호스트 파일 설정\n
  2. 2단계 - 방화벽 구성\n
  3. 3단계 - Epel 저장소 및 Socat 설치
  4. 4단계 - Percona XtraDB 클러스터 설치
  5. 5단계 - Percona XtraDB 클러스터 구성
  6. 6단계 - Percona XtraDB 클러스터 서버 시작
  7. 7단계 - 테스트
  8. 참조

이 튜토리얼에서는 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