SQL Server 다중 서브넷 클러스터링(SQL Server)SQL Server Multi-Subnet Clustering (SQL Server)

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse SQL ServerSQL Server 다중 서브넷 장애 조치(failover) 클러스터는 각 장애 조치(failover) 클러스터 노드가 다른 서브넷 또는 서브넷 집합에 연결된 구성입니다. A SQL ServerSQL Server multi-subnet failover cluster is a configuration where each failover cluster node is connected to a different subnet or different set of subnets. 이러한 서브넷은 같은 위치에 있을 수도 있고 지리적으로 분산된 사이트에 있을 수도 있습니다.These subnets can be in the same location or in geographically dispersed sites. 지리적으로 분산된 사이트의 클러스터링을 늘이기 클러스터라고도 합니다.Clustering across geographically dispersed sites is sometimes referred to as stretch clusters. 모든 노드에서 액세스할 수 있는 공유 저장소가 없기 때문에 여러 서브넷의 데이터 저장소 간에 데이터를 복제해야 합니다.As there is no shared storage that all the nodes can access, data should be replicated between the data storage on the multiple subnets. 데이터 복제에서는 둘 이상의 데이터 복사본을 사용할 수 있습니다.With data replication, there is more than one copy of the data available. 따라서 다중 서브넷 장애 조치(Failover) 클러스터는 고가용성과 함께 재해 복구 솔루션을 제공합니다.Therefore, a multi-subnet failover cluster provides a disaster recovery solution in addition to high availability.

SQL Server 다중 서브넷 장애 조치 클러스터(2노드, 2서브넷)SQL Server Multi-Subnet Failover Cluster (Two-Nodes, Two-Subnets)

다음 그림에서는 SQL Server 2017SQL Server 2017에서 노드와 서브넷이 각각 두 개인 FCI(장애 조치(failover) 클러스터 인스턴스)를 보여 줍니다.The following illustration represents a two node, two subnet failover cluster instance (FCI) in SQL Server 2017SQL Server 2017.

MultiSubnetFailover가 포함된 다중 서브넷 아키텍처Multi-Subnet Architecture with MultiSubnetFailover

다중 서브넷 장애 조치(Failover) 클러스터 인스턴스 구성Multi-Subnet Failover Cluster Instance Configurations

다음은 여러 서브넷을 사용하는 SQL ServerSQL Server FCI의 몇 가지 예입니다.The following are some examples of SQL ServerSQL Server FCIs that use multiple subnets:

  • SQL ServerSQL Server FCI SQLCLUST1에는 Node1과 Node2가 포함됩니다. FCI SQLCLUST1 includes Node1 and Node2. Node1은 Subnet1에 연결되고,Node1 is connected to Subnet1. Node2는 Subnet2에 연결됩니다.Node2 is connected to Subnet2. SQL ServerSQL Server 설치 프로그램에서는 이 구성을 다중 서브넷 클러스터로 인식하여 IP 주소 리소스 종속성을 OR로 설정합니다. Setup sees this configuration as a multi-subnet cluster and sets the IP address resource dependency to OR.

  • SQL ServerSQL Server FCI SQLCLUST1에는 Node1, Node2 및 Node3이 포함됩니다. FCI SQLCLUST1 includes Node1, Node2, and Node3. Node1과 Node2는 Subnet1에 연결되고,Node1 and Node2 are connected to Subnet1. Node3은 Subnet2에 연결됩니다.Node 3 is connected to Subnet2. SQL ServerSQL Server 설치 프로그램에서는 이 구성을 다중 서브넷 클러스터로 인식하여 IP 주소 리소스 종속성을 OR로 설정합니다. Setup sees this configuration as a multi-subnet cluster and sets the IP address resource dependency to OR. Node1과 Node2는 같은 서브넷에 있기 때문에 이 구성은 추가적인 로컬 고가용성을 제공합니다.Because Node1 and Node2 are on the same subnet, this configuration provides additional local high availability.

  • SQL ServerSQL Server FCI SQLCLUST1에는 Node1과 Node2가 포함됩니다. FCI SQLCLUST1 includes Node1 and Node2. Node1은 Subnet1에 있고,Node1 is on Subnet1. Node2는 Subnet1과 Subnet2에 있습니다.Node2 is on Subnet1 and Subnet2. SQL ServerSQL Server 설치 프로그램에서는 이 구성을 다중 서브넷 클러스터로 인식하여 IP 주소 리소스 종속성을 OR로 설정합니다. Setup sees this configuration as a multi-subnet cluster and sets the IP address resource dependency to OR.

  • SQL ServerSQL Server FCI SQLCLUST1에는 Node1과 Node2가 포함됩니다. FCI SQLCLUST1 includes Node1 and Node2. Node1은 Subnet1과 Subnet2에 연결되고,Node1 is connected to Subnet1 and Subnet2. Node2도 Subnet1과 Subnet2에 연결됩니다.Node2 is also connected to Subnet1 and Subnet2. IP 주소 리소스 종속성은 설치 프로그램에서 AND SQL ServerSQL Server 로 설정됩니다.The IP address resource dependency is set to AND by SQL ServerSQL Server Setup.

    참고: 이 구성은 클러스터형 노드가 동일한 서브넷 집합에 있기 때문에 다중 서브넷 장애 조치(Failover) 클러스터 구성으로 간주되지 않습니다.NOTE: This configuration is not considered as a multi-subnet failover cluster configuration because the clustered nodes are on the same set of subnets.

