SQL Server 다중 서브넷 클러스터링(SQL Server)

적용 대상:SQL Server

SQL Server 다중 서브넷 장애 조치(failover) 클러스터는 각 장애 조치(failover) 클러스터 노드가 서로 다른 서브넷 또는 서로 다른 서브넷 집합에 연결된 구성입니다. 이러한 서브넷은 동일한 위치 또는 지리적으로 분산된 사이트에 있을 수 있습니다. 지리적으로 분산된 사이트의 클러스터링을 늘이기 클러스터라고도 합니다. 모든 노드에서 액세스할 수 있는 공유 스토리지가 없으므로 여러 서브넷의 데이터 스토리지 간에 데이터가 복제되어야 합니다. 데이터 복제를 사용하면 사용 가능한 데이터의 복사본이 두 개 이상 있습니다. 따라서 다중 서브넷 장애 조치(failover) 클러스터는 고가용성 외에도 재해 복구 솔루션을 제공합니다.

SQL Server 다중 서브넷 장애 조치(failover) 클러스터(2노드, 2 서브넷)

다음 그림은 SQL Server에서 두 개의 노드, 두 개의 서브넷 FCI(장애 조치(failover) 클러스터 인스턴스)를 나타냅니다.

Multi-Subnet Architecture with MultiSubnetFailover

다중 서브넷 장애 조치(Failover) 클러스터 인스턴스 구성

다음은 여러 서브넷을 사용하는 SQL Server FCI의 몇 가지 예입니다.

  • SQL Server FCI SQLCLUST1에는 Node1과 Node2가 포함됩니다. Node1은 Subnet1에 연결됩니다. Node2는 Subnet2에 연결됩니다. SQL Server 설치 프로그램에서는 이 구성을 다중 서브넷 클러스터로 인식하여 IP 주소 리소스 종속성을 OR로 설정합니다.

  • SQL Server FCI SQLCLUST1에는 Node1, Node2 및 Node3이 포함됩니다. Node1 및 Node2는 Subnet1에 연결됩니다. 노드 3은 Subnet2에 연결됩니다. SQL Server 설치 프로그램에서는 이 구성을 다중 서브넷 클러스터로 인식하여 IP 주소 리소스 종속성을 OR로 설정합니다. Node1과 Node2가 동일한 서브넷에 있기 때문에 이 구성은 추가적인 로컬 고가용성을 제공합니다.

  • SQL Server FCI SQLCLUST1에는 Node1과 Node2가 포함됩니다. Node1은 Subnet1에 있습니다. Node2는 Subnet1 및 Subnet2에 있습니다. SQL Server 설치 프로그램에서는 이 구성을 다중 서브넷 클러스터로 인식하여 IP 주소 리소스 종속성을 OR로 설정합니다.

  • SQL Server FCI SQLCLUST1에는 Node1과 Node2가 포함됩니다. Node1은 Subnet1 및 Subnet2에 연결됩니다. Node2는 Subnet1 및 Subnet2에도 연결됩니다. IP 주소 리소스 종속성은 SQL Server 설치 프로그램에서 AND로 설정됩니다.

    참고

    클러스터된 노드가 동일한 서브넷 집합에 있으므로 이 구성은 다중 서브넷 장애 조치(failover) 클러스터 구성으로 간주되지 않습니다.

IP 주소 리소스 고려 사항

다중 서브넷 장애 조치(Failover) 클러스터 구성에서는 장애 조치(Failover) 클러스터의 일부 노드에서 IP 주소를 소유하지 않으므로 SQL Server 시작 중에 일부 IP 주소가 온라인 상태가 되지 않을 수도 있습니다. SQL Server 2012(11.x) 부터 IP 주소 리소스 종속성을 OR로 설정할 수 있습니다. 이를 통해 바인딩할 수 있는 유효한 IP 주소가 하나 이상 있는 경우 SQL Server를 온라인 상태로 만들 수 있습니다.

참고

  • SQL Server 2012(11.x) 이전 버전의 SQL Server에서는 다중 사이트 클러스터 구성에 V-LAN 늘이기 기술을 사용하여 사이트 간 장애 조치(Failover)에 단일 IP 주소를 제공했습니다. 여러 서브넷에서 노드를 클러스터하는 SQL Server의 새로운 기능을 사용하면 이제 스트레치 V-LAN 기술을 구현하지 않고도 여러 사이트에서 SQL Server 장애 조치(failover) 클러스터를 구성할 수 있습니다.

IP 주소 리소스 OR 종속성 고려 사항

