장애 조치(Failover) 클러스터 문제 해결

업데이트: 2006년 7월 17일

이 항목에는 다음 문제에 대한 정보가 있습니다.

  • 기본 문제 해결 단계
  • 장애 조치 클러스터 오류 복구
  • 일반적인 장애 조치 클러스터링 문제 해결
  • 확장 저장 프로시저 및 COM 개체 사용

기본 문제 해결 단계

SQL Server 2005 장애 조치 클러스터링을 사용하여 작업할 때는 서버 클러스터가 MSCS(Microsoft Cluster Services)에서 실행되는 장애 조치 클러스터 인스턴스로 구성된다는 점에 유의하십시오. Microsoft 서버 클러스터를 제공하는 Microsoft MSCS 기반 노드에서 SQL Server 인스턴스를 호스팅할 수 있습니다.

서버 클러스터를 호스팅하는 노드에 발생한 문제는 장애 조치 클러스터 인스턴스 관련 문제일 가능성이 매우 높습니다. 이러한 문제를 조사하고 해결하려면 다음 순서로 SQL Server 장애 조치 클러스터의 문제를 해결하십시오.

  1. 하드웨어: Microsoft Windows 시스템 이벤트 로그를 검토합니다.
  2. 운영 체제: Windows 시스템 및 응용 프로그램 이벤트 로그를 검토합니다.
  3. 네트워크: Windows 시스템 및 응용 프로그램 이벤트 로그를 검토합니다. 기술 자료 문서인 클러스터 서버에 권장하는 개인 "하트비트" 구성클러스터 서버에 권장하는 개인 "하트비트" 구성을 참고하여 현재 구성을 확인합니다.
  4. 보안: Windows 응용 프로그램 및 보안 이벤트 로그를 검토합니다.
  5. MSCS: Windows 시스템, 응용 프로그램 이벤트 및 클러스터 로그를 검토합니다.
  6. SQL Server: 하드웨어, 운영 체제, 네트워크, 보안 및 MSCS 기반에 문제가 없다고 확인되면 평소대로 문제를 해결합니다.

장애 조치 클러스터 오류 복구

대개 장애 조치 클러스터 오류의 원인은 다음 두 가지 중 하나입니다.

  • 이중 노드 클러스터의 한 노드에서 발생한 하드웨어 오류. 이 하드웨어 오류는 SCSI 카드 또는 운영 체제의 오류에 의해 발생할 수 있습니다.
    이 오류를 복구하려면 SQL Server 설치 프로그램을 사용하여 장애 조치 클러스터에서 실패한 노드를 제거하고 컴퓨터를 오프라인 상태로 만들어 하드웨어 오류를 해결한 다음 컴퓨터를 다시 온라인 상태로 만들고 복구한 노드를 장애 조치 클러스터 인스턴스에 다시 추가합니다.
    자세한 내용은 방법: 새 SQL Server 2005 장애 조치(Failover) 클러스터 만들기(설치)방법: 시나리오 1의 장애 조치(Failover) 클러스터 오류 복구를 참조하십시오.
  • 운영 체제 오류. 이 경우 노드는 오프라인이지만 복구 불능 상태는 아닙니다.
    운영 체제 오류를 복구하려면 노드를 복구하고 장애 조치를 테스트합니다. SQL Server 인스턴스에서 장애 조치가 제대로 수행되지 않으면 SQL Server 설치 프로그램을 사용하여 장애 조치 클러스터에서 SQL Server를 제거하고 필요한 복구를 수행한 다음 컴퓨터를 다시 온라인 상태로 만들고 복구한 노드를 다시 장애 조치 클러스터 인스턴스에 추가합니다.
    이 방법으로 운영 체제 오류를 복구하면 시간이 걸릴 수 있습니다. 운영 체제 오류를 쉽게 복구할 수 있다면 이 방법을 사용하지 마십시오.
    자세한 내용은 방법: 새 SQL Server 2005 장애 조치(Failover) 클러스터 만들기(설치)방법: 시나리오 2의 장애 조치(Failover) 클러스터 오류 복구를 참조하십시오.

또한 SQL Server 2005의 다음과 같은 장애 조치(Failover) 클러스터링 변경 내용을 고려합니다.

일반적인 문제 해결

다음 목록에서는 일반적인 사용법 문제와 그 해결 방법에 대해 설명합니다.