IP 주소 리소스 고려 사항IP Address Resource Considerations

다중 서브넷 장애 조치(Failover) 클러스터 구성에서는 장애 조치(Failover) 클러스터의 일부 노드에서 IP 주소를 소유하지 않으므로 SQL ServerSQL Server 시작 중에 일부 IP 주소가 온라인 상태가 되지 않을 수도 있습니다.In a multi-subnet failover cluster configuration, the IP addresses are not owned by all the nodes in the failover cluster, and may not be all online during SQL ServerSQL Server startup. SQL Server 2012SQL Server 2012부터 IP 주소 리소스 종속성을 OR로 설정할 수 있습니다.Beginning in SQL Server 2012SQL Server 2012, you can set the IP address resource dependency to OR. 이를 통해 바인딩할 수 있는 유효한 IP 주소가 하나 이상 있는 경우 SQL ServerSQL Server 를 온라인 상태로 만들 수 있습니다.This enables SQL ServerSQL Server to be online when there is at least one valid IP address that it can bind to.

참고: SQL ServerSQL Server 이전의 SQL Server 2012SQL Server 2012버전에서는 다중 사이트 클러스터 구성에 V-LAN 늘이기 기술을 사용하여 사이트 간 장애 조치(Failover)에 단일 IP 주소를 제공했습니다.NOTE: In the SQL ServerSQL Server versions earlier than SQL Server 2012SQL Server 2012, a stretch V-LAN technology was used in multi-site cluster configurations to expose a single IP address for failover across sites. 이제 여러 서브넷의 노드를 클러스터링하는 SQL ServerSQL Server 의 새 기능을 사용하면 V-LAN 늘이기 기술을 구현하지 않고도 다중 사이트에서 SQL ServerSQL Server 장애 조치(Failover) 클러스터를 구성할 수 있습니다.With the new capability of SQL ServerSQL Server to cluster nodes across different subnets, you can now configure SQL ServerSQL Server failover clusters across multiple sites without implementing the stretch V-LAN technology.

IP 주소 리소스 OR 종속성 고려 사항IP Address Resource OR Dependency Considerations

IP 주소 리소스 종속성을 OR로 설정한 경우 다음 장애 조치(Failover) 동작을 고려할 수 있습니다.You may want to consider the following failover behavior if you set the IP address resource dependency is set to OR:

  • 현재 SQL ServerSQL Server 클러스터 리소스 그룹을 소유한 노드에서 IP 주소 중 하나에 오류가 발생한 경우 이 노드의 유효한 모든 IP 주소가 실패할 때까지 장애 조치(Failover)가 자동으로 트리거되지 않습니다.When there is a failure of one of the IP addresses on the node that currently owns the SQL ServerSQL Server cluster resource group, a failover is not triggered automatically until all the IP addresses valid on that node fail.

  • 장애 조치(Failover)가 발생하면 현재 노드에서 유효한 IP 주소를 하나 이상 바인딩할 수 있는 경우 SQL ServerSQL Server 가 온라인 상태로 전환됩니다.When a failover occurs, SQL ServerSQL Server will come online if it can bind to at least one IP address that is valid on the current node. 시작 시 SQL ServerSQL Server 에 바인딩되지 않은 IP 주소는 오류 로그에 나열됩니다.The IP addresses that did not bind to SQL ServerSQL Server at startup will be listed in the error log.

SQL ServerSQL Server FCI가 SQL Server 데이터베이스 엔진SQL Server Database Engine의 독립 실행형 인스턴스와 함께 설치되는 경우 IP 주소의 TCP 포트 번호가 충돌하지 않도록 주의합니다.When a SQL ServerSQL Server FCI is installed side-by-side with a standalone instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, take care to avoid TCP port number conflicts on the IP addresses. 일반적으로 충돌은 데이터베이스 엔진Database Engine 의 두 인스턴스가 모두 기본 TCP 포트(1433)를 사용하도록 구성되는 경우 발생합니다.Conflicts usually occur when two instances of the 데이터베이스 엔진Database Engine are both configured to use the default TCP port (1433). 충돌을 방지하려면 한 인스턴스가 기본이 아닌 고정 포트를 사용하도록 구성합니다.To avoid conflicts, configure one instance to use a non-default fixed port. 고정 포트는 일반적으로 독립 실행형 인스턴스에서 더 쉽게 구성할 수 있습니다.Configuring a fixed port is usually easiest on the standalone instance. 데이터베이스 엔진Database Engine 이 다른 포트를 사용하도록 구성하면 SQL ServerSQL Server FCI가 실패하여 대기 노드가 될 때 인스턴스 시작을 차단하는 예기치 않은 IP 주소/TCP 포트 충돌이 방지됩니다.Configuring the 데이터베이스 엔진Database Engine to use different ports will prevent an unexpected IP Address/TCP port conflict that blocks an instance startup when a SQL ServerSQL Server FCI fails to the standby node.

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

