次の方法で共有


BackupClusterDatabase 関数 (clusapi.h)

[この関数は、[要件] セクションで指定されたオペレーティング システムで使用できます。 この関数のサポートは Windows Server 2008 で削除され、この関数は何も実行せず 、ERROR_CALL_NOT_IMPLEMENTEDを返します。

クラスター データベースとすべてのレジストリ チェックポイントのバックアップを作成します

構文

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

パラメーター

[in] hCluster

バックアップするクラスターへのハンドル。

[in] lpszPathName

バックアップを作成するパスを指定する Null で終わる Unicode 文字列。 クラスター構成情報はこの場所に保存されます。これは、保護する必要がある機密データです。 たとえば、このデータを保護するには、アクセス制御リストを使用して、データが格納されている場所へのアクセスを制限します。

戻り値

関数が成功すると、 ERROR_SUCCESSが返されます。

関数が失敗した場合は、 システム エラー コードのいずれかを返します。

注釈

理想的には、指定されたパスは、UNC パスなど、すべてのクラスター ノードに表示されるパスである必要があります。 少なくとも、 現在クォーラム リソースを所有しているノードにパスを表示する必要があります。 パスにファイル名を含めないでください。関数が失敗し、 ERROR_DIRECTORYが返されます。 パスには、末尾の円記号を含めることができます。

適切なパスが存在することを確認する方法の 1 つは、次のように一時的なネットワーク共有を作成することです。

  • 関数 NetShareAdd を呼び出して、一時的なネットワーク共有を作成します。 すべてのクラスター ノードには、この共有への書き込みアクセス権が必要です。
  • backupClusterDatabase を呼び出し、lpszPathName パラメーターに一時共有を指定します。
  • バックアップ ファイル (下記参照) を 1 つ以上の安全なストレージの場所にコピーします。
  • 関数 NetShareDel を呼び出して共有を削除します。
バックアップには次のファイルが含まれています。
Path\File 説明
lpszPathName\chk????.Tmp スナップショット ファイル。
lpszPathName\quolog.log クォーラム ログ ファイル。
リソース>の lpszPathName\<GUID\*。Cpt GUID によって識別されるリソースのレジストリ チェックポイント ファイル。
リソース>の lpszPathName\<GUID\*。Cpr GUID によって識別されるリソースの暗号化チェックポイント ファイル。
lpszPathName\Clusbackup.dat バックアップ完了マーカー ファイル (読み取り専用、非表示、0 バイト ファイル)
 

同じ lpszPath パラメーターを使用する後続の BackupClusterDatabase 操作によって、既存のバックアップ ファイルが上書きされます。

可能であれば、バックアップ ディレクトリの複数のコピーを異なるメディアに作成し、これらのコピーを別の場所に保存します。

次の例は、静的バックアップ ルーチンを示しています。 RestoreClusterDatabase を組み込むより完全な例については、「クラスター構成のバックアップと復元」を参照してください。 この例では、フェールオーバー クラスターのドキュメントで定義されている 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
Library ClusAPI.lib
[DLL] ClusAPI.dll

こちらもご覧ください

バックアップと復元の機能

RestoreClusterDatabase