문제: SQL Server 2005를 설치하기 위한 명령 프롬프트 구문을 잘못 사용했습니다.

문제점 1: 명령 프롬프트에서 /qn 스위치를 사용하면 /qn 스위치가 모든 설치 대화 상자와 오류 메시지를 생략하기 때문에 설치 문제를 진단하기가 어렵습니다. /qn 스위치를 지정하면 오류 메시지를 비롯한 모든 설치 메시지가 설치 로그 파일에 기록됩니다. 로그 파일에 대한 자세한 내용은 방법: SQL Server 2005 설치 로그 파일 보기를 참조하십시오.

해결 방법 1: /qn 스위치 대신 /qb 스위치를 사용합니다. /qb 스위치를 사용하면 오류 메시지를 포함하여 각 단계의 기본 UI가 표시됩니다.

문제점 2: SQL Server 2005 설치 미디어의 루트 디렉터리에 있는 template.ini 파일에서 사용된 형식을 따르지 않습니다.

해결 방법 2: 예기치 않은 문자는 설치 프로그램에서 무시될 수 있지만 설치 명령에 필요한 변수를 모두 포함합니다.

명령줄에서 변수와 해당 값 사이에는 공백이 없어야 합니다. 예를 들어 "ADDLOCAL=ALL"에는 공백이 없습니다. "ADDLOCAL = ALL"을 사용하면 설치가 실패합니다. 그 밖의 예로 IP와 해당 값도 있습니다. "IP=www.xxx.yyy.zzz,Local Area Connection"은 올바른 형식이지만 "," 뒤에 공백을 삽입하면 설치가 실패합니다.

문제: SQL Server 2005에서 다른 노드로 마이그레이션한 다음 네트워크에 로그온할 수 없습니다.

문제점 1: SQL Server 서비스 계정이 도메인 컨트롤러에 연결할 수 없습니다.

해결 방법 1: 이벤트 로그에 어댑터 오류나 DNS 문제와 같은 네트워킹 문제가 있는지 검사합니다. 도메인 컨트롤러를 ping할 수 있는지 확인합니다.

문제점 2: 모든 클러스터 노드에서 SQL Server 서비스 계정 암호가 동일하지 않거나 실패한 노드에서 마이그레이션한 SQL Server 서비스를 노드에서 다시 시작하지 않습니다.

해결 방법 2: SQL Server 구성 관리자를 사용하여 SQL Server 서비스 계정 암호를 변경합니다. 그렇지 않고 한 노드에서 SQL Server 서비스 계정 암호를 변경하면 다른 모든 노드의 암호도 변경해야 합니다. SQL Server 구성 관리자에서 이 작업을 자동으로 수행합니다.

문제: SQL Server에서 클러스터 디스크에 액세스할 수 없습니다.

문제점 1: 일부 노드에서 펌웨어나 드라이버가 업데이트되지 않습니다.

해결 방법 1: 모든 노드에서 올바른 펌웨어 버전과 동일한 드라이버 버전을 사용하고 있는지 확인합니다.

문제점 2: 공유 클러스터 디스크에서 다른 드라이브 문자를 사용할 경우 노드가 실패한 노드에서 마이그레이션된 클러스터 디스크를 복구할 수 없습니다.

해결 방법 2: 클러스터 디스크의 디스크 드라이브 문자는 두 서버에서 동일해야 합니다. 그렇지 않을 경우 운영 체제와 MSCS(Microsoft Cluster Service)의 원래 설치를 검토하십시오.

문제: SQL Server 서비스의 오류로 인해 장애 조치가 발생합니다.

해결 방법: 특정 서비스의 오류로 인해 SQL Server 그룹에서 장애 조치를 수행하지 않게 하려면 다음과 같이 Windows의 클러스터 관리자를 사용하여 해당 서비스를 구성하십시오.

  • 전체 텍스트 속성 대화 상자의 고급 탭에서 그룹에 영향을 줌 확인란 선택을 취소합니다. 그러나 SQL Server가 장애 조치를 일으키면 전체 텍스트 검색 서비스가 다시 시작됩니다.

문제: SQL Server가 자동으로 시작되지 않습니다.

해결 방법: MSCS의 클러스터 관리자를 사용하여 자동으로 장애 조치 클러스터를 시작합니다. SQL Server 서비스가 수동으로 시작되도록 설정해야 합니다. MSCS에서 SQL Server 서비스를 시작하도록 클러스터 관리자를 구성해야 합니다.

