Win32 API 日本語リファレンス
ホーム › Networking.Clustering › PCLUSAPI_BACKUP_CLUSTER_DATABASE

PCLUSAPI_BACKUP_CLUSTER_DATABASE

コールバック

シグネチャ

DWORD PCLUSAPI_BACKUP_CLUSTER_DATABASE(
    HCLUSTER hCluster,
    LPWSTR lpszPathName
);

パラメーター

フィールド型説明
hClusterHCLUSTERバックアップ対象のクラスターへのハンドルです。
lpszPathNameLPWSTRバックアップの作成先となるパスを指定する、null 終端の Unicode 文字列です。クラスターの構成情報がこの場所に保存されます。これは保護すべき機微なデータです。たとえば、アクセス制御リストを使用して、データが格納される場所へのアクセスを制限することで保護できます。

公式ドキュメント

[この関数は、「要件」セクションに記載されたオペレーティングシステムで使用できます。この関数のサポートは Windows Server 2008 で削除されており、この関数は何も行わずに ERROR_CALL_NOT_IMPLEMENTED を返します。]

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

戻り値

関数が成功した場合は ERROR_SUCCESS を返します。

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

解説(Remarks)

指定するパスは、UNC パスのように、すべてのクラスター ノード から参照できるパスであることが理想です。少なくとも、現在 クォーラムリソース を所有しているノードから参照できる必要があります。パスにファイル名を含めないでください。含めた場合、この関数は失敗し ERROR_DIRECTORY を返します。 パスの末尾に円記号(バックスラッシュ)を含めることはできます。

適切なパスを確実に用意する方法の 1 つとして、次のように一時的なネットワーク共有を作成する方法があります。

バックアップには次のファイルが含まれます。
パス\ファイル 説明
lpszPathName\chk????.tmp スナップショットファイル。
lpszPathName\quolog.log クォーラムログファイル。
lpszPathName\<GUID of resource>\*.CPT GUID で識別されるリソースのレジストリチェックポイントファイル。
lpszPathName\<GUID of resource>\*.CPR GUID で識別されるリソースの暗号チェックポイントファイル。
lpszPathName\Clusbackup.dat バックアップ完了マーカーファイル(読み取り専用、隠しファイル、0 バイトのファイル)

同じ lpszPath パラメーターを使用して以降に BackupClusterDatabase を実行すると、既存のバックアップファイルは上書きされます。

可能であれば、バックアップディレクトリの複製を異なるメディア上に複数作成し、それぞれ別の場所に保管してください。

例

次の例は、静的なバックアップルーチンを示しています。RestoreClusterDatabase を組み込んだ、より完全な例については Backing Up and Restoring the Cluster Configuration を参照してください。 この例では、フェールオーバークラスターのドキュメントで定義されている 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;
   }
 }
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)