SQL Server 이야기

Windows Server 2008에 SQL Server 2008 클러스터를 설치하는 방법

늘푸르른나 2010. 3. 25. 18:32

본 문서는 2대의 Windows Server 2008 머신이 클러스터로 구성되어 있는 상태에서 SQL Server 2008 클러스터를 설치하는 방법에 대해서 단계별로 설명합니다. 따라서, Windows Server 2008 클러스터 구성 방법에 대해서는 별도로 설명하지 않습니다.

 

Windows Server 2008 클러스터 구성 과정에서 '클러스터 구성 유효성 검사'를 하게 되는데 이 검사 결과에 하나의 오류라도 포함되어 있으면 SQL Server 2008 클러스터 설치 과정에 '설치 지원 규칙 검사' 단계에서 이 오류로 인해 다음 단계로 진행할 수 없게 됩니다. 따라서, SQL Server 2008 클러스터 설치 작업 전에 반드시 Widnows Server 2008 클러스터 구성 상의 문제점을 해결하여 '클러스터 구성 유효성 검사' 결과에 오류가 없도록 해야 합니다.

 

Windows Server 2008 R2에 SQL Server 2008 클러스터 설치 작업을 진행할 경우에는 다음과 같은 오류가 발생하면서 실패하게 됩니다. 이런 문제를 해결하려면 SQL Server 2008 Service Pack 1을 설치 DVD의 내용과 통합하여 함께 설치하는 방법(Slipstream Setup이라고 함)을 사용해야 합니다(자세한 방법은 블로그 

http://blog.daum.net/partsofmemory/32의 내용을 참고하기 바랍니다). 

리소스 'SQL Network Name (VSQL)'에 대한 개인 속성 'RequireKerberos'을(를) 값 '1'(으)로 설정하는 동안 오류가 발생했습니다. 오류: 값이 예상 범위를 벗어났습니다.

 

SQL Server 2008부터는 클러스터 설치시 SQL Server 2000이나 SQL Server 2005처럼 원격설치(Remote Setup)가 지원되지 않습니다. 따라서, 클러스터에 참여하는 노드별로 각각 설치 작업을 별도로 진행해 줘야만 합니다. Setup 프로그램을 실행한 다음 'SQL Server 설치 센터' 화면에서 클러스터의 첫 번째 노드는 'SQL Server 장애 조치(Failover) 클러스터 새로 설치'를, 두 번째 노드부터는 'SQL Server 장애 조치(Failover) 클러스터에 노드 추가'를 선택하여 설치 작업을 진행하게 됩니다.

 

[첫 번째 노드 설치]

1. SQL Server 2008 설치를 위해서는 .NET Framework 3.5와 Windows Installer 4.5가 먼저 설치되어 있어야 합니다. 먼저, 설치 DVD의 x86\redist\DotNetFrameworks\dotNetFx35setup.exe를 실행하여 .NET Framework 3.5 설치 프로그램을 실행합니다. 다음의 화면에서 '동의함(A)'를 선택하고 '설치(I)'를 클릭합니다. 

 

2. 다운로드 및 설치 진행률을 보여주는 화면이 나타나는데 .NET Framework 3.5 SP1 파일이 설치 DVD에 이미 들어 있으므로 인터넷으로부터 다운로드가 발생하지는 않습니다(즉, 인터넷 연결이 필요하지 않습니다).

 

3. .NET Framework 3.5 SP1 설치가 완료되면 '끝내기(X)'를 클릭합니다.

 

4. .NET Framework과 Windows Installer 설치 작업은 모두 시스템의 리부팅이 필요한 작업입니다. .NET Framework 3.5 SP1 설치 작업 완료후 다음과 같은 화면이 나타나는데 리부팅을 두 번 하는 불편함을 피하기 위해 '나중에 다시 시작(L)'을 클릭하여 작업을 마칩니다.

 

5. 설치 DVD에서 x86\redist\Windows Installer\x86\INSTMSI45.msu를 실행하여 Windows Installer 4.5 설치 프로그램을 실행합니다. 다음의 화면에서 '확인'을 클릭합니다.

 

6. 설치 진행률을 보여주는 다음의 화면과 함께 설치가 진행됩니다. 

 

7. 설치가 완료되면 다음의 화면에서 '지금 다시 시작'을 클릭하여 시스템을 리부팅합니다. 

 

8. 시스템 리부팅후 setup.exe를 실행합니다. 다음의 화면에서 'SQL Server 장애 조치(Failover) 클러스터 새로 설치'를 클릭합니다.

 

9. 설치 작업을 계속하기 위해 필요한 시스템 규칙에 대한 점검 결과가 다음과 같이 표시됩니다. 만약 실패하는 항목이 있다면 해당 문제점에 대해 필요한 조치를 우선 취한 다음 설치 작업을 다시 진행해야 합니다. 실패 항목이 없다면 '확인'을 클릭하여 다음으로 진행합니다.   

 

10. 다음의 화면에서 제품 구매시 제공된 제품 키(Product Key)를 입력합니다. 참고적으로, SQL Server 2008은 Enterprise Edition, Standard Edition 등이 별도의 설치 미디어로 제공되지 않고 하나의 설치 미디어에 통합되어 있으며 제품 키에 따라서 Edition이 결정되어 설치됩니다.

 

11. 소프트웨어 사용권 계약서에 대해 '동의함(A)'을 체크하고 '다음(N)'을 클릭합니다. 

 

12. 다음의 화면에서 '설치(I)'를 클릭하여 설치 지원 파일을 설치합니다.

 

13. 클러스터 설치에 필요한 규칙들에 대한 점검이 진행되고 그 결과가 다음의 화면에 표시됩니다. 서두에서 언급했던 것처럼 Windows Server 2008의 클러스터 구성시 '클러스터 구성 유효성 검사' 결과에 오류가 포함되어 있다면 다음의 화면에서 'MSCS(Microsoft Cluster Service) 클러스터 확인 오류' 항목이 실패로 나타나며 더 이상의 설치 작업을 진행할 수 없게 됩니다. 다음의 화면에서 주목할 것은 MSDTC가 클러스터의 리소스로 등록되어 있지 않아도 SQL Server 2008의 클러스터 설치 작업에는 영향을 주지 않는다는 것입니다. MSDTC는 SQL Server 2008 클러스터 설치 작업을 완료한 다음에 클러스터 리소스로 등록해 주면 됩니다. 다음의 화면에서 '실패'로 나타나는 항목이 없으면 '다음(N)'을 클릭하여 다음 단계로 진행합니다.

 

14. 다음의 기능 선택 화면에서 설치할 기능들을 선택합니다. 일반적으로 다음의 화면처럼 '데이터베이스 엔진 서비스'와 그 하위 기능인 'SQL Server 복제'와 '전체 텍스트 검색'을 선택하고 '공유 기능' 전체를 선택합니다.

 

15. 인스턴스 구성 화면에서 SQL Server의 가상 이름을 'SQL Server 네트워크 이름(W)' 항목에 지정합니다. 이 이름은 클라이언트에서 SQL Server에 접속할 때 사용하는 이름입니다(클러스터 환경에서는 머신 이름을 사용하여 접속하지 않음). 인스턴스 ID는 명명된 인스턴스(Named Instance)의 인스턴스명에 해당하는 것으로 '기본 인스턴스'의 경우에는 MSSQLSERVER가 됩니다. SQL Server 2008에서는 인스턴스 ID가 폴더명에 사용되게 됩니다(예를 들어, MSSQL10.MSSQLSERVER 처럼). 이는 SQL Server 2005에서 폴더명 생성시 MSSQL.1, MSSQL.2와 같이 일련 번호를 붙여서 생성함으로써 발생했던 문제점(어떤 SQL Server 인스턴스에 대한 폴더인지 확인하기 어려운 문제)을 해결하기 위한 것입니다.

 

16. 설치에 필요한 디스크 공간 정보를 확인하고 '다음(N)'을 클릭합니다.

 

17. 다음의 화면에서 SQL Server 클러스터 리소스가 생성될 그룹 이름을 지정합니다. Windows Server 2008 클러스터 구성후 SQL Server용 그룹을 먼저 생성해 둔 것이 있다면 해당 그룹을 선택하고 그렇지 않다면

디폴트로 지정된 'SQL Server (MSSQLSERVER)'를 그대로 사용합니다. 

 

18. 다음의 화면에서 SQL Server에서 사용할 공유 디스크를 선택합니다.

 

19. 다음의 화면에서 SQL Server 가상 이름에 매핑되어 사용할 IP Address 정보를 입력합니다. 다음의 화면에서 SQL Server 2008에서는 DHCP에 의해서 얻게 되는 동적 IP Address도 지원함을 알 수 있습니다. 아래의 예에서는 DHCP는 사용하지 않고 IPv4 Address만을 사용하도록 설정하였음을 볼 수 있습니다.

 

20. Windows Server 2008에 SQL Server 2008 클러스터를 설치할 때에는 SQL Server의 서비스 계정과 SQL Server Agent의 서비스 계정에 대해 필요한 권한을 부여하기 위해 도메인 컨트롤러에 도메인 그룹을 먼저 생성하고 다음의 화면에서 도메인 그룹을 지정해 줄 수 있는 방법(SQL2005에서 사용하던 방식)과 '서비스 SID'를 사용하는 방법 중에 하나를 선택할 수 있습니다. '서비스 SID'를 사용하는 방법은 Windows Server 2008에서만 지원되는 것으로 서비스 자체에 대해 필요한 권한을 부여하기 때문에 서비스 계정에 별도의 권한을 부여할 필요가 없으며 이로 인해 도메인 컨트롤러에 도메인 그룹을 생성해 주는 작업을 할 필요도 없습니다. 그리고 서비스 계정 변경시 발생할 수 있는 문제를 예방할 수도 있습니다. 따라서, Windows Server 2008이라면 '서비스 SID'를 사용하는 것이 좋습니다. 다음의 화면에서 '서비스 SID 사용(권장)'을 선택하고 '다음(N)'을 클릭합니다.

 

21. 서버 구성 화면에서 SQL Server 에이전트와 SQL Server Database Engine에서 사용할 서비스 계정과 암호를 입력합니다. 서비스 계정은 도메인 계정이어야 하며 이미 존재하는 계정을 사용해야 합니다. 서비스 계정으로 지정하는 도메인 계정은 Administrators 그룹의 구성원일 필요는 없습니다. 나머지 서비스들에 대해서는 기본으로 지정된 시스템 계정을 그대로 사용하면 됩니다. 

 

22. 서버 구성 화면에서 '데이터 정렬' 탭을 선택하면 다음과 같이 SQL Server에서 사용할 Collation을 지정할 수 있는데 특별히 바꿀 필요가 없는 경우에는 기본 설정값인 Korean_Wansung_CI_AS를 그대로 사용하면 됩니다. Collation 확인까지 완료되면 '다음(N)'을 클릭하여 다음 단계로 진행합니다.

 

23. 다음의 데이터베이스 엔진 구성 화면에서 데이터베이스 엔진의 인증 모드를 설정합니다. 일반적으로 SQL Server 인증 방식과 Windows 인증 방식을 함께 사용하므로 '혼합 모드(SQL Server 인증 및 Windows 인증)(M)'을 선택합니다. '혼합 모드'를 선택했을 경우에는 sa 계정에 사용할 암호를 '기본 제공 SQL Server 시스템 관리자 계정' 항목에 입력합니다. SQL Server 2008에서는 Builtin\Administrators 그룹에 SysAdmin 서버 역할이 기본적으로 부여되지 않습니다. 따라서, 설치시 다음의 화면에서 'SQL Server 관리자 지정' 항목에 SysAdmin 서버 역할을 부여할 계정을 최소한 하나 이상 직접 지정해 주어야 합니다. 일반적으로 setup을 실행하는 계정(현재 로그온한 계정)이 Administrator 계정이므로 '현재 사용자 추가' 버튼을 클릭하여 간단하게 setup을 실행한 계정에 SysAdmin 서버 역할을 부여하는 방법을 사용합니다.   

 

24. 데이터베이스 엔진 구성 화면에서 '데이터 디렉터리' 탭을 클릭하면 다음과 같이 데이터베이스 파일이 위치할 폴더를 변경할 수 있는 화면이 나타납니다. SQL Server 2008에서는 이전 버전보다 좀더 세부적으로 기본 폴더를 지정할 수 있음을 알 수 있습니다.

 

25. 데이터베이스 엔진 구성 화면에서 'FILESTREAM' 탭을 누르면 다음의 화면이 나타납니다. FILESTREAM은 SQL Server 2008에서 제공되는 새로운 기능으로 BLOB(Binary Large Object) 데이터를 테이블이 아닌 NTFS 파일 시스템에 저장할 수 있도록 하는 기능입니다. FILESTREAM 기능은 필요시 SQL Server 구성 관리자를 통해 설정 가능하므로 설치 단계에서는 선택하지 않고 진행해도 무방합니다. 확인이 끝났으면 '다음(N)'을 클릭하여 다음 단계로 진행합니다.

 

26. 오류 및 사용 보고 화면에서는 특별한 체크 없이 '다음(N)'을 클릭합니다. 

 

27. 클러스터 설치 규칙 검사가 진행되고 그 결과가 다음과 같이 표시됩니다. SQL Server 2008에서는 클러스터 설치 과정에서 총 3차례의 설치 규칙을 검사하는데 실제 설치 작업 중에 발생할 수 있는 문제점을 미연에 방지하기 위한 것입니다. 3차례의 규칙 검사 중 다음의 클러스터 설치 규칙 검사가 마지막 검사에 해당합니다. 특별한 오류가 없으면 '다음(N)'을 클릭합니다. 

 

28. 다음은 이제까지 입력된 모든 정보를 요약하여 보여 주는 화면입니다. 빠진 것이나 잘못 지정된 것은 없는지 확인하고 수정이 필요하면 '뒤로(B)' 버튼을 클릭하여 해당 설정 화면으로 이동해 수정할 수 있습니다. 모든 준비가 완료되었으면 '설치(I)' 버튼을 클릭하여 설치 작업을 시작합니다. 

 

 29. 다음과 같이 설치 진행률이 표시되며 설치 작업이 진행됩니다.

 

30. 다음과 같이 설치가 성공적으로 완료되었다는 메시지가 표시되면 설치 작업이 정상적으로 완료된 것입니다. 만약 설치가 실패하였다는 메시지가 표시되면 '요약 로그 파일'을 메모장(Notepad)으로 열어 봄으로써 오류가 발생한 원인을 확인해 볼 수 있습니다. 참고적으로, SQL Server 2008에서는 설치 실패시 자동적으로 설치 작업이 Rollback되지 않습니다. 따라서, 재설치 작업을 진행하려면 프로그램 추가/제거를 통해 설치된 기능들을 직접 모두 제거한 다음 설치 작업을 다시 진행해야 합니다. 

 

31. 첫 번째 노드에서 설치 작업이 완료된 다음에 클러스터 관리자를 통해 확인해 보면 다음과 같이 SQL Server와 관련된 클러스터 리소스들이 만들어져 있으며 모두 온라인 상태에 있음을 알 수 있습니다. 두 번째 노드 설치 작업 여부와는 관계없이 이 시점에 SQL Server는 정상적으로 동작합니다(단일 노드 환경으로).

 

32. Windows Server 2008에는 'Windows 방화벽'이 기본으로 활성화되어 있습니다. 만약 'Windows 방화벽'을 비활성화했다면 아래의 단계들(32~38)은 작업할 필요가 없으며, 'Windows 방화벽'이 활성화된 상태에서 클라이언트에서 SQL Server에 정상적으로 접속할 수 있도록 하려면 아래의 작업들(32~38)을 통해 SQL Server에서 사용하는 TCP 포트를 열어 주어야 합니다. Windows Server 2008의 '서버 관리자'를 실행하고 다음의 화면과 같이 '구성-고급 보안이 설정된 Windows 방화벽-인바운드 규칙-새 규칙'을 실행합니다.

 

33. 규칙 종류 단계에서 '프로그램(P)'를 선택하고 '다음(N)'을 클릭합니다. 

 

34. 프로그램 단계에서 '다음 프로그램 경로(T)'를 선택하고 '찾아보기' 버튼을 이용하여 SQL Server 실행 파일인 'sqlservr.exe'의 절대경로를 지정합니다. 경로 지정이 완료되었으면 '다음(N)'을 클릭합니다.

 

35. 작업 단계에서 '연결 허용(A)'를 선택하고 '다음(N)'을 클릭합니다.

 

36. 프로필 단계에서 '도메인(D)', '개인(P)', '공용(U)'을 모두 선택하고 '다음(N)'을 클릭합니다. 

 

37. 이름 단계에서 새롭게 만든 규칙의 이름과 설명을 입력하고 '마침(F)'을 클릭하여 작업을 완료합니다.

 

38. 작업 완료 후 다음의 화면과 같이 새로운 규칙이 생성되어 동작하고 있음을 확인할 수 있습니다.

 

 

[두 번째 노드 설치]

1. SQL Server 2008 설치를 위해서는 .NET Framework 3.5와 Windows Installer 4.5가 먼저 설치되어 있어야 합니다. 먼저, 설치 DVD의 x86\redist\DotNetFrameworks\dotNetFx35setup.exe를 실행하여 .NET Framework 3.5 설치 프로그램을 실행합니다. 다음의 화면에서 '동의함(A)'를 선택하고 '설치(I)'를 클릭합니다. 

 

2. 다운로드 및 설치 진행률을 보여주는 화면이 나타나는데 .NET Framework 3.5 SP1 파일이 설치 DVD에 이미 들어 있으므로 인터넷으로부터 다운로드가 발생하지는 않습니다(즉, 인터넷 연결이 필요하지 않습니다).

 

3. .NET Framework 3.5 SP1 설치가 완료되면 '끝내기(X)'를 클릭합니다.

 

4. .NET Framework과 Windows Installer 설치 작업은 모두 시스템의 리부팅이 필요한 작업입니다. .NET Framework 3.5 SP1 설치 작업 완료후 다음과 같은 화면이 나타나는데 리부팅을 두 번 하는 불편함을 피하기 위해 '나중에 다시 시작(L)'을 클릭하여 작업을 마칩니다.

 

5. 설치 DVD에서 x86\redist\Windows Installer\x86\INSTMSI45.msu를 실행하여 Windows Installer 4.5 설치 프로그램을 실행합니다. 다음의 화면에서 '확인'을 클릭합니다.

 

6. 설치 진행률을 보여주는 다음의 화면과 함께 설치가 진행됩니다. 

 

7. 설치가 완료되면 다음의 화면에서 '지금 다시 시작'을 클릭하여 시스템을 리부팅합니다. 

 

8. 시스템 리부팅후 setup.exe를 실행합니다. 다음의 화면에서 'SQL Server 장애 조치(Failover) 클러스터에 노드 추가'를 클릭합니다.

 

9. 설치 작업을 계속하기 위해 필요한 시스템 규칙에 대한 점검 결과가 다음과 같이 표시됩니다. 만약 실패하는 항목이 있다면 해당 문제점에 대해 필요한 조치를 우선 취한 다음 설치 작업을 다시 진행해야 합니다. 실패 항목이 없다면 '확인'을 클릭하여 다음으로 진행합니다.   

 

10. 다음의 화면에서 제품 구매시 제공된 제품 키(Product Key)를 입력합니다. 클러스터의 첫 번째 노드에 설치할 때 사용한 제품 키를 다시 사용합니다.

 

11. 소프트웨어 사용권 계약서에 대해 '동의함(A)'을 체크하고 '다음(N)'을 클릭합니다. 

 

12. 다음의 화면에서 '설치(I)'를 클릭하여 설치 지원 파일을 설치합니다.

 

13. 클러스터 설치에 필요한 규칙들에 대한 점검이 진행되고 그 결과가 다음의 화면에 표시됩니다. 다음의 화면에서 '실패'로 나타나는 항목이 없으면 '다음(N)'을 클릭하여 다음 단계로 진행합니다. 

 

14. 클러스터 노드 구성 화면에서 첫 번째 노드에 이미 설치되어 있는 기본 인스턴스(MSSQLSERVER)를 선택하고 '다음(N)'을 클릭합니다.

 

15. SQL Server Database Engine과 SQL Server 에이전트에 지정된 서비스 계정의 암호를 입력하고 '다음(N)'을 클릭합니다. 첫 번째 노드에서는 계정 이름까지 입력했던 것과는 다르게 두 번째 노드에서는 '암호' 항목만 입력하도록 되어 있음을 알 수 있습니다.

 

16. 오류 및 사용 보고 화면에서 특별한 체크 없이 '다음(N)'을 클릭합니다.

 

17. 노드 추가 규칙 검사가 진행되고 그 검사 결과가 다음과 같이 표시됩니다. 검사 결과에 오류가 없을 경우 '다음(N)'을 클릭하여 다음 단계로 진행합니다. 

 

18. 노드 추가 준비 화면에 진행할 설치 작업에 대한 요약 정보가 표시됩니다. 첫 번째 노드에 설치된 기능들이 두 번째 노드에도 동일하게 설치됨을 알 수 있습니다. '설치(I)'를 클릭하여 두 번째 노드에서 설치 작업을 시작합니다.

 

19. 설치 진행률이 표시되며 두 번째 노드에 설치 작업이 진행됩니다. 데이터베이스 파일들이나 클러스터 리소스 등은 첫 번째 노드 설치 과정에서 모두 생성되었으므로 두 번째 노드 설치 작업 중에는 SQL Server 실행 파일들을 두 번째 노드에만(Locak Disk에) 설치하며 첫 번째 노드나 공유 디스크에는 영향을 주지 않습니다(첫 번째 노드에서 온라인 상태인 SQL Server는 계속 온라인 상태를 유지).

 

20. 설치 작업 완료 후 다음과 같이 클러스터 노드 추가 작업이 성공적으로 완료되었음을 나타내는 메시지가 표시되면 노드 추가 작업이 정상적으로 완료된 것입니다. 만약 노드 추가 작업에 오류가 발생하여 재설치 작업이 필요할 경우에는 프로그램 추가/제거에서 설치된 기능들을 직접 모두 제거한 다음 설치 작업을 다시 진행해 주어야 합니다.

 

21. 첫 번째 노드와 마찬가지로 'Windows 방화벽'이 활성화된 상태에서 클라이언트에서 SQL Server에 정상적으로 접속할 수 있도록 하려면 아래의 작업들(21~27)을 통해 SQL Server에서 사용하는 TCP 포트를 열어 주어야 합니다(Winodws 방화벽이 비활성화 되어 있다면 해당 사항 없음). Windows Server 2008의 '서버 관리자'를 실행하고 다음의 화면과 같이 '구성-고급 보안이 설정된 Windows 방화벽-인바운드 규칙-새 규칙'을 실행합니다. 

 

22. 규칙 종류 단계에서 '프로그램(P)'를 선택하고 '다음(N)'을 클릭합니다. 

 

23. 프로그램 단계에서 '다음 프로그램 경로(T)'를 선택하고 '찾아보기' 버튼을 이용하여 SQL Server 실행 파일인 'sqlservr.exe'의 절대경로를 지정합니다. 경로 지정이 완료되었으면 '다음(N)'을 클릭합니다.

 

24. 작업 단계에서 '연결 허용(A)'를 선택하고 '다음(N)'을 클릭합니다.

 

25. 프로필 단계에서 '도메인(D)', '개인(P)', '공용(U)'을 모두 선택하고 '다음(N)'을 클릭합니다. 

 

26. 이름 단계에서 새롭게 만든 규칙의 이름과 설명을 입력하고 '마침(F)'을 클릭하여 작업을 완료합니다.

 

27. 작업 완료 후 다음의 화면과 같이 새로운 규칙이 생성되어 동작하고 있음을 확인할 수 있습니다.