문제: 네트워크 이름이 오프라인 상태이고 TCP/IP를 사용하여 SQL Server에 연결할 수 없습니다.

문제점 1: 클러스터가 DNS를 요구하도록 설정된 상태에서 DNS가 실패합니다.

해결 방법 1: DNS 문제를 해결합니다.

문제점 2: 네트워크에 중복된 이름이 있습니다.

해결 방법 2: NBTSTAT를 사용하여 중복된 이름을 찾은 다음 문제를 해결합니다.

문제점 3: SQL Server에서 명명된 파이프를 사용하여 연결하지 않습니다.

해결 방법 3: 명명된 파이프를 사용하여 연결하려면 SQL Server 구성 관리자를 사용하여 별칭을 만들고 적절한 컴퓨터에 연결합니다. 예를 들어 노드가 두 개(노드 A노드 B)인 클러스터와 기본 인스턴스를 가진 장애 조치 클러스터 인스턴스(Virtsql)가 있으면 다음 단계를 수행하여 네트워크 이름 리소스가 오프라인 상태인 서버에 연결할 수 있습니다.

  1. 클러스터 관리자를 사용하여 SQL Server의 인스턴스가 있는 그룹이 실행 중인 노드를 확인합니다. 이 예에서는 노드 A입니다.
  2. net start를 사용하여 해당 컴퓨터에서 SQL Server 서비스를 시작합니다. net start를 사용하는 방법은 SQL Server 수동 시작을 참조하십시오.
  3. 노드 A에서 SQL Server SQL Server 구성 관리자를 시작합니다. 서버가 수신하는 파이프 이름을 확인합니다. 파이프 이름은 \\.\$$\VIRTSQL\pipe\sql\query와 비슷해야 합니다.
  4. 클라이언트 컴퓨터에서 SQL Server 구성 관리자를 시작합니다.
  5. 별칭 SQLTEST1을 만들어 명명된 파이프를 통해 이 파이프 이름에 연결합니다. 그러려면 노드 A를 서버 이름으로 입력하고 파이프 이름을 \\.\pipe\$$\VIRTSQL\sql\query로 편집합니다.
  6. 별칭 SQLTEST1을 서버 이름으로 사용하여 이 인스턴스에 연결합니다.

문제: 오류 1058이 발생하여 클러스터에 SQL Server를 설치하지 못했습니다.

문제점: 클러스터 노드에서 작업 스케줄러 서비스를 해제하면 오류 1058이 발생하여 설치 프로그램이 실패합니다. core.log에 다음 항목이 있습니다.

Error: SetTargetComputer on \\machinename failed with
Unable to start service (1058)
Error: RunRemoteProcess Received return code 1058 from STPCOMPAQ3790N2

로그의 마지막 줄은 다음과 같습니다.

<EndFunc Name='DwLaunchMsiExec' Return='1058' GetLastError='183'>

해결 방법: 클러스터 관리자를 사용하여 모든 클러스터 노드에 작업 스케줄러 서비스를 설정합니다. 자세한 내용은 방법: Windows 작업 스케줄러 서비스 설정을 참조하십시오.

문제: 오류 11001이 발생하여 클러스터에 SQL Server를 설치하지 못했습니다.

문제점: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Cluster]에 고아 레지스트리 키가 있습니다.

해결 방법: MSSQL.X 레지스트리 하이브가 현재 사용되고 있지 않은지 확인한 다음 클러스터 키를 삭제합니다.

문제: 클러스터 설치 오류: "다음 디렉터리에 액세스할 수 있는 권한이 없어 설치를 계속할 수 없습니다. Administrator로 로그온하거나 시스템 관리자에게 문의하십시오."

문제점: 이 오류는 SCSI 공유 드라이브의 파티션 문제로 인해 발생합니다.

해결 방법: 다음 단계를 수행하여 공유 디스크에 파티션 하나를 다시 만듭니다.

  1. 클러스터에서 디스크 리소스를 삭제합니다.
  2. 디스크의 모든 파티션을 삭제합니다.
  3. 디스크 속성에서 해당 디스크가 기본 디스크인지 확인합니다.
  4. 공유 디스크에 파티션 한 개를 만들고 디스크를 포맷한 다음 디스크에 드라이브 문자를 할당합니다.
  5. 클러스터 관리자(cluadmin)를 사용하여 클러스터에 디스크를 추가합니다.
  6. SQL Server 설치 프로그램을 실행합니다.

