SQL Server 다중 서브넷 장애 조치(failover) 클러스터는 각 장애 조치(failover) 클러스터 노드가 다른 서브넷 또는 다른 서브넷 집합에 연결된 구성입니다. 이러한 서브넷은 동일한 위치 또는 지리적으로 분산된 사이트에 있을 수 있습니다. 지리적으로 분산된 사이트 간 클러스터링을 스트레치 클러스터라고도 합니다. 모든 노드에서 액세스할 수 있는 공유 스토리지가 없으므로 여러 서브넷의 데이터 스토리지 간에 데이터를 복제해야 합니다. 데이터 복제를 사용하면 사용할 수 있는 데이터의 복사본이 두 개 이상 있습니다. 따라서 다중 서브넷 장애 조치(failover) 클러스터는 고가용성 외에도 재해 복구 솔루션을 제공합니다.
SQL Server 다중 서브넷 장애 조치 클러스터(2노드, Two-Subnets)
다음 그림은 SQL Server 2014에서 두 개의 노드, 두 개의 서브넷 FCI(장애 조치(failover) 클러스터 인스턴스)를 나타냅니다.
다중 서브넷 장애 조치(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) 클러스터 구성에서 IP 주소는 장애 조치(failover) 클러스터의 모든 노드가 소유하지 않고 SQL Server 시작 시 모든 IP 주소가 활성화되어 있지 않을 수 있습니다. SQL Server 2012부터 IP 주소 리소스 종속성을 OR로 설정할 수 있습니다. 이렇게 하면 바인딩할 수 있는 유효한 IP 주소가 하나 이상 있는 경우 SQL Server가 온라인 상태가 될 수 있습니다.
비고
SQL Server 2012 이전 버전의 SQL Server에서는 다중 사이트 클러스터 구성에서 스트레치 V-LAN 기술을 사용하여 사이트 간 장애 조치(failover)를 위한 단일 IP 주소를 노출했습니다. 여러 서브넷에서 노드를 클러스터하는 SQL Server의 새로운 기능을 사용하면 이제 스트레치 V-LAN 기술을 구현하지 않고도 여러 사이트에서 SQL Server 장애 조치(failover) 클러스터를 구성할 수 있습니다.
IP 주소 리소스 또는 종속성 고려 사항
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)가 발생할 때 클라이언트 복구 대기 시간을 최소화할 수 있습니다. 자세한 내용은 AlwaysOn 클라이언트 연결(SQL Server) 및 가용성 그룹 수신기 만들기 또는 구성(SQL Server)을 참조하세요.
레거시 클라이언트 라이브러리 또는 타사 데이터 공급자를 사용하면 연결 문자열에서 매개 변수를 MultiSubnetFailover 사용할 수 없습니다. 클라이언트 애플리케이션이 SQL Server 2014의 다중 서브넷 FCI에서 최적으로 작동하도록 하려면 클라이언트 연결 문자열의 연결 시간 제한을 각 추가 IP 주소에 대해 21초씩 조정합니다. 이렇게 하면 클라이언트가 다중 서브넷 FCI의 모든 IP 주소를 순차적으로 시도하기 전에 다시 연결하려는 시도가 시간 초과되지 않도록 보장합니다.
SQL Server Management Studio 및 sqlcmd 의 기본 클라이언트 연결 제한 시간은 15초입니다.
관련 내용
| 콘텐츠 설명 | 주제 |
|---|---|
| SQL Server 장애 조치(Failover) 클러스터 설치 | 새 SQL Server 장애 조치 클러스터 만들기(설치) |
| SQL Server 장애 조치(Failover) 클러스터의 전체 업그레이드 | SQL Server 장애 조치 클러스터 인스턴스 업그레이드(설정) |
| 기존 SQL Server 장애 조치(Failover) 클러스터 유지 관리 | SQL Server 장애 조치(Failover) 클러스터에서 노드 추가 또는 제거(설치) |
| Windows 장애 조치 클러스터링 | Microsoft Windows 다중 사이트 장애 조치 클러스터 모범 사례 |
| 장애 조치 클러스터 관리 스냅인을 사용하여 WSFC 이벤트 및 로그를 확인하세요. | 장애 조치 클러스터의 이벤트 및 로그 보기 |
| Windows PowerShell을 사용하여 WSFC 장애 조치(failover) 클러스터의 모든 노드(또는 특정 노드)에 대한 로그 파일 만들기 | Get-ClusterLog 장애 조치 클러스터 Cmdlet |