이 연재의 1 부에서는 노드 및 파일 공유 과반수 쿼럼 설정을 포함하여 다중 사이트 클러스터를 준비하는 방법을 설명했습니다. 2 부에서는 사용 가능한 클러스터 복제 솔루션 중 하나 인 SteelEye DataKeeper를 장애 조치 클러스터링과 통합하여 다중 사이트 Hyper-V 장애 조치 (failover) 클러스터를 구성하는 방법에 대한 비디오 예제를 보았습니다. 3 부에서는 Windows Server 2008 장애 조치 (Failover) 클러스터링 및 SteelEye DataKeeper Cluster Edition을 사용하여 다중 사이트 클러스터에서 Microsoft SQL Server 2008을 구성하는 방법을 살펴 봅니다.
먼저 다중 사이트 SQL 서버 클러스터를 배포하려는 이유는 무엇입니까? SQL Server에는 로그 전달, 복제 (트랜잭션, 병합, 스냅 샷), 데이터베이스 미러링 및 장애 조치 클러스터를 비롯한 다양한 고 가용성 옵션이 있습니다. SQL Server 2008의 고 가용성 옵션에 대해 언급 한 훌륭한 기사가 있으므로 여기서 휠을 다시 발명하지는 않겠습니다. 모든 옵션에 대해 자세히 알고 싶으면 SQL Server 2008의 고 가용성 옵션 인 Ross Mistry의이 기사를 살펴보십시오.
이 기사를 읽으면 Ross의 요약문이 다음과 같은 성명을 발표합니다 …
"사이트 내에서 전체 SQL Server 인스턴스에 대해 시스템 중단 시간을 줄이고 높은 응용 프로그램 가용성을 제공하려면 장애 조치 클러스터링이 가장 좋습니다. 그러나 장애 조치 (failover) 클러스터는 디스크 장애를 보호하지 않으며 SAN을 필요로합니다. "
Ross가 설명하는 모든 이점을 누릴 수 있고 디스크 장애로부터 보호하고 SAN에 대한 필요성을 제거한다면 어떻게 될까요? 글쎄요, 좋은 소식은 Windows Server 2008에 Microsoft SQL Server 2008 다중 사이트 클러스터를 구현하여 수행 할 수있는 작업이라는 것입니다. SQL Server 2008 다중 사이트 클러스터는 약간의 잘못된 이름 일 수 있습니다. 지리적으로 분산 된 위치에 배포 할 필요는 없습니다. 서버는 동일한 랙, 같은 방, 동일한 건물 또는 대륙에 위치 할 수 있습니다. 그것은 정말로 중요하지 않습니다. 중요한 점은 단일 실패 지점으로 스토리지를 제거하고 다른 물리적 위치에 클러스터 노드를 배치하도록 선택한 경우에도 사이트 복구 기능이 내장되어 있다는 것입니다.
SQL Server 2008 및 Windows Server 2008 장애 조치 (failover) 클러스터링에 대한 가장 일반적인 질문과 혼란 점 중 하나는 서브넷을 통과하지 못하는 문제를 지원하는 것입니다. 예, Windows Server 2008 장애 조치 (Failover) 클러스터링은 대부분의 응용 프로그램에서 서브넷 간 장애를 지원하지만 SQL Server 2008은 이러한 응용 프로그램 중 하나가 아닙니다. 내가 아는 한, SQL Server 2008 R2는 서브넷 간 릴리스 실패를 지원하지 않습니다. SQL 팀이 교차 서브넷 장애 조치 (cross-subnet failover)에 대한 지원을 위해 노력하고 있지만 SQL Server 2008 R2가 출시 된 후 언젠가는 지원 될 것이라는 점을 이해합니다. 따라서 당분간은 노드를 지리적으로 분리하려는 경우 서브넷을 확장해야합니다.
다중 노드 SQL 서버 클러스터를 배포하기로 결정 했으므로 다음 단계를 따라야합니다.
기본 클러스터 구성
노드 및 파일 공유 과반수 쿼럼을 사용하여 기본 2- 노드 클러스터를 구성하려면이 시리즈의 1 번 단계를 따르십시오.
복제를 구성하십시오.
다중 사이트 클러스터를 배포하려면이 구성 단계에서 복제 공급 업체와 긴밀히 협력해야합니다. 각 공급 업체는 복제를 설정하고 클러스터에서 사용할 저장 영역 자원을 작성하는 방법에 대한 매우 구체적인 지시 사항을 갖습니다. 이 데모에서는 SteelEye DataKeeper Cluster Edition을 사용하여 PRIMARY라는 서버에서 SECONDARY라는 서버로 E 드라이브를 복제합니다. PRIMARY 및 SECONDARY의 E 드라이브는 로컬 연결 볼륨이며 SAN의 일부가 아닙니다. E 드라이브가 로컬 연결 디스크로 나타나면 DataKeeper는 한 서버에서 다른 서버로 데이터를 복제 할 수 있습니다. DataKeeper는 스토리지에 무관 한 SAS, iSCSI, SAN, VHD 또는 기타 스토리지 유형을 혼합하여 사용할 수 있습니다.
제 1 부에서 설명한대로 기본 클러스터를 구성한 후에는 DataKeeper setup.exe를 실행하여 클러스터의 두 노드에 SteelEye DataKeeper Cluster Edition을 설치하십시오. 설치가 끝나면 라이센스 키를 입력하라는 메시지가 나타납니다. 라이센스를 입력하고 프롬프트가 표시되면 서버를 재부팅하십시오. 이제 거울을 만들 준비가되었습니다. DataKeeper GUI를 시작하고 아래 지침에 따라 미러를 만듭니다.
"서버에 연결"을 클릭하십시오.
![그림 1 - 소스 및 대상 서버에 연결](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc1.jpg?w=660)
첫 번째 서버의 이름을 입력하십시오. 연결을 클릭하십시오.
두 번째 서버의 이름을 입력하고 연결을 클릭하십시오.
이제 Create Job을 클릭하십시오. 작업 생성 마법사가 시작됩니다.
![그림 2 - 직업 만들기](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc6.jpg?w=660)
귀하의 직업에 이름과 설명을주십시오. 이것들은 당신이 좋아하는 어떤 것도 될 수 있습니다.
![그림 3 - 직업에 이름과 설명 제공](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc7.jpg?w=660)
다음을 선택하십시오.
- 원본 서버 – 데이터가 복제 될 위치
- 네트워크 어댑터 – 복제 트래픽이 이동하는 네트워크
- 볼륨 – 복제 할 볼륨
다음을 클릭하여 계속하십시오.
![그림 4 - 복제에 사용할 소스 서버 및 네트워크 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc8.jpg?w=660)
다음을 선택하십시오.
- 대상 서버 – 데이터가 복제 될 위치
- 네트워크 어댑터 – 복제 트래픽이 이동하는 네트워크
- 볼륨 – 복제 할 볼륨
다음을 클릭하여 계속하십시오.
![그림 5 - 대상 서버 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc9.jpg?w=660)
다음을 선택하십시오.
- 압축 수준 – 복제 네트워크가 100Mbps 이상인 경우에는 none으로 설정하십시오. 100Mbps보다 적은 WAN을 사용하는 경우 압축을 사용하면 도움이 될 수 있습니다. 중간에있는 설정은 최상의 압축 성능을 제공합니다. 압축을 가능하게하는 것과 관련된 CPU 오버 헤드.
- 비동기 vs. 동기식 – 비동기식 복제는 일반적으로 대부분의 환경에서 수용 가능하며 대기 시간이 긴 WAN 환경에서 반드시 필요합니다. 이 주제에 대한 전체 블로그 게시물을 작성 했으니 궁금한 점이 있으면 비동기 대 내 기사를 확인하십시오. 동기 복제.
- 최대 대역폭 – 당신은 "가난한 사람의"QOS라고 생각할 수 있습니다. 복제가 WAN 용량의 특정 임계 값을 결코 넘지 않도록하려는 경우 소비 할 수있는 대역폭의 양에 제한기를 적용 할 수 있습니다. 설정해야 할 좋은 이유가 없다면 0으로 설정하는 것이 좋습니다.
완료를 클릭하여 미러를 만듭니다.
![그림 6 - 미러 설정 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc10.jpg?w=660)
이제 DataKeeper GUI를 살펴보면 다음과 비슷하게 보입니다.
![그림 7 - 미러가 생성되었습니다.](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc11.jpg?w=660)
미러를 작성한 후에는 Microsoft Cluster "사용 가능한 스토리지"에서 미러를 사용할 수 있도록해야합니다. 이렇게하는 방법은 몇 가지가 있지만 가장 직접적인 방법은 Windows PowerShell CLI를 사용하는 것입니다. 다음은 E 드라이브에서 방금 생성 한 기존 미러를 "사용 가능한 스토리지"클러스터에 추가하는 방법을 보여주는 예제입니다. PRELIST 노드를 PRIMARY 노드로 이동하여 In-Service로 가져옵니다
가져 오기 모듈 장애 조치 클러스터
Add-ClusterResource -Name "DataKeeper 볼륨 E"-ResourceType "DataKeeper 볼륨"- 그룹 "사용 가능한 저장소"
Get-ClusterResource "DataKeeper Volume E"| Set-ClusterParameter VolumeLetter E
Move-ClusterGroup "사용 가능한 저장소"- 노드 기본
Start-ClusterResource "DataKeeper Volume E"
PowerShell 및 장애 조치 (Failover) 클러스터링에 사용할 수있는 명령에 대한 자세한 내용은 Microsoft 장애 조치 (Failover) 클러스터링 팀의 Symon Perriman의 훌륭한 블로그 게시물을 참조하십시오.
http://blogs.msdn.com/clustering/archive/2008/12/20/9243367.aspx
이제 클러스터에서 사용할 추가 미러를 추가하려면 위의 단계를 반복하십시오. 이 경우 F 드라이브의 미러를 만들어 MSDTC를 클러스터링합니다. 추가 미러를 추가하고 Available Storage에 추가 한 후에는 DataKeeper GUI가 다음과 같이 표시됩니다.
![그림 8 - MSDTC 자원에 대한 두 번째 작업을 추가 한 후](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc12.jpg?w=660)
그리고 장애 조치 클러스터 관리자 GUI는 다음과 같아야합니다.
![그림 9 - 두 번째 DataKeeper 자원을 추가 한 후](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc13.jpg?w=660)
MSDTC 클러스터링
중요 참고 – 타사 디스크 리소스로 DTC를 지원하는 데 필요한 핫픽스가 있습니다. 다음 기술 자료 문서를 참조하고 모든 클러스터 노드에 howfix를 적용하십시오. http://support.microsoft.com/kb/978476
SQL 2008은 MSDTC에 크게 의존하므로 SQL 리소스를 클러스터하기 전에 MSDTC 리소스를 클러스터하는 것이 좋습니다. 다음 문서는 MSDTC 리소스의 구성 및 관리에 대한 참조 용으로 제공됩니다.
http://technet.microsoft.com/en-us/library/cc770748(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc771540(WS.10).aspx
장애 조치 (failover) 클러스터 관리자 GUI를 열고 "서비스 또는 응용 프로그램 구성"을 선택하여 시작할 것입니다.
![그림 10 - MSDTC 리소스 만들기](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc14.jpg?w=660)
그런 다음 "Distributed Transaction Coordinator"를 선택하고 다음을 클릭하십시오.
![그림 11 - 서비스 또는 응용 프로그램 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc15.jpg?w=660)
MSDTC 리소스에 이름과 고유 한 IP 주소를 지정하십시오. 이들은 MSDTC에 고유해야하며 나중에 SQL 리소스를 만들 때 사용하는 것과 동일하지 않아야합니다.
![그림 12 - 이름 및 IP 주소 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc16.jpg?w=660)
MSDTC 리소스에 대한 데이터를 저장할 볼륨을 선택하십시오. 이 경우에는 복제 된 F 드라이브를 선택합니다.
![그림 13 - MSDTC 리소스를위한 전용 볼륨 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc17.jpg?w=660)
정보를 확인하고 다음을 클릭하여 계속하십시오.
![그림 14 - DTC 리소스를 구성하려면 다음을 클릭하십시오.](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc18.jpg?w=660)
축하합니다. DTC 리소스가 성공적으로 구성되었습니다. 마침을 클릭하십시오.
![그림 15 - 성공적으로 구성된 DTC 리소스](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc19.jpg?w=660)
SQL Server 클러스터의 첫 번째 노드 설치를 시작할 준비가되었습니다. 그러나 SQL Server 2008 RTM 설치 미디어에 Stream SQL 2008 SP1을 설치하기 전에해야 할 일이 있습니다.
SLIP STREAM SQL SP1을 SQL 2008 설치 미디어에 설치
내가 발견 한 사실은 SQL Server 2008을 SQL Server 2008 설치 미디어에 SQL Server 2008 SP1을 처음으로 슬립 스트림하지 않으면 SQL Server 2008이 Windows Server 2008 R2에 설치되지 않는다는 것입니다. 다음은 SQL Server 2008 RTM 및 서비스 팩 1을 통합 설치하는 방법을 설명하는 훌륭한 기사입니다. 이 기사를 읽고 SP1을 SQL 2008 RTM으로 성공적으로 적용한 후 동일한 절차를 설명하는 다음 Microsoft KB 문서를 발견했습니다. 첫 번째 SP1을 미디어에 설치하지 않고 SQL을 설치하려고하면 다음과 같은 오류가 발생할 수 있습니다.
개인 속성 'RequireKerberos'를 '1'값으로 설정하는 중 오류가 발생했습니다.
첫 번째 기사에 설명 된 지침을 따르고 클러스터에있는 두 노드의 C : 드라이브에 설치된 SQL Server 2008 SP1을 복사했습니다. 아래 지침에서 각 클러스터 노드의 로컬 디스크에서 설치를 수행합니다.
첫 번째 클러스터 노드 설치
이제 SQL Server 2008 SP1 설치 미디어를 준비 했으므로 첫 번째 SQL 노드를 설치할 준비가되었습니다. 다중 노드 클러스터에 SQL을 설치할 때 중요한 점이 하나 있습니다. 다중 노드 클러스터에 SQL을 설치하려면 먼저 Windows Server 2008 장애 조치 (Failover) 클러스터 유효성 검사 프로세스를 통과해야합니다. 불행히도 멀티 사이트 클러스터는 스토리지 관련 테스트를 통과하지 못하기 때문에 SQL과 관련하여 실제로 유효성 검사를 "통과"할 수는 없습니다. 내 부분에 대해서는 약간의 조사가 있었지만 SQL 2008 설치에 대한 유효성 검사 테스트를 건너 뛸 수있는 명령 줄 매개 변수가 있다는 것을 알게되었습니다. 다음은 명령 행입니다.
설치 / SkipRules = Cluster_VerifyForErrors / Action = InstallFailoverCluster
SQL 설치 프로그램을 시작하려면 명령 창을 열고 SQL 2008 SP1 설치 디렉터리로 이동 한 후 아래 표시된대로 명령을 입력하십시오.
모든 것이 계획대로 진행되면 아래 화면이 나타납니다. 계속하려면 확인을 클릭하십시오.
제품 키를 입력하고 다음을 클릭하십시오.
![그림 17 - 제품 키 입력](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc23.jpg?w=660)
사용권 계약에 동의하고 다음을 클릭하십시오.
설치를 클릭하여 설치 지원 파일을 설치합니다.
지원 파일 설치가 끝나면 경고 메시지가 나타납니다. 세부 정보 표시를 클릭하면 아래 메시지가 표시됩니다. 다중 사이트 또는 비공유 스토리지 클러스터에서 예상되므로이 메시지를 무시하고 다음을 클릭 할 수 있습니다.
![그림 18 - 다중 사이트 또는 비공유 스토리지 클러스터에서 경고가 예상됩니다.](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc26.jpg?w=660)
설치할 기능을 선택하고 다음을 클릭하십시오. 복제 된 볼륨에 SQL 바이너리를 설치하지 말고 "Shared Feature"디렉토리를 C 드라이브로 그대로 둡니다.
![그림 19 - 기능 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc27.jpg?w=660)
다음 화면에서 SQL Server의 네트워크 이름을 선택합니다. 이것은 모든 클라이언트가 연결할 이름입니다. 이 인스턴스가 기본 인스턴스라고 가정하면 인스턴스 ID 및 인스턴스 루트 디렉토리를 기본값으로 설정하십시오. 인스턴스 루트 디렉토리를 복제 된 볼륨으로 이동하지 마십시오.
![그림 20 - SQL 네트워크 이름 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc28.jpg?w=660)
SQLServer 및 SQLAgent에 대해 별도의 도메인 계정을 갖는 것이 좋습니다. 이러한 계정을 아직 만들지 않았다면 지금 만들 수 있습니다. 이 설치 프로세스는 필요한 권한을 제공하기 때문에 이러한 계정에는 특별한 권한이 필요하지 않습니다.
디스크 공간이 충분한 지 확인하고 계속하려면 다음을 클릭하십시오.
"SQL Server (MSSQLSERVER)"라는 새 클러스터 리소스 그룹을 만들 수 있도록 기본 설정을 선택하십시오.
![그림 21 - 마법사가 새 클러스터 리소스 그룹을 만들 수 있도록 허용](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc31.jpg?w=660)
현재 사용할 수있는 복제 된 볼륨을 선택하십시오 (이 경우 E : 드라이브). 다음을 클릭하여 계속하십시오.
![그림 22 - 복제 된 볼륨 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc32.jpg?w=660)
이제 SQL 클러스터 리소스와 연결할 IP 주소를 선택합니다. 원하는 경우 DHCP를 사용하도록 설정할 수 있습니다.
![그림 23 - SQL 클러스터 IP 주소 선택](https://clusteringformeremortals.files.wordpress.com/2009/10/100709_2119_stepbystepc33.jpg?w=660)
보안 설정을 선택하고 다음을 클릭하십시오.
SQL Server 관리자를 추가하고 인증 모드를 선택한 후 다음을 클릭하십시오.
오류 및 사용보고 옵션을 선택하고 다음을 클릭하십시오.
유효성 검사 프로세스와 관련된 경고가 다시 한 번 나타납니다. 이러한 메시지는 다중 사이트 SQL Server 클러스터에서 예상되는대로 무시할 수 있습니다.
설치를 클릭하여 설치 프로세스를 시작하십시오.
모든 것이 예상대로 설치되면 다음 화면이 표시됩니다. 다음을 클릭하고 닫기를 클릭하여 설치를 완료하십시오.
축하합니다. 다중 사이트 SQL Server 클러스터의 첫 번째 노드를 성공적으로 설치했습니다. 이제 우리는 클러스터의 두 번째 노드를 설치합니다.
두 번째 클러스터 노드 설치
두 번째 클러스터 노드 설치는 첫 번째 노드 설치와 유사합니다. 유효성 검사 프로세스를 건너 뛸 수 있도록 명령 줄에서 SQL 설치 프로그램을 다시 한 번 실행해야합니다. 따라서 두 번째 노드에서 명령 프롬프트를 열고 다음 명령을 실행하십시오.
-
다음 명령을 사용하여 두 번째 노드에 SQL 2008 SP1 (병합 된 설치)을 설치하십시오.
설치 / SkipRules = Cluster_VerifyForErrors / 작업 = AddNode / INSTANCENAME = "MSSQLSERVER"
* 참고 : 첫 번째 노드에 기본 인스턴스를 설치했다고 가정합니다.
다음과 같이 설치 마법사가 시작됩니다. 계속하려면 확인을 클릭하십시오.
제품 키를 입력하고 다음을 클릭하십시오.
라이센스 조항에 동의하고 다음을 클릭하십시오.
설치 지원 파일을 설치하려면 설치를 클릭하십시오.
일부 클러스터 유효성 검사 테스트를 건너 뛰었다는 경고를 다시 무시할 수 있습니다. 이는 다중 사이트 클러스터 및 비공유 스토리지 클러스터에서 예상됩니다.
올바른 인스턴스에 노드를 추가하는지 확인하고 다음을 클릭하십시오.
서비스 계정에 암호를 추가하고 다음을 클릭하십시오.
오류 및 사용보고 옵션을 선택하고 다음을 클릭하십시오.
다시 한 번 건너 뛴 작업에 대한 경고는 무시하십시오.
설치 프로세스를 시작하려면 설치를 클릭하십시오.
모든 것이 예상대로 진행되면 다음 화면이 표시됩니다.
이제 완전히 기능을하는 두 개의 노드 클러스터가 생겼으므로 수동 스위치 오버를 수행하여 테스트해야합니다. 리소스를 마우스 오른쪽 버튼으로 클릭하고 "노드로 이동 SECONDARY"를 선택하십시오.
모든 것이 올바르게 구성되면 장애 조치 (Failover) 클러스터 GUI는 다음과 같이 보입니다.
결론
복제 된 저장소가있는 SQL 클러스터는 많은 의미를 갖습니다. 스토리지는 항상 기존 클러스터의 단일 실패 지점이었습니다. SteelEye 또는 다른 Microsoft Multi-Site Cluster 복제 파트너의 복제 된 저장소가있는 SQL Server 클러스터를 배포하여 단일 장애 지점을 제거 할 수 있습니다. 이 기사가 유익하다고 생각하길 바랍니다. 질문이나 제안이 있으시면 의견을 남겨주세요!
https://clusteringformeremortals.com/2009/10/07/step-by-step-configuring-a-2-node-multi-site-cluster-on-windows-server-2008-r2-%E2의 허락을 얻어 재현했습니다. % 80 % 93- 부분 -3 /