문제: 응용 프로그램이 SQL Server 2005 리소스를 분산 트랜잭션에 참여시키지 못했습니다.

문제점: Windows에서 MS DTC(Microsoft Distributed Transaction Coordinator)가 완전히 구성되지 않아 응용 프로그램에서 SQL Server 2005 리소스를 분산 트랜잭션에 참여시키지 못할 수 있습니다. 이 문제는 연결된 서버, 분산 쿼리 및 분산 트랜잭션을 사용하는 원격 저장 프로시저에 영향을 미칠 수 있습니다.

해결 방법: 이런 문제를 방지하려면 SQL Server 2005가 설치된 서버에서 MS DTC 서비스를 완전히 설정해야 합니다.

MS DTC를 완전히 설정하려면 다음 단계를 따르십시오.

  1. 제어판에서 관리 도구를 열고 컴퓨터 관리를 엽니다.
  2. 컴퓨터 관리 왼쪽 창에서 서비스 및 응용 프로그램을 확장한 다음 서비스를 클릭합니다.
  3. 컴퓨터 관리 오른쪽 창에서 Distributed Transaction Coordinator를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  4. Distributed Transaction Coordinator 창에서 일반 탭을 클릭한 다음 중지를 클릭하여 서비스를 중지합니다.
  5. Distributed Transaction Coordinator 창에서 로그온 탭을 클릭하고 로그온 계정 NT AUTHORITY\NetworkService를 설정합니다.
  6. 적용확인을 클릭하여 Distributed Transaction Coordinator 창을 닫습니다. 컴퓨터 관리 창을 닫습니다. 관리 도구 창을 닫습니다.

[!참고] 장애 조치 클러스터에 참여하는 컴퓨터에 SQL Server 2005를 설치하려면 설치 프로그램을 실행하기 전에 MS DTC를 완전히 설정하고 클러스터링해야 합니다. MS DTC가 클러스터링되지 않으면 설치할 수 없습니다. 설치 프로그램을 실행하기 전에 Microsoft 클러스터 관리자를 사용하여 MS DTC가 클러스터링되었는지 확인합니다.

문제점: CD에서 설치할 때 SQL Server 2005 장애 조치 클러스터가 설치되지 않음

문제: SQL Server 2005 설치 중에 장애 조치 클러스터 구성 요소 및 클라이언트 도구 구성 요소를 선택하면 CD 2를 삽입한 후 "원격 설치 실패" 오류가 발생하면서 설치에 실패합니다.

해결 방법: 두 CD에 들어 있는 설치 파일을 활성 클러스터 노드 또는 네트워크 공유의 동일한 디렉터리에 복사합니다. 예를 들면 다음과 같습니다.

c:
cd\
md SQLENT

두 CD를 SQLENT 디렉터리에 복사합니다.

\SQLENT\Servers

\SQLENT\Tools

[!참고] 이 문제는 DVD 설치 시에 발생하지 않습니다.

확장 저장 프로시저 및 COM 개체 사용

장애 조치 클러스터링 구성에서 확장 저장 프로시저를 사용할 때 SQL Server에 종속적인 클러스터 디스크에 모든 확장 저장 프로시저를 설치해야 합니다. 그러면 노드에서 장애 조치를 수행할 때 확장 저장 프로시저를 계속 사용할 수 있습니다.

확장 저장 프로시저에서 COM 구성 요소를 사용하면 관리자는 COM 구성 요소를 클러스터의 각 노드에 등록해야 합니다. COM 구성 요소의 로드 및 실행에 대한 정보는 구성 요소가 만들어지도록 활성 노드의 레지스트리에 있어야 합니다. 그렇지 않으면 COM 구성 요소가 처음 등록된 컴퓨터의 레지스트리에 정보가 남아 있습니다.

참고 항목

관련 자료

방법: SQL Server 2005 설치 로그 파일 보기
How Extended Stored Procedures Work
Execution Characteristics of Extended Stored Procedures

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 7월 17일

변경된 내용
  • CD 미디어를 사용한 설치 실패에 대한 섹션을 추가했습니다.