다음을 통해 공유


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

적용 대상:SQL Server

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

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

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

MultiSubnetFailover를 사용하는 다중 서브넷 아키텍처를 보여 주는 다이어그램

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

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

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

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

  • SQL Server FCI SQLCLUST3 Node1 및 Node2를 포함합니다. Node1은 Subnet1에 있습니다. Node2는 Subnet1 및 Subnet2에 있습니다. SQL Server 설치 프로그램은 이 구성을 다중 서브넷 클러스터로 보고 IP 주소 리소스 종속성을 OR.로 설정합니다.

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

    참고

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

IP 주소 리소스 고려 사항

다중 서브넷 장애 조치(failover) 클러스터 구성에서 IP 주소는 장애 조치(failover) 클러스터의 모든 노드가 소유하지 않으며 SQL Server를 시작하는 동안 모두 온라인 상태가 아닐 수 있습니다. 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 주소 리소스 또는 종속성 고려 사항

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

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

  • 장애 조치(failover)가 발생하면 SQL Server가 현재 노드에서 유효한 IP 주소를 하나 이상 바인딩할 수 있는 경우 온라인 상태가 됩니다. 시작 시 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 레코드를 업데이트하는 프로세스가 있어야 합니다. 그렇지 않으면 네트워크 이름이 온라인 상태가 되지 않습니다.

Description 조항
SQL Server 장애 조치(failover) 클러스터 설치 새 SQL Server 장애 조치(failover) 클러스터 만들기(설치)
기존 SQL Server 장애 조치(failover) 클러스터의 현재 위치 업그레이드 SQL Server 장애 조치(failover) 클러스터 인스턴스 업그레이드(설치)
SQL Server 장애 조치(failover) 클러스터 유지 관리 SQL Server 장애 조치(failover) 클러스터에서 노드 추가 또는 제거(설치)
장애 조치(failover) 클러스터 관리 스냅인을 사용하여 Windows Server 장애 조치(failover) 클러스터 이벤트 및 로그 보기 장애 조치(failover) 클러스터에 대한 이벤트 및 로그 보기
Windows PowerShell을 사용하여 Windows Server 장애 조치(failover) 클러스터의 모든 노드(또는 특정 노드)에 대한 로그 파일 만들기 장애 조치(failover) 클러스터 cmdletGet-ClusterLog