기본적으로 다중 서브넷 FCI는 해당 네트워크 이름에 대해 RegisterAllProvidersIP 클러스터 리소스를 사용하도록 설정합니다.A multi-subnet FCI by default enables the RegisterAllProvidersIP cluster resource for its network name. 다중 서브넷 환경에서는 네트워크 이름의 온라인 및 오프라인 IP 주소가 모두 DNS 서버에 등록됩니다.In a multi-subnet configuration, both the online and offline IP addresses of the network name will be registered at the DNS server. 그런 다음 클라이언트 응용 프로그램은 DNS 서버에서 등록된 모든 IP 주소를 검색하여 순서대로 또는 병렬로 주소에 연결하려고 시도합니다.The client application then retrieves all registered IP addresses from the DNS server and attempts to connect to the addresses either in order or in parallel. 즉, 다중 서브넷 장애 조치(failover) 시 클라이언트 복구 시간은 더 이상 DNS 업데이트 대기 시간에 의존하지 않습니다.This means that client recovery time in multi-subnet failovers no longer depend on DNS update latencies. 기본적으로 클라이언트는 순서대로 IP 주소를 시도합니다.By default, the client tries the IP addresses in order. 클라이언트가 연결 문자열에 새로운 선택적인 MultiSubnetFailover=True 매개 변수를 사용할 경우 대신 IP 주소를 동시에 시도하고 처음 응답한 서버에 연결합니다.When the client uses the new optional MultiSubnetFailover=True parameter in its connection string, it will instead try the IP addresses simultaneously and connects to the first server that responds. 그러면 장애 조치(failover)가 발생할 때 클라이언트 복구 대기 시간을 최소화할 수 있습니다.This can help minimize the client recovery latency when failovers occur. 자세한 내용은 Always On 클라이언트 연결(SQL Server)가용성 그룹 수신기 만들기 또는 구성(SQL Server)을 참조하세요.For more information, see Always On Client Connectivity (SQL Server) and Create or Configure an Availability Group Listener (SQL Server).

레거시 클라이언트 라이브러리 또는 타사 데이터 공급자를 사용할 경우 연결 문자열에 MultiSubnetFailover 매개 변수를 사용할 수 없습니다.With legacy client libraries or third party data providers, you cannot use the MultiSubnetFailover parameter in your connection string. 클라이언트 응용 프로그램이 SQL Server 2017SQL Server 2017에서 다중 서브넷 FCI와 최적으로 작동하도록 하기 위해서는 클라이언트 연결 문자열에서 각각의 추가 IP 주소에 대해 연결 제한 시간을 21초로 조정하십시오.To help ensure that your client application works optimally with multi-subnet FCI in SQL Server 2017SQL Server 2017, try to adjust the connection timeout in the client connection string by 21 seconds for each additional IP address. 그러면 다중 서브넷 FCI에서 모든 IP 주소를 시도해보기 전에 클라이언트의 재연결 시도가 시간 초과되지 않습니다.This ensures that the client’s reconnection attempt does not timeout before it is able to cycle through all IP addresses in your multi-subnet FCI.

SQL ServerSQL Server Management Studio 및 sqlcmd 에 대한 기본 클라이언트 연결 제한 시간은 15초입니다.The default client connection time-out period for SQL ServerSQL Server Management Studio and sqlcmd is 15 seconds.

관련 내용Related Content

콘텐츠 설명Content Description 항목Topic
SQL Server 장애 조치(Failover) 클러스터 설치Installing a SQL Server Failover Cluster 새 SQL Server 장애 조치(Failover) 클러스터 만들기(설치)Create a New SQL Server Failover Cluster (Setup)
SQL Server 장애 조치(Failover) 클러스터의 전체 업그레이드In-place upgrade of your existing SQL Server Failover Cluster SQL Server 장애 조치(failover) 클러스터 인스턴스 업그레이드(설치 프로그램)Upgrade a SQL Server Failover Cluster Instance (Setup)
기존 SQL Server 장애 조치(Failover) 클러스터 유지 관리Maintaining your existing SQL Server Failover Cluster SQL Server 장애 조치(failover) 클러스터에서 노드 추가 또는 제거(설치 프로그램)Add or Remove Nodes in a SQL Server Failover Cluster (Setup)
장애 조치(Failover) 클러스터 관리 스냅인을 사용하여 WSFC 이벤트 및 로그 보기Use the Failover Cluster Management snap-in to view WSFC events and logs 장애 조치(Failover) 클러스터에 대한 이벤트 및 로그 보기View Events and Logs for a Failover Cluster
Windows PowerShell을 사용하여 WSFC 장애 조치(Failover) 클러스터에 모든 노드나 특정 노드에 대한 로그 파일 만들기Use Windows PowerShell to create a log file for all nodes (or a specific a node) in a WSFC failover cluster Get-ClusterLog 장애 조치(Failover) 클러스터 CmdletGet-ClusterLog Failover Cluster Cmdlet