Share via


연습: 클러스터형 단일 서버 배포

이 시나리오에서는 Microsoft Windows 인증을 사용하여 장애 조치(Failover) 클러스터에 Notification Services 인스턴스를 배포하는 방법을 보여 줍니다. 이 구성은 이전에 설명된 단일 서버 배포 시나리오와 비슷하지만 장애 조치 클러스터링을 통한 고가용성을 제공합니다. 일반적으로 이 시나리오는 고가용성을 필요로 하는 중소 규모의 응용 프로그램에 대해 사용합니다. 장애 조치 클러스터링 및 Notification Services에 대한 자세한 내용은 Notification Services에서 장애 조치(Failover) 클러스터링 사용을 참조하십시오.

[!참고] 이 연습 과정에서는 장애 조치 클러스터에 Notification Services를 배포하는 예를 제공하며 사용자가 장애 조치 클러스터링을 잘 이해하고 있다고 가정합니다. 사용되는 서버의 이름과 개수는 예시용으로만 사용됩니다. 이 항목의 절차를 참조하여 자체의 배포 지침을 개발 및 테스트하십시오.

다음 그림에서는 이 배포 시나리오의 하드웨어 구성을 보여 줍니다. 이 구성에는 NS1NS2라는 두 대의 서버가 포함되며 각 서버에는 Notification Services와 SQL Server 데이터베이스 엔진이 설치되어 있습니다. Notification Services 엔진이 실행되는 NS$instanceName Windows 서비스는 클러스터 일반 서비스로 구성되므로 필요할 때 다른 서버로 장애 조치될 수 있습니다.

이 구성에서는 클러스터 쿼럼 리소스, 모든 데이터베이스 파일 및 모든 작업 파일에 대해 공유 드라이브를 사용합니다. 드라이브를 공유하면 클러스터의 어느 서버가 활성 서버인지에 상관없이 클러스터가 드라이브에 액세스할 수 있습니다.

클러스터형 단일 서버 구성

필수 구성 요소

장애 조치 클러스터에 Notification Services 인스턴스를 배포하기 전에 모든 필수 구성 요소가 충족되는지 확인하십시오.

  • Windows 클러스터링에 익숙하며 장애 조치 클러스터에서 SQL Server를 사용하는 데 익숙해야 합니다.

  • NS1NS2에 장애 조치 클러스터링을 지원하는 Windows 서버 운영 체제가 미리 설치되어 있어야 하며 해당 서비스 팩 및 업데이트가 모두 설치되어 있어야 합니다.

  • Windows 클러스터 서비스가 NS1NS2에 설치되어 실행 중이어야 합니다.

  • 이 연습을 위해 다음 리소스가 포함된 NSGroup이라는 클러스터 그룹 리소스가 있어야 합니다.

    NSGroup 리소스 설명

    네트워크 이름: NSCluster

    서버 클러스터의 네트워크 이름

    IP 주소

    클러스터 IP 주소

    물리적 디스크 K

    Notification Services 원본 파일 및 알림 응용 프로그램의 데이터 파일이 들어 있는 디스크

    SQL Server 리소스가 동일한 클러스터 그룹에 있는 경우 추가 디스크(위 그림에서 G, H, I 및 J 참조)를 정의하십시오.

    [!참고] 위에 표시된 드라이브 매핑은 이 연습을 위한 것이며 사용자는 자체적인 이름 및 드라이브 매핑을 선택할 수 있습니다.

  • 클러스터의 양쪽 노드에 SQL Server 데이터베이스 엔진 인스턴스를 설치하여 SQL Server 가상 서버를 미리 만들어 놓아야 합니다. SQL Server 설치에 대한 클러스터 리소스는 Notification Services 리소스가 있는 동일한 클러스터 그룹이나 다른 클러스터 그룹에 있을 수 있습니다.
    장애 조치 클러스터에 데이터베이스 엔진을 설치하는 방법은 장애 조치(Failover) 클러스터링을 참조하십시오.
    클러스터 쿼럼, 데이터베이스 파일, 로그 파일 및 tempdb 파일은 위의 그림에 표시된 것처럼 별도의 디스크에 있어야 합니다.

  • 사용자는 서버에 대한 관리 권한이 있으며 SQL Server에서 sysadmin 고정 서버 역할의 멤버인 계정으로 이러한 절차를 실행해야 합니다.

  • 사용자 또는 도메인 관리자는 Notification Services 엔진에 대한 계정을 만들어야 합니다. 이 연습에서는 해당 계정이 DOMAIN\NSService입니다.

  • Notification Services 인스턴스를 배포 및 실행하는 데 필요한 파일에 대한 파일 공유를 만들어야 합니다.
    또한 이러한 공유 위치에 대한 필수 사용 권한을 사용자 계정 및 DOMAIN\NSService 계정에 부여해야 합니다.

  • 원격 서버에 Notification Services 엔진 구성 요소나 클라이언트 응용 프로그램이 있는 경우 데이터베이스 엔진에서 TCP/IP 또는 명명된 파이프 네트워크 프로토콜이 설정되어 있는지 확인합니다. Microsoft SQL Server 2005에서는 이러한 네트워크 프로토콜이 기본적으로 해제됩니다. 자세한 내용은 SQL Server 노출 영역 구성을 참조하십시오.