IP 주소 리소스 종속성을 OR로 설정한 경우 다음 장애 조치(Failover) 동작을 고려할 수 있습니다.

  • 현재 SQL Server 클러스터 리소스 그룹을 소유하고 있는 노드의 IP 주소 중 하나가 실패하면 해당 노드에서 유효한 모든 IP 주소가 실패할 때까지 장애 조치(failover)가 자동으로 트리거되지 않습니다.

  • 장애 조치(failover)가 발생하면 현재 노드에서 유효한 하나 이상의 IP 주소에 바인딩할 수 있는 경우 SQL Server가 온라인 상태가 됩니다. 시작 시 SQL Server에 바인딩되지 않은 IP 주소가 오류 로그에 나열됩니다.

SQL Server FCI가 SQL Server 데이터베이스 엔진의 독립 실행형 인스턴스와 나란히 설치되면 IP 주소에서 TCP 포트 번호가 충돌하지 않도록 주의합니다. 일반적으로 데이터베이스 엔진 두 인스턴스가 모두 기본 TCP 포트(1433)를 사용하도록 구성된 경우 충돌이 발생합니다. 충돌을 방지하려면 한 인스턴스는 기본이 아닌 고정 포트를 사용하도록 구성합니다. 고정 포트를 구성하는 것은 일반적으로 독립형 인스턴스에서 가장 쉽습니다. 다른 포트를 사용하도록 데이터베이스 엔진 구성하면 SQL Server FCI가 대기 노드에 실패할 때 인스턴스 시작을 차단하는 예기치 않은 IP 주소/TCP 포트 충돌이 방지됩니다.

장애 조치(Failover) 중의 클라이언트 복구 대기 시간

기본적으로 다중 서브넷 FCI는 해당 네트워크 이름에 대해 RegisterAllProvidersIP 클러스터 리소스를 사용하도록 설정합니다. 다중 서브넷 환경에서는 네트워크 이름의 온라인 및 오프라인 IP 주소가 모두 DNS 서버에 등록됩니다. 그런 다음 클라이언트 애플리케이션은 DNS 서버에서 등록된 모든 IP 주소를 검색하고 순서대로 또는 병렬로 주소에 연결하려고 시도합니다. 즉, 다중 서브넷 장애 조치(failover)의 클라이언트 복구 시간은 더 이상 DNS 업데이트 대기 시간에 의존하지 않습니다. 기본적으로 클라이언트는 IP 주소를 순서대로 시도합니다. 클라이언트가 연결 문자열에 새로운 선택적인 MultiSubnetFailover=True 매개 변수를 사용할 경우 대신 IP 주소를 동시에 시도하고 처음 응답한 서버에 연결합니다. 이렇게 하면 장애 조치(failover)가 발생할 때 클라이언트 복구 대기 시간을 최소화할 수 있습니다. 자세한 내용은 Always On 클라이언트 연결(SQL Server)가용성 그룹 수신기 만들기 또는 구성(SQL Server)을 참조하세요.

레거시 클라이언트 라이브러리 또는 타사 데이터 공급자를 사용하면 연결 문자열에 MultiSubnetFailover 매개 변수를 사용할 수 없습니다. 클라이언트 애플리케이션이 SQL Server에서 다중 서브넷 FCI와 최적으로 작동하도록 하기 위해서는 클라이언트 연결 문자열에서 각각의 추가 IP 주소에 대해 연결 제한 시간을 21초로 조정하십시오. 그러면 다중 서브넷 FCI에서 모든 IP 주소를 시도해보기 전에 클라이언트의 재연결 시도가 시간 초과되지 않습니다.

SQL Server Management Studio 및 sqlcmd의 기본 클라이언트 연결 제한 시간은 15초입니다.

참고

  • 여러 서브넷을 사용 중이며 정적 DNS가 있는 경우, 장애 조치(failover)를 수행하기 전에 수신기와 연결된 DNS 레코드를 업데이트하는 프로세스가 구현되어 있어야 합니다. 해당 프로세스가 없으면 네트워크 이름이 온라인 상태로 표시되지 않습니다.

관련 내용

콘텐츠 설명 항목
SQL Server 장애 조치(Failover) 클러스터 설치 새 SQL Server 장애 조치(Failover) 클러스터 만들기(설치)
SQL Server 장애 조치(Failover) 클러스터의 전체 업그레이드 SQL Server 장애 조치(Failover) 클러스터 인스턴스 업그레이드(설치)
기존 SQL Server 장애 조치(Failover) 클러스터 유지 관리 SQL Server 장애 조치(Failover) 클러스터에서 노드 추가 또는 제거(설치)
장애 조치(failover) 클러스터 관리 스냅인을 사용하여 WSFC 이벤트 및 로그 보기 장애 조치(Failover) 클러스터에 대한 이벤트 및 로그 보기
Windows PowerShell을 사용하여 WSFC 장애 조치(Failover) 클러스터에 모든 노드나 특정 노드에 대한 로그 파일 만들기 Get-ClusterLog 장애 조치(Failover) 클러스터 Cmdlet