다음을 통해 공유


BackupClusterDatabase 함수(clusapi.h)

[이 함수는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이 함수에 대한 지원은 Windows Server 2008에서 제거되었으며 이 함수는 아무 것도 수행하지 않으며 ERROR_CALL_NOT_IMPLEMENTED 반환합니다.]

클러스터 데이터베이스 및 모든 레지스트리 검사점의 백업을 만듭니다.

구문

DWORD BackupClusterDatabase(
  [in] HCLUSTER hCluster,
  [in] LPCWSTR  lpszPathName
);

매개 변수

[in] hCluster

백업할 클러스터에 대한 핸들입니다.

[in] lpszPathName

백업을 만들어야 하는 경로를 지정하는 Null로 종료된 유니코드 문자열입니다. 클러스터 구성 정보는 이 위치에 저장됩니다. 보호해야 하는 중요한 데이터입니다. 예를 들어 이 데이터는 액세스 제어 목록을 사용하여 데이터가 저장된 위치에 대한 액세스를 제한하여 보호할 수 있습니다.

반환 값

함수가 성공하면 ERROR_SUCCESS 반환합니다.

함수가 실패하면 시스템 오류 코드 중 하나를 반환합니다.

설명

이상적으로 지정된 경로는 UNC 경로와 같은 모든 클러스터 노드에 표시되는 경로여야 합니다. 최소한 경로는 현재 쿼럼 리소스를 소유하는 노드에 표시되어야 합니다. 경로에 파일 이름을 포함하지 마세요. 그렇지 않으면 함수가 실패하고 ERROR_DIRECTORY 반환됩니다. 경로에는 후행 백슬래시가 포함될 수 있습니다.

적절한 경로가 있는지 확인하는 한 가지 방법은 다음과 같이 임시 네트워크 공유를 만드는 것입니다.

  • NetShareAdd 함수를 호출하여 임시 네트워크 공유를 만듭니다. 모든 클러스터 노드는 이 공유에 대한 쓰기 권한이 있어야 합니다.
  • lpszPathName 매개 변수에서 임시 공유를 지정하여 BackupClusterDatabase를 호출합니다.
  • 백업 파일(아래 참조)을 하나 이상의 안전한 스토리지 위치에 복사합니다.
  • NetShareDel 함수를 호출하여 공유를 삭제합니다.
백업에는 다음 파일이 포함됩니다.
Path\File Description
lpszPathName\chk????. Tmp 스냅샷 파일.
lpszPathName\quolog.log 쿼럼 로그 파일입니다.
lpszPathName\<GUID of resource>\*. Cpt GUID로 식별된 리소스에 대한 레지스트리 검사점 파일입니다.
lpszPathName\<GUID of resource>\*. 심폐 소생술 GUID로 식별된 리소스에 대한 암호화 검사점 파일입니다.
lpszPathName\Clusbackup.dat 백업 완료 표식 파일(읽기 전용, 숨겨진 0 바이트 파일)
 

동일한 lpszPath 매개 변수를 사용하는 후속 BackupClusterDatabase 작업은 기존 백업 파일을 덮어씁니다.

가능하면 여러 미디어에 백업 디렉터리의 복사본을 여러 개 만들고 이러한 복사본을 별도의 위치에 저장합니다.

예제

다음 예제에서는 정적 백업 루틴을 보여 줍니다. RestoreClusterDatabase를 통합하는 보다 완전한 예제는 클러스터 구성 백업 및 복원을 참조하세요. 이 예제에서는 장애 조치(failover) 클러스터 설명서에 정의된 ClusDocEx.h 헤더 파일을 사용합니다.


int main( void )
 {
  HCLUSTER hCluster     = NULL;
  WCHAR szClusterName[] = L"CLUSTER_NAME";
  WCHAR szPath[]        = L"\\\\ClusBack\\19991215";
  DWORD dwResult        = ERROR_SUCCESS;
 
  if( ( hCluster = OpenCluster( szClusterName ) ) != NULL )
   {
    dwResult = BackupClusterDatabase( hCluster, szPath );
    CloseCluster( hCluster );
   }
  else
    dwResult = GetLastError();

  if( dwResult == ERROR_SUCCESS )
   {
    wprintf( L"\nDone. The cluster database has been backed up to %s. ", szPath );
    wprintf( L"The backup consists of the following files:\n    chk????.tmp\n"
             L"    quolog.log\n    *.cpt\n    *.cpr\n\n" );
    return 0;
   }
  else
   {
    wprintf( L"The operation failed (%d)\n", dwResult );
    return 1;
   }
 }

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2003 Enterprise, Windows Server 2003 Datacenter
대상 플랫폼 Windows
헤더 clusapi.h
라이브러리 ClusAPI.lib
DLL ClusAPI.dll

추가 정보

백업 및 복원 함수

RestoreClusterDatabase