배포 개요

이 배포 연습 과정에서는 주 서버인 NS1에서 다음 작업을 수행합니다.

  1. Notification Services를 설치합니다.

  2. 네트워크 드라이브를 매핑하고 배포 및 런타임 파일에 대한 클러스터 파일 공유 리소스를 만듭니다.

  3. NSService 계정에 Windows 사용 권한을 부여합니다.

  4. Notification Services 인스턴스를 만들고 설정합니다.

  5. Notification Services 인스턴스를 등록하고 Notification Services 엔진을 실행하는 Windows 서비스를 만듭니다.

  6. 클러스터 관리자를 사용하여 장애 조치 클러스터에서 Windows 서비스를 실행하는 일반 서비스를 만듭니다.

  7. Windows 계정에 데이터베이스 사용 권한을 부여합니다.

    [!참고] 또한 Notification Services는 SQL Server 인증을 지원합니다. 가능하면 Windows 인증을 사용합니다.

클러스터의 다른 서버(이 예에서는 단일 서버 NS2)에서 다음 단계를 수행합니다.

  1. Notification Services를 설치합니다.
  2. 배포 및 런타임 파일에 네트워크 드라이브를 매핑합니다.
  3. Notification Services 엔진 계정을 로컬 사용자 그룹에 추가합니다.
  4. Notification Services 인스턴스를 등록하고 Notification Services 엔진을 실행하는 Windows 서비스를 만듭니다.

클러스터에서 Notification Services 인스턴스를 시작할 준비가 되면 일반 서비스 클러스터 리소스를 시작합니다.

첫 번째 서버(NS1) 작업

클러스터의 NS1 서버에서 다음 작업을 수행합니다.

1단계: 클러스터 그룹을 NS1로 이동합니다.

  1. 제어판에서 관리 도구를 열고 클러스터 관리자를 엽니다.

  2. 왼쪽 창에서 그룹을 확장합니다.

  3. NSGroup을 선택하고 오른쪽 창에서 소유자 열을 봅니다.

  4. 소유자 열에서 다른 서버가 해당 클러스터 그룹을 소유한다고 표시되면 NSGroup을 마우스 오른쪽 단추로 클릭한 다음 이동을 클릭합니다.

    이제 NSGroup 리소스는 NS1에 있습니다.

2단계: Notification Services 설치

  1. Notification Services를 설치합니다. 추가 구성 요소를 설치할 수 있지만 반드시 그럴 필요는 없습니다.

    자세한 내용은 SQL Server Notification Services 설치를 참조하십시오.

3단계: 파일 공유 리소스 만들기 및 네트워크 드라이브 매핑

  1. 클러스터 관리자를 사용하여 원본 및 데이터 파일에 대한 파일 공유 리소스를 만듭니다. 자세한 내용은 클러스터 관리자 설명서를 참조하십시오.

  2. 네트워크 드라이브를 이러한 파일 공유 위치에 매핑합니다. 네트워크 드라이브 매핑에 대한 자세한 내용은 Windows 설명서를 참조하십시오.

4단계: DOMAIN\NSService 계정에 Windows 사용 권한 부여

  1. 시작 메뉴에서 모든 프로그램, Microsoft SQL Server 2005, Notification Services를 차례로 가리킨 다음 Notification Services 명령 프롬프트를 클릭하여 Notification Services 명령 프롬프트 창을 엽니다.

  2. 로컬 사용자 그룹에 DOMAIN\NSService 계정을 추가합니다. 명령 프롬프트에서 다음 net localgroup 명령을 입력합니다.

    net localgroup users DOMAIN\NSService /add

    로컬 그룹에 계정을 추가하는 방법에 대한 자세한 내용은 Windows 설명서를 참조하십시오.

