적용 대상:SQL Server on Linux
이 자습서에서는 SQL Server Always On AG(가용성 그룹) 또는 FCI(장애 조치(failover) 클러스터 인스턴스)에 대한 Linux Pacemaker 클러스터를 배포하는 데 필요한 작업을 설명합니다. 긴밀하게 결합된 Windows Server/SQL Server 스택과 달리 Pacemaker 클러스터를 만들고 SQL Server를 설치하기 전이나 후에 Linux에서 AG(가용성 그룹)를 구성할 수 있습니다. 클러스터를 구성한 후 AG 또는 FCI 배포의 Pacemaker 부분에 대한 통합 및 리소스를 구성합니다.
중요한
클러스터 유형이 없음인 AG에는 Pacemaker 클러스터가 필요하지 않으며 Pacemaker에서 관리할 수 없습니다.
- 고가용성 추가 기능을 설치하고 Pacemaker를 설치합니다.
- Pacemaker에 대한 노드를 준비합니다(RHEL 및 Ubuntu에만 해당).
- Pacemaker 클러스터를 만듭니다.
- SQL Server HA 및 SQL Server 에이전트 패키지를 설치합니다.
참고
SQL Server 2025(17.x)부터 SLES(SUSE Linux Enterprise Server)는 지원되지 않습니다.
필수 조건
고가용성 추가 기능을 설치합니다
다음 구문을 사용하여 각 Linux 배포의 HA(고가용성) 추가 기능을 구성하는 패키지를 설치합니다.
다음 구문을 사용하여 서버를 등록합니다. 유효한 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다.
sudo subscription-manager register등록 가능한 풀 목록을 표시합니다.
sudo subscription-manager list --available다음 명령을 실행하여 RHEL 고가용성을 구독과 연결합니다.
sudo subscription-manager attach --pool=<PoolID>이 예제에서 PoolId 는 이전 단계의 고가용성 구독에 대한 풀 ID입니다.
리포지토리에서 고가용성 추가 기능을 사용하도록 설정합니다.
sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpmsPacemaker를 설치합니다.
sudo yum install pacemaker pcs fence-agents-all resource-agents
Pacemaker에 대한 노드 준비(RHEL 및 Ubuntu에만 해당)
Pacemaker는 배포에서 생성한 사용자 hacluster를 사용합니다. RHEL 및 Ubuntu에서 HA 추가 기능 설치는 이 사용자를 만듭니다.
Pacemaker 클러스터의 노드 역할을 할 각 서버에서 클러스터에서 사용하는 사용자의 암호를 만듭니다. 예제에서는 이름을
hacluster사용하지만 모든 이름을 사용할 수 있습니다. Pacemaker 클러스터의 모든 노드는 동일한 이름과 암호를 사용해야 합니다.sudo passwd haclusterPacemaker 클러스터의 일부가 될 각 노드에서 다음 명령(RHEL 및 Ubuntu)을 사용하여
pcsd서비스를 사용하도록 설정하고 시작합니다.sudo systemctl enable pcsd sudo systemctl start pcsd그런 다음,
pcsd이 시작되었는지 확인하려면 다음 명령을 실행합니다.sudo systemctl status pcsdPacemaker 클러스터의 가능한 각 노드에서 Pacemaker 서비스를 사용하도록 설정합니다.
sudo systemctl start pacemakerUbuntu에서 다음과 같은 오류가 표시됩니다.
pacemaker Default-Start contains no runlevels, aborting.이 오류는 알려진 문제입니다. 오류에도 불구하고 Pacemaker 서비스를 사용하도록 설정하면 성공합니다. 이 버그는 향후 업데이트에서 수정될 예정입니다.
다음으로 Pacemaker 클러스터를 만들고 시작합니다. 이 단계에서는 RHEL과 Ubuntu 간에 한 가지 차이점이 있습니다. 두 배포 모두에서 설치하면
pcsPacemaker 클러스터에 대한 기본 구성 파일이 구성되고 RHEL에서 이 명령을 실행하면 기존 구성이 제거되고 새 클러스터가 만들어집니다.
Pacemaker 클러스터 만들기
이 섹션에서는 각 Linux 배포에 대한 클러스터를 만들고 구성하는 방법을 설명합니다.
노드에 권한 부여:
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster이 예제에서 NodeX 는 노드의 이름입니다.
클러스터를 만듭니다.
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable이 예제
PMClusterName에서는 Pacemaker 클러스터에 할당하는 이름이며Nodelist공백으로 구분된 노드 이름 목록입니다.
SQL Server HA 및 SQL Server 에이전트 패키지 설치
아직 설치되어 있지 않은 경우 다음 명령을 사용하여 SQL Server HA 패키지 및 SQL Server 에이전트를 설치합니다. SQL Server를 설치한 후 HA 패키지를 설치하는 경우 변경 내용이 적용되려면 SQL Server를 다시 시작해야 합니다. 이 지침에서는 이 시점에서 SQL Server를 설치해야 하므로 Microsoft 패키지의 리포지토리가 이미 설정되었다고 가정합니다.
로그 전달 또는 다른 용도로 SQL Server 에이전트를 사용하지 않는 경우 시작하거나 구성할 필요가 없습니다.
SQL Server on Linux의 다른 옵션 패키지인 SQL Server 전체 텍스트 검색(mssql-server-fts) 및 SQL Server Integration Services(mssql-server-is)는 FCI 또는 AG의 고가용성에 필요하지 않습니다.
sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server
다음 단계
이 자습서에서는 Linux의 SQL Server에서 Pacemaker 클러스터를 배포하는 방법을 알아보았습니다. 다음 방법에 대해 알아보았습니다.
- 고가용성 추가 기능을 설치하고 Pacemaker를 설치합니다.
- Pacemaker에 대한 노드를 준비합니다(RHEL 및 Ubuntu에만 해당).
- Pacemaker 클러스터를 만듭니다.
- SQL Server HA 및 SQL Server 에이전트 패키지를 설치합니다.
Linux에서 SQL Server의 가용성 그룹을 만들고 구성하려면 다음을 참조하세요.