다음을 통해 공유


SQL Server on Linux용 Pacemaker 클러스터 배포

적용 대상: SQL Server - Linux

이 자습서에서는 SQL Server Always On AG(가용성 그룹) 또는 FCI(장애 조치(failover) 클러스터 인스턴스)에 대한 Linux Pacemaker 클러스터를 배포하는 데 필요한 작업을 설명합니다. 긴밀하게 결합된 Windows Server/SQL Server 스택과 달리 Pacemaker 클러스터 만들기 및 Linux의 AG(가용성 그룹) 구성은 SQL Server 설치 전후에 수행할 수 있습니다. AG 또는 FCI 배포의 Pacemaker 부분에 대한 리소스의 통합 및 구성은 클러스터가 구성된 후에 수행됩니다.

Important

클러스터 유형이 없음인 AG에는 Pacemaker 클러스터가 필요하지 않으며 Pacemaker에서 관리할 수도 없습니다.

  • 고가용성 추가 기능을 설치하고 Pacemaker를 설치합니다.
  • Pacemaker에 대한 노드를 준비합니다(RHEL 및 Ubuntu에만 해당).
  • Pacemaker 클러스터를 만듭니다.
  • SQL Server HA 및 SQL Server 에이전트 패키지를 설치합니다.

전제 조건

SQL Server 2017 설치.

고가용성 추가 기능을 설치합니다

다음 구문을 사용하여 각 Linux 배포의 HA(고가용성) 추가 기능을 구성하는 패키지를 설치합니다.

  1. 다음 구문을 사용하여 서버를 등록합니다. 유효한 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다.

    sudo subscription-manager register
    
  2. 등록에 사용할 수 있는 풀을 나열합니다.

    sudo subscription-manager list --available
    
  3. 다음 명령을 실행하여 RHEL 고가용성을 구독과 연결합니다

    sudo subscription-manager attach --pool=<PoolID>
    

    여기서 PoolId는 이전 단계의 고가용성 구독에 대한 풀 ID입니다.

  4. 리포지토리가 고가용성 추가 기능을 사용할 수 있도록 설정합니다.

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    
  5. Pacemaker를 설치합니다.

    sudo yum install pacemaker pcs fence-agents-all resource-agents
    

Pacemaker에 대한 노드 준비(RHEL 및 Ubuntu에만 해당)

Pacemaker 자체는 hacluster라는 배포판에서 만든 사용자를 사용합니다. HA 추가 기능이 RHEL 및 Ubuntu에 설치될 때 사용자가 만들어집니다.

  1. Pacemaker 클러스터의 노드로 사용할 각 서버에서 클러스터에 사용할 사용자의 암호를 만듭니다. 예제에서 사용된 이름은 hacluster이지만 아무 이름이나 사용할 수 있습니다. Pacemaker 클러스터에 참여하는 모든 노드에서 이름과 암호가 동일해야 합니다.

    sudo passwd hacluster
    
  2. Pacemaker 클러스터의 일부가 될 각 노드에서 다음 명령(RHEL 및 Ubuntu)을 사용하여 pcsd 서비스를 사용하도록 설정하고 시작합니다.

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    

    그런 다음, 다음 명령을 실행하여 pcsd가 시작되었는지 확인합니다.

    sudo systemctl status pcsd
    
  3. Pacemaker 클러스터의 가능한 각 노드에서 Pacemaker 서비스를 사용하도록 설정합니다.

    sudo systemctl start pacemaker
    

    Ubuntu에서 다음과 같은 오류가 표시됩니다.

    pacemaker Default-Start contains no runlevels, aborting.
    

    이 오류는 알려진 문제입니다. 오류에도 불구하고 Pacemaker 서비스를 사용하도록 설정하는 것은 성공적이며, 이 버그는 향후 어느 시점에 수정될 예정입니다.

  4. 다음으로 Pacemaker 클러스터를 만들고 시작합니다. 이 단계에서는 RHEL과 Ubuntu 간에 한 가지 차이점이 있습니다. 두 배포에서 모두, pcs를 설치할 때 Pacemaker 클러스터의 기본 구성 파일이 구성되지만 RHEL에서 이 명령을 실행하면 기존 구성이 모두 삭제되고 새 클러스터가 생성됩니다.

Pacemaker 클러스터 만들기

이 섹션에서는 Linux의 각 배포에 대한 클러스터를 만들고 구성하는 방법을 설명합니다.

  1. 노드에 권한을 부여합니다

    sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
    

    여기서 NodeX는 노드의 이름입니다.

  2. 클러스터 만들기

    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 에이전트를 사용하지 않는 경우 설치할 필요가 없으므로 패키지 mssql-server-agent를 건너뛸 수 있습니다.
  • 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의 가용성 그룹을 만들고 구성하려면 다음을 참조하세요.