5단계: Notification Services 인스턴스 만들기 및 설정

  1. 명령 프롬프트에서 다음 명령을 입력하여 인스턴스 및 응용 프로그램 데이터베이스를 만듭니다.

    nscontrol create -in "Path\ICFName"

    구성 파일에 따라 추가 명령줄 인수 및 매개 변수를 제공해야 할 수 있습니다.

  2. 다음 명령을 입력하여 인스턴스를 설정합니다.

    nscontrol enable -nameinstanceName-servervirtualDatabaseServer

6단계: Notification Services 인스턴스 등록

  1. 열려 있는 명령 프롬프트 창에서 다음 명령을 입력합니다.

    nscontrol register -name instanceName -server virtualDatabaseServer

        -service -serviceusername DOMAIN\NSService-servicepassword****"password"**

    이 명령이 완료되면 NS$instanceName이라는 Windows 서비스가 로컬 컴퓨터에 생성됩니다.

[!참고] SQL Server 인증을 사용할 경우 인스턴스 등록 시 SQL Server 로그인과 암호를 제공한 후 SQL Server 로그인에 사용 권한을 부여합니다. 자세한 내용은 nscontrol register 명령을 참조하십시오.

7단계: 일반 서비스 리소스 만들기

  1. 제어판에서 관리 도구를 열고 클러스터 관리자를 엽니다.

  2. 그룹을 엽니다.

  3. NSGroup을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 리소스를 클릭합니다.

  4. 새 리소스 페이지에서 다음 정보를 입력합니다.

    이름: instanceName

    리소스 유형: 일반 서비스

    그룹: NSGroup

  5. 가능한 소유자 페이지의 사용 가능한 노드 목록에서 NS1NS2를 선택하고 추가를 클릭하여 가능한 소유자 목록으로 이동합니다.

  6. 종속성 페이지의 사용 가능한 리소스 목록에서 NSCluster 네트워크 이름 리소스를 선택한 다음 추가를 클릭하여 리소스 종속성 목록으로 이동합니다.

  7. 일반 서비스 매개 변수 페이지에서 다음 정보를 입력합니다.

    서비스 이름: **NS$**instanceName

  8. 컴퓨터 이름으로 네트워크 이름 사용 확인란을 선택합니다.

  9. 레지스트리 복제 페이지에서 마침을 클릭합니다.

8단계: 데이터베이스 사용 권한 부여

  1. 다음 명령을 입력하여 DOMAIN\NSService 계정에 대한 SQL Server 로그인을 만듭니다.

    sqlcmd -E -S databaseServer -Q "CREATE LOGIN [DOMAIN\NSService] FROM WINDOWS;"

  2. 다음 명령을 입력하여 DOMAIN\NSService 계정에 인스턴스 데이터베이스에 대한 액세스 권한을 부여하고 NSRunService 데이터베이스 역할에 해당 계정을 추가합니다.

    sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase;

    CREATE USER [DOMAIN\NSService];

    EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"

  3. 다음 명령을 입력하여 DOMAIN\NSService 계정에 응용 프로그램 데이터베이스에 대한 액세스 권한을 부여하고 NSRunService 데이터베이스 역할에 해당 계정을 추가합니다.

    sqlcmd -E -S databaseServer -Q "USE applicationDatabase**;**

    CREATE USER [DOMAIN\NSService];

    EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"

    인스턴스가 여러 응용 프로그램을 호스팅하는 경우 각 응용 프로그램 데이터베이스에 대해 이 단계를 반복합니다.

  4. 명령 프롬프트 창을 닫습니다.

ms171407.note(ko-kr,SQL.90).gif중요:
이때 일반 서비스를 온라인 상태로 만들지 말고 NS2를 구성한 다음에 일반 서비스를 온라인 상태로 만듭니다.

추가 서버(NS2) 작업

NS2 서버에서 다음 작업을 수행합니다.

