Linux 용 SIOS Protection Suite를 사용하는 SQL Server의 고 가용성에 대한 빠른 시작 가이드
이 가이드는 Linux 용 SIOS Protection Suite를 사용하는 Microsoft SQL Server 보호를 설명하기위한 것입니다. 여기에 사용 된 환경은 CentOS 7.6을 실행하는 가상 머신이 추가 된 VMware ESXi입니다. Microsoft SQL 2017은 데이터베이스 서버를 만드는 데 사용됩니다. 데이터베이스 및 트랜잭션 로그는 DataKeeper를 사용하여 노드간에 복제 될 로컬 디스크에 저장됩니다. 이는 공유 스토리지가 로컬 디스크의 간단한 대체물로 사용될 수 있음을 보여줍니다.
이 가이드는 여기에서 PDF로 제공됩니다.
필요한 Microsoft 소프트웨어 다운로드
- https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup?view=sql-server-ver15에서 SQL 설치에 대한 다음 Microsoft 가이드를 엽니 다.
SQL 환경 구성 계획
다음 구성 설정은이 빠른 시작 가이드에서 설명하는 클러스터 환경을 만드는 데 사용됩니다. 특정 시스템 환경에 따라 구성 설정을 조정하십시오.
일반 구성
- 이 빠른 시작 가이드에서 설치 한 예제는 CentOS를 사용합니다. CentOS는 Red Hat과 바이너리 호환되므로 Red Hat 지침이 적용됩니다.
- 이 빠른 시작 가이드의 예는 VMware 환경, 클라우드 또는 물리적 설치에서 실행되는지 여부에 관계없이 매우 유사합니다.
노드 1 구성
- 호스트 이름 : IMAMSSQL-1
- 공용 IP : 192.168.4.21
- 사설 IP : 10.1.4.21
- / dev / sdb (10GiB)
- / dev / sdc (10GiB)
노드 2 구성
- 호스트 이름 : IMAMSSQL-2
- 공용 IP : 192.168.4.22
- 사설 IP : 10.1.4.22
- / dev / sdb (10GiB)
- / dev / sdc (10GiB)
SQL 액세스에 사용되는 가상 IP
- 168.4.20, 이것은 LifeKeeper에 의해 보호되며 노드 사이의 "부동"
운영 체제
- CentOS 7.6
SQL 데이터베이스 구성
- SQL 데이터베이스 :
- SQL 가상 호스트 이름 : IMAMSSQL
- SQL 가상 IP : 192.168.4.20
SQL 파일 시스템 마운트 지점
- / database / data
- / database / xlog
설치를위한 시스템 준비
MS-SQL 설치
초기 SQL 설치
이 섹션에서는 Linux OS에 Microsoft 패키지 위치를 추가 한 다음 OS에 SQL Server를 설치하도록 지시합니다.
- SQL Server 설치에 대한 다음 Microsoft 가이드를 엽니 다.
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup?view=sql-server-ver15 - 루트 권한으로 로그인하거나 각 명령 전에 sudo를 사용합니다.
- curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
- yum 설치 -y mssql-server
- / opt / mssql / bin / mssql-conf setup, 평가 라이선스로 SQL Server를 설치했습니다.
- yum install -y mssql-tools unixODBC-devel
- echo‘export PATH =”$ PATH : / opt / mssql-tools / bin”‘>> ~ / .bash_profile
- echo‘export PATH =”$ PATH : / opt / mssql-tools / bin”‘>> ~ / .bashrc
- 소스 ~ / .bashrc
- systemctl stop mssql-server.service, SQL 서비스를 중지하고 섹션에서 스토리지로 사용되는 디스크를 구성 할 때까지 SQL 서비스를 시작할 수 없습니다.
"데이터베이스 및 트랜잭션 로그 파일 시스템과 마운트 지점 생성". - / opt / mssql / bin / mssql-conf set filelocation.masterdatafile /database/data/master.mdf
- / opt / mssql / bin / mssql-conf set filelocation.masterlogfile /database/xlog/mastlog.ldf
데이터베이스 및 트랜잭션 로그 파일 시스템과 마운트 지점 생성
이 설치에는 xfs 파일 시스템 유형을 사용합니다. 구성 할 파일 시스템을 결정하려면 LifeKeeper 지원 파일 시스템 유형을 참조하십시오. GUID 식별자를 사용하도록 디스크를 구성해야합니다. 여기서는 로컬로 연결된 디스크를 분할하고 포맷합니다. SQL이 사용할 데이터베이스 위치를 마운트, 생성 및 권한 부여한 후 마지막으로 지정한 위치에 새 마스터 DB 및 트랜잭션 로그를 생성하는 SQL을 시작합니다. 파티션을 생성 할 때 DataKeeper는 파티션의 블록 수가 홀수 여야합니다. 예 : 20973567 (끝) – 2048 (시작) = 20971519.
- fdisk / dev / sdb
- mkfs -t xfs / dev / sdb1
- fdisk / dev / sdc
- mkfs -t xfs / dev / sdc1
- mkdir / database; mkdir / database / data; mkdir / database / xlog
- chown mssql / database /; chgrp mssql / 데이터베이스 /
- chown mssql / database / data /; chgrp mssql / 데이터베이스 / 데이터 /
- chown mssql / database / xlog /; chgrp mssql / database / xlog /
- vi / etc / fstab
- / dev / sdb1 마운트를 / database / data에 추가합니다. / dev / sdb1 / database / data xfs 기본값 0 0
- / dev / sdb1 마운트를 / database / xlog에 추가합니다. / dev / sdb1 / database / xlog xfs 기본값 0 0
- 마운트 / dev / sdb1
- 마운트 / dev / sdc1
- chown mssql / database / data /; chgrp mssql / 데이터베이스 / 데이터 /
- chown mssql / database / xlog /; chgrp mssql / database / xlog /
- systemctl start mssql-server.service, 로컬 디스크가 마운트되었으므로 이제 SQL 서비스를 시작합니다. 그러면 새 마스터 DB 및 트랜잭션 로그가 생성됩니다.
LifeKeeper 설치
설치 가이드를 참조하십시오
http://docs.us.sios.com/spslinux/9.5.1/en/topic/sios-protection-suite-for-linux-installation-guide
LifeKeeper 리소스 계층 생성
기본 노드에서 LifeKeeper GUI를 엽니 다.
# / opt / LifeKeeper / bin / lkGUIapp &
통신 경로
백엔드 및 / 또는 프런트 엔드 IP 경로를 만듭니다.이 경우 백엔드는 10.2.4.21 및 22이고 프런트 엔드는 192.168.4.21 및 22입니다.
- [AWS only] AWS Management Console에서 각 인스턴스를 마우스 오른쪽 버튼으로 클릭하고 네트워킹 → 소스 / 대상 변경을 선택합니다. 소스 / 대상 확인이 사용 중지되었는지 확인하고 확인합니다.
- LifeKeeper GUI에서 통신 경로 만들기를 클릭합니다.
- 원격 서버 대화 상자에서 다른 클러스터 노드의 호스트 이름을 추가하고 선택합니다.
- 적절한 로컬 (10.2.4.21) 및 원격 (10.2.4.22) IP 주소를 선택합니다.
- 이 프로세스를 반복하여 각 네트워크의 모든 원격 노드 쌍 사이에 통신 경로를 만듭니다 (예 : 12.0.1.30 및 12.0.2.30).완료 후 모든 클러스터 노드 쌍 사이에 통신 경로가 있어야합니다.
IP 리소스
IP 리소스는 SQL 서버에 액세스하는 데 사용되는 가상 IP입니다 (이 경우 192.168.4.20).
- 다음을 실행하여 모든 가상 IP가 네트워크 인터페이스에서 제거되었는지 확인합니다.
‘ip addr show’. - MSSQL 가상 IP에 대한 IP 리소스를 만듭니다.
- LifeKeeper GUI에서 리소스 계층 구조 만들기를 클릭하고 IP를 선택합니다.
4. 메시지가 표시되면 IP 192.168.4.20을 입력하고 서브넷 마스크 255.255.0.0을 선택합니다.
5. ip-192.168.4.20-MSSQL과 같은 태그 이름을 입력합니다.
DataKeeper 리소스
데이터베이스 및 트랜잭션 로그, / database / data 및 / database / xlog를 저장하는 데 사용되는 드라이브입니다.
데이터 복제 리소스
- 모든 SQL 파일 시스템이 기본 클러스터 노드의 / database 아래에있는 적절한 마운트 지점에 마운트되었는지 확인하십시오.
# 마운트
…
/ database / data type xfs의 / dev / sdb1 (rw, relatime, attr2, inode64, noquota)
/ database / xlog 유형 xfs의 / dev / sdc1 (rw, relatime, attr2, inode64, noquota)
…
2. 파일 시스템이 백업 클러스터 노드에 마운트되어 있지 않은지 확인합니다.
삼.LifeKeeper GUI에서 리소스 계층 구조 만들기를 클릭하고 데이터 복제를 선택합니다.
4. 계층 유형에서 기존 파일 시스템 복제를 선택합니다.
5. 기존 마운트 포인트에 대해 / database / data를 선택하십시오.
6. 환경에 적합한 나머지 생성 대화 상자에 대해 적절한 값을 선택합니다.
/ database / data 및 / database / xlog 파일 시스템에 대해 3-6 단계를 반복합니다.
빠른 서비스 보호
LifeKeeper의 Quick Service Protection ARK를 사용하여 mssql-server 서비스를 보호하고 MSSQL 서비스를 모니터링하고 실행 중인지 확인합니다.
- 노드 1에서 systemctl status mssql-server.service를 사용하여 MSSQL이 실행 중인지 확인합니다.
- 노드 2에서 systemctl status mssql-server.service를 사용하여 MSSQL이 실행되고 있지 않은지 확인합니다. 실행중인 경우 systemctl stop mssql-server.service를 사용하여 서비스를 중지 한 다음 / database / data 및 / database를 마운트 해제해야합니다. / xlog 디렉토리.
- LifeKeeper GUI에서 리소스 추가를 클릭합니다.
- 드롭 다운에서 QSP ARK를 선택합니다.
- 사용 가능한 서비스 목록이 채워지면 mssql-server.service를 선택합니다.
- 환경에 적합한 나머지 생성 대화 상자에 대해 적절한 값을 선택합니다.
- 계층 구조를 노드 2로 확장
- 노드 1의 Linux CLI에서“/ opt / LifeKeeper / bin / lkpolicy -g –v”를 실행하면 다음과 유사한 출력이 표시됩니다.
- QSP-mssql-server에 대해 LocalRecovery : On이 설정된 경우 두 노드에서 로컬 복구를 비활성화해야합니다.이 작업은 다음을 실행하여 수행됩니다 (두 노드에서 모두).
- / opt / LifeKeeper / bin / lkpolicy -s LocalRecovery -E tag =”QSP-mssql-server”
- 두 노드 "/ opt / LifeKeeper / bin / lkpolicy -g –v"에서 로컬 복구가 비활성화되어 있는지 확인합니다.
SIOS에서 재현