Partager via


BackupClusterDatabase, fonction (clusapi.h)

[Cette fonction peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. La prise en charge de cette fonction a été supprimée dans Windows Server 2008 et cette fonction ne fait rien et retourne ERROR_CALL_NOT_IMPLEMENTED.]

Crée une sauvegarde de la base de données de cluster et de tous les points de contrôle du Registre.

Syntaxe

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

Paramètres

[in] hCluster

Gérez le cluster à sauvegarder.

[in] lpszPathName

Chaîne Unicode terminée par null spécifiant le chemin d’accès à l’emplacement où la sauvegarde doit être créée. Les informations de configuration du cluster seront enregistrées à cet emplacement ; il s’agit de données sensibles qui doivent être protégées. Par exemple, ces données peuvent être protégées à l’aide d’une liste de contrôle d’accès pour restreindre l’accès à l’emplacement où les données sont stockées.

Valeur retournée

Si la fonction réussit, elle retourne ERROR_SUCCESS.

Si la fonction échoue, elle retourne l’un des codes d’erreur système.

Remarques

Dans l’idéal, le chemin d’accès spécifié doit être un chemin visible pour tous les nœuds de cluster, par exemple un chemin UNC. Au minimum, le chemin d’accès doit être visible pour le nœud qui possède actuellement la ressource de quorum. N’incluez pas de nom de fichier dans le chemin d’accès, sinon la fonction échoue, ce qui renvoie ERROR_DIRECTORY. Le chemin peut inclure une barre oblique inverse de fin.

Une façon de s’assurer qu’un chemin d’accès approprié existe consiste à créer un partage réseau temporaire, comme suit :

  • Appelez la fonction NetShareAdd pour créer un partage réseau temporaire. Tous les nœuds de cluster doivent avoir un accès en écriture à ce partage.
  • Appelez BackupClusterDatabase, en spécifiant le partage temporaire dans le paramètre lpszPathName .
  • Copiez les fichiers de sauvegarde (voir ci-dessous) dans un ou plusieurs emplacements de stockage sécurisés.
  • Appelez la fonction NetShareDel pour supprimer le partage.
La sauvegarde contient les fichiers suivants.
Chemin d’accès\Fichier Description
lpszPathName\chk????. Tmp Fichiers d’instantanés.
lpszPathName\quolog.log Fichier journal de quorum.
lpszPathName\<GUID de la ressource>\*. CPT Fichiers de point de contrôle du Registre pour la ressource identifiée par guid.
lpszPathName\<GUID de la ressource>\*. CPR Fichiers de point de contrôle de chiffrement pour la ressource identifiée par GUID.
lpszPathName\Clusbackup.dat Fichier de marqueur d’achèvement de la sauvegarde (fichier en lecture seule, masqué, 0 octet)
 

Les opérations BackupClusterDatabase suivantes qui utilisent le même paramètre lpszPath remplacent les fichiers de sauvegarde existants.

Si possible, effectuez plusieurs copies du répertoire de sauvegarde sur différents supports et stockez ces copies dans des emplacements distincts.

Exemples

L’exemple suivant illustre une routine de sauvegarde statique. Pour obtenir un exemple plus complet incorporant RestoreClusterDatabase, consultez Sauvegarde et restauration de la configuration du cluster. Cet exemple utilise le fichier d’en-tête ClusDocEx.h défini dans la documentation du cluster de basculement.


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;
   }
 }

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 Entreprise, Windows Server 2003 Datacenter
Plateforme cible Windows
En-tête clusapi.h
Bibliothèque ClusAPI.lib
DLL ClusAPI.dll

Voir aussi

Fonctions de sauvegarde et de restauration

RestoreClusterDatabase