Date: 11월 29, 2018
태그: MySQL, 공유 저장 장치없이 2 노드 mysql 클러스터 생성
단계별 : 공유 스토리지가없는 2 노드 MySQL 클러스터 생성 방법, 1 부
MySQL 클러스터를 실행하는 주된 이점은 분명히 고 가용성 (HA)입니다. 이러한 유형의 솔루션을 최대한 활용하려면 잠재적 단일 실패 지점을 가능한 많이 제거해야합니다. 기존의 통념에 따르면 클러스터링 아키텍처에서 기술적으로 단일 실패 지점을 나타내는 일부 유형의 공유 저장소가 없으면 클러스터를 구성 할 수 없다고합니다. 그러나 해결책이 있습니다. Linux 용 SteelEye Protection Suite (SPS)를 사용하면 클러스터 노드간에 실시간 데이터 복제를 제공하여 스토리지를 단일 실패 지점으로 제거 할 수 있습니다. 일반적인 시나리오를 살펴 보겠습니다. 로컬 복제 된 스토리지를 활용하여 MySQL 데이터베이스를 보호하는 클러스터를 구성합니다.
Shared Storage를 사용하지 않고 2 노드 MySQL 클러스터를 생성하려면 실험 환경에서 SPS 평가판으로 작업하고 있다고 가정합니다. 또한 주 서버와 보조 서버 및 네트워크가 모두 이러한 유형의 설치를 실행하기위한 요구 사항을 충족하는지 확인했다고 가정합니다. (이러한 요구 사항에 대한 자세한 내용은 Linux 용 SIOS SteelEye Protection Suite 데이터 복제 평가 가이드를 참조하십시오.)
공유 스토리지가없는 2 노드 MySQL 클러스터를 만들기위한 첫 번째 단계
클러스터 설정을 시작하기 전에 스토리지를 구성해야합니다. 복제하려는 데이터는 별도의 파일 시스템이나 논리 볼륨에 있어야합니다. 파티션이나 논리적 볼륨을 사용하는 대상 디스크의 크기는 소스와 같거나 커야합니다. 이 예에서는 디스크 파티션을 사용하고 있다고 가정합니다. (그러나 LVM도 완벽하게 지원됩니다.) 먼저 SteelEye DataKeeper와 함께 사용할 수 있도록 로컬 스토리지를 파티션하십시오. 주 서버에서 MySQL 저장소로 사용하거나 사용하지 않는 디스크 파티션을 확인하거나 새 파티션을 만듭니다. fdisk 유틸리티를 사용하여 디스크를 파티션 한 다음 파티션을 포맷하고 일시적으로 / mnt에 마운트하십시오. / var / lib / mysql /에있는 기존 데이터를이 새 디스크 파티션으로 옮깁니다 (기본 MySQL 구성으로 가정). / var / lib / mysql에서 파티션을 마운트 해제했다가 다시 마운트하십시오. SPS에 의해 자동으로 마운트되기 때문에이 파티션을 / etc / fstab에 추가 할 필요가 없습니다. 보조 서버에서 기본 서버에서 수행 한 것처럼 디스크를 구성하십시오.
MSQL 설치
다음으로 MySQL을 다룰 것입니다. 기본 서버에서 mysql 및 mysql-server RPM 패키지를 모두 설치하고 (시스템에 아직없는 경우) 필요한 종속성을 적용합니다. 로컬 디스크 파티션이 / var / lib / mysql에 마운트되어 있는지 확인하십시오. 필요한 경우 샘플 MySQL 데이터베이스를 초기화하십시오. MySQL 데이터 디렉토리 (/ var / lib / mysql)의 모든 파일이 올바른 사용 권한과 소유권을 가지고 있는지 확인한 다음 명령 줄에서 수동으로 MySQL 데몬을 시작하십시오. (참고 : service 명령이나 /etc/init.d/ 스크립트를 통해 MySQL을 시작하지 마십시오.) mysql 클라이언트와 연결하여 MySQL이 실행 중인지 확인하십시오. MySQL 구성의 루트 암호를 업데이트하고 확인하십시오. 그런 다음 여기에 표시된 샘플 파일과 같은 MySQL 구성 파일을 작성하십시오. —- # cat /var/lib/mysql/my.cnf [mysqld] datadir = / var / lib / mysql socket = / var / lib / mysql / mysql / mysql / mysqld.pid user = root port = 3306 # mysql 3.x # 클라이언트 (mysqlclient10 호환성 패키지를 사용하는 클라이언트)와의 호환성을 위해 이전 암호 형식을 사용하도록 디폴트 설정. old_passwords = 1 # 다양한 보안 위험을 방지하려면 심볼릭 링크를 비활성화하는 것이 좋습니다. # 심볼릭 링크 = 0 [mysqld_safe] log-error = / var / log / mysqld.log pid-file = / var / run / mysqld / mysqld.pid [클라이언트] user = root password = SteelEye —-이 예제에서 우리는이 파일을 나중에 복제 할 디렉토리 (/var/lib/mysql/my.cnf)에 저장합니다. 원본 MySQL 구성 파일을 삭제합니다 (/ etc). 보조 서버에서 필요한 경우 mysql 및 mysql-server RPM 패키지를 설치하고 종속성을 적용하고 MySQL 데이터 디렉토리 (/ var / lib / mysql)의 모든 파일에 올바른 사용 권한과 소유권이 있는지 확인하십시오.
Linux 용 SPS 설치
그런 다음 Linux 용 SPS를 설치하십시오. 설치 편의성을 위해 SIOS는 Linux 용 SPS 용 통합 설치 스크립트 ( "설치"라고 함)를 제공합니다. 이 소프트웨어를 구하는 방법에 대한 지침은 Linux 용 SPS 평가 라이센스 키와 함께 제공되는 전자 메일에 나와 있습니다. 기본 및 보조 서버 모두에서 소프트웨어 및 평가 라이센스 키를 다운로드하십시오. 각 서버에서 설치 스크립트를 실행하면 필요한 RPM, 코어 클러스터링 소프트웨어 및 필요한 모든 선택적 ARK가 설치됩니다. 이 경우 MySQL ARK (steeleye-lkSQL) 및 DataKeeper (Data Replication) ARK (steeleye-lkDR)를 설치해야합니다. / opt / LifeKeeper / bin / lkkeyins 명령을 통해 라이센스 키를 적용하고 시작 스크립트 인 / opt / LifeKeeper / lkstart를 통해 Linux 용 SPS를 시작하십시오. 이 시점에서 두 노드 모두에서 SPS가 설치, 라이센스 및 실행되고 보호하려는 디스크와 MySQL 데이터베이스가 구성됩니다. 다음 글에서는 비공유 클러스터링 프로세스의 나머지 단계를 살펴 보겠습니다. 다음을 작성하십시오.
- 기본 서버와 대상 서버 사이의 통신 (Comm) 경로, 즉 하트 비트
- IP 자원
- 미러 및 시작 데이터 복제
- MySQL 데이터베이스 리소스
- MySQL IP 주소 의존성
프로젝트를 위해 공유 스토리지가없는 2-Node MySQL 클러스터를 생성하는 방법을 알고 싶거나 우리와 채팅하거나 성공 사례를 읽으십시오. Linux 클러스터링의 허락을 받아 재현