1단계: 클러스터 그룹을 NS2로 이동합니다.

  1. 제어판에서 관리 도구를 열고 클러스터 관리자를 엽니다.

  2. 왼쪽 창에서 그룹을 확장합니다.

  3. NSGroup을 선택하고 오른쪽 창에서 소유자 열을 봅니다.

  4. 소유자 열에 NS1이 해당 클러스터 그룹을 소유한다고 표시되면 NSGroup을 마우스 오른쪽 단추로 클릭한 다음 이동을 클릭합니다.

이제 NSGroup 리소스는 NS2에 있습니다.

2단계: Notification Services 설치

  1. Notification Services를 설치합니다. 구성 요소를 추가로 설치할 수 있지만 다른 구성 요소는 배포 시 필요하지 않습니다.

    구성 요소를 설치하는 방법은 SQL Server Notification Services 설치를 참조하십시오.

3단계: 네트워크 드라이브 매핑

  1. NS1의 경우와 동일하게 NSSourceFiles 및 NSDataFiles에 대해 네트워크 드라이브 매핑을 수행합니다. 네트워크 드라이브 매핑에 대한 자세한 내용은 Windows 설명서를 참조하십시오.

4단계: DOMAIN\NSService 계정에 Windows 사용 권한 부여

  1. 시작 메뉴에서 모든 프로그램, Microsoft SQL Server 2005, Notification Services를 차례로 가리킨 다음 Notification Services 명령 프롬프트를 클릭하여 Notification Services 명령 프롬프트 창을 엽니다.

  2. 로컬 사용자 그룹에 DOMAIN\NSService 계정을 추가합니다. 명령 프롬프트에서 다음 net localgroup 명령을 입력합니다.

    net localgroup users DOMAIN\NSService /add

    로컬 그룹에 계정을 추가하는 방법에 대한 자세한 내용은 Windows 설명서를 참조하십시오.

5단계: Notification Services 인스턴스 등록

  1. 시작 메뉴에서 모든 프로그램, Microsoft SQL Server 2005, Notification Services를 차례로 가리킨 다음 Notification Services 명령 프롬프트를 클릭하여 Notification Services 명령 프롬프트 창을 엽니다.

  2. 명령 프롬프트 창에서 다음 명령을 입력합니다.

    nscontrol register -name instanceName -server virtualDatabaseServer

        -service -serviceusername DOMAIN\NSService-servicepassword****"password"**

이제 클러스터에서 Notification Services 인스턴스가 배포 및 설정됩니다. 구독자 및 구독을 추가하고 이벤트를 전송할 수 있지만 일반 서비스를 온라인 상태로 만들 때까지 인스턴스는 알림을 생성하지 않습니다. 일반 서비스를 온라인 상태로 만드는 과정은 아래에 설명되어 있습니다.

Notification Services 인스턴스 시작

인스턴스를 통해 알림을 생성할 준비가 되면 일반 서비스를 온라인 상태로 만듭니다.

일반 서비스를 온라인 상태로 만듭니다.

  1. 제어판에서 관리 도구를 열고 클러스터 관리자를 엽니다.

  2. 왼쪽 창에서 그룹을 확장합니다.

  3. NSGroup을 선택합니다.

  4. 클러스터 그룹을 NS1으로 다시 이동하려면 NSGroup을 마우스 오른쪽 단추를 클릭하고 이동을 선택합니다.

  5. 오른쪽 창에서 일반 서비스를 마우스 오른쪽 단추로 클릭하고 온라인 상태로 만들기를 클릭합니다.

자세한 내용은 Notification Services 인스턴스 시작 및 중지를 참조하십시오.

문제 해결

응용 프로그램이 알림을 생성하지 않으면 Notification Services 명령 프롬프트에서 다음 명령을 실행하여 인스턴스의 상태를 확인합니다.

nscontrol status-name instanceName

예상 서버에서 모든 구성 요소가 실행되고 있으며 사용 상태인지 확인합니다. 자세한 내용은 인스턴스, 응용 프로그램 및 구성 요소의 상태 보기를 참조하십시오.

또한 Windows 응용 프로그램 로그에서 오류를 확인합니다. 자세한 내용은 Notification Services 문제 해결을 참조하십시오.

참고 항목

개념

Notification Services 인스턴스 배포
호스팅되지 않은 이벤트 공급자 배포
구독 관리 인터페이스 배포

관련 자료

nscontrol create 명령
nscontrol enable 명령
nscontrol register 명령
sqlcmd 유틸리티

도움말 및 정보

SQL Server 2005 지원 받기