Share via


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
    

    은 Pacemaker PMClusterName 클러스터에 할당된 이름이며 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

다음 단계

이 자습서에서는 SQL Server on Linux용 Pacemaker 클러스터를 배포하는 방법을 알아보았습니다. 구체적으로 다음 작업 방법을 알아보았습니다.

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

SQL Server on Linux에 대한 가용성 그룹을 만들고 구성하려면 다음을 참조하세요.