Le disque Persistent Disk régional permet une réplication synchrone des données entre deux zones d'une même région. Vous pouvez utiliser un disque Persistent Disk régional comme élément de base lorsque vous mettez en œuvre des services à haute disponibilité dans Compute Engine.
Ce document décrit les différents scénarios pouvant perturber le fonctionnement de votre volume de disque Persistent Disk régional et explique comment les gérer.
Avant de commencer
- Passez en revue les principes de base de la réplication et du basculement zonaux des disques persistants régionaux. Pour en savoir plus, consultez la page À propos des disques persistants régionaux.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
gcloud
-
Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :
gcloud init
-
Scénarios d'échec
Avec les disques persistants régionaux, lorsque l'appareil est entièrement répliqué, les données sont automatiquement répliquées sur deux zones d'une région. Une opération d'écriture est exécutée sur une instance de machine virtuelle (VM) lorsque les données sont conservées de façon durable dans les deux instances répliquées.
Si la réplication sur une zone échoue ou est très lente pendant un certain temps, l'état de la réplication du disque passe à dégradé. Dans ce mode, une opération d'écriture est confirmée une fois que les données ont été conservées de façon durable dans une instance répliquée.
Si Compute Engine détecte que la réplication peut être réactivée, les données précédemment écrites depuis que l'appareil est passé à l'état dégradé sont synchronisées dans les deux zones, et le disque revient à un état entièrement répliqué. Cette transition est entièrement automatisée.
Les valeurs RPO et RTO ne sont pas définies lorsqu'un appareil est dégradé. Pour minimiser les pertes de données et/ou de disponibilité en cas de défaillance d'un disque en état dégradé, nous vous recommandons de sauvegarder régulièrement vos disques persistants régionaux en utilisant des instantanés standard. Vous pouvez récupérer un disque en restaurant l'instantané.
Défaillances zonales
Un volume de disque Persistent Disk régional est répliqué de manière synchrone sur les instances répliquées des zones principale et secondaire. Les défaillances zonales se produisent lorsqu'une instance répliquée zonale tombe en panne et devient indisponible. Les défaillances zonales peuvent se produire dans l'une des zones pour l'une des raisons suivantes :
- Il y a une indisponibilité de zone.
- L'instance répliquée présente un ralentissement excessif des opérations d'écriture.
Le tableau suivant fournit les différents scénarios de défaillance zonale que vous pouvez rencontrer pour un disque Persistent Disk régional, ainsi que l'action recommandée pour chaque scénario. Dans chacun de ces scénarios, nous partons du principe que votre instance répliquée zonale principale est opérationnelle et synchronisée pendant l'état initial.
État initial du disque | Échec dans | Nouvel état du disque | Conséquences de l'échec | Mesure à prendre |
---|---|---|---|---|
Instance répliquée principale : synchronisée Instance répliquée secondaire : synchronisée État du disque : entièrement répliqué Disque associé dans : zone principale |
Zone principale |
Instance répliquée principale : non synchronisée ou indisponible Instance répliquée secondaire : synchronisée État du disque : dégradé Disque associé dans : zone principale |
|
Basculez le disque en forçant l'association à une VM dans la zone secondaire opérationnelle. |
Instance répliquée principale : synchronisée Instance répliquée secondaire : synchronisée État du disque : entièrement répliqué Disque associé dans : zone principale |
Zone secondaire |
Instance répliquée principale : synchronisée Instance répliquée secondaire : désynchronisée ou indisponible État du disque : dégradé Disque associé dans : zone principale |
|
Aucune action de votre part n'est requise. Compute Engine synchronise l'instance répliquée défaillante dans la zone secondaire lorsqu'elle est à nouveau disponible. |
Instance répliquée principale : synchronisée Instance répliquée secondaire : non synchronisée et indisponible État du disque : dégradé Disque associé dans : zone principale |
Zone principale |
Instance répliquée principale : synchronisée, mais indisponible Instance répliquée secondaire : non synchronisée État du disque : non disponible Disque associé dans : zone principale |
|
Nous vous recommandons d'utiliser un instantané standard existant et de créer un disque pour récupérer vos données. Il est recommandé de sauvegarder régulièrement les volumes de disque Persistent Disk régionaux à l'aide d'instantanés standards. |
Instance répliquée principale : synchronisée Instance répliquée secondaire : en récupération mais disponible État du disque : en récupération Disque associé dans : zone principale |
Zone principale |
Instance répliquée principale : non disponible Instance répliquée secondaire : en récupération mais disponible État du disque : non disponible Disque associé dans : zone principale |
|
|
Instance répliquée principale : synchronisée Instance répliquée secondaire : non synchronisée, mais disponible État du disque : dégradé Disque associé dans : zone principale |
Zone principale |
Instance répliquée principale : non disponible Instance répliquée secondaire : non synchronisée, mais disponible État du disque : non disponible Disque associé dans : zone principale |
|
|
Défaillances des applications et des VM
En cas de pannes causées par une mauvaise configuration de la VM, un échec de mise à niveau du système d'exploitation ou d'autres défaillances d'applications, vous pouvez forcer l'association (force-attach
) de votre disque Persistent Disk régional sur une instance de VM de la même zone.
Catégorie de défaillance (probabilité) | Types de défaillances | Action |
---|---|---|
Défaillance de l'application (élevée) |
|
Le plan de contrôle des applications peut déclencher le basculement en fonction des seuils de vérification de l'état. |
Défaillance de la VM (moyenne) |
|
Les VM sont généralement autoréparées. Le plan de contrôle des applications peut déclencher le basculement en fonction des seuils de vérification de l'état. |
Corruption de l'application (faible à moyenne) |
Corruption des données d'application (par exemple, en raison de bugs au niveau de l'application ou d'un échec de mise à niveau du système d'exploitation) |
Reprise de l'application :
|
Faire basculer votre disque persistant régional à l'aide de force-attach
En cas de défaillance de la zone principale, vous pouvez basculer votre volume Persistent Disk régional vers une VM d'une autre zone en effectuant une opération d'association forcée. En cas de défaillance dans la zone principale, vous ne pourrez peut-être pas dissocier le disque de la VM, car la VM est inaccessible. L'association forcée vous permet d'associer un volume Persistent Disk régional à une VM, même si ce volume est associé à une autre VM. Une fois l'association forcée effective, Compute Engine empêche la VM d'origine d'écrire sur le volume Persistent Disk régional. L'opération d'association forcée vous permet d'accéder à nouveau à vos données et de récupérer votre service de manière sécurisée. Vous avez également la possibilité d'arrêter manuellement l'instance de VM après avoir effectué l'opération d'association forcée.
Pour forcer l'association d'un disque existant à une VM, procédez comme suit :
Console
Accédez à la page Instances de VM.
Sélectionnez votre projet.
Cliquez sur le nom de la VM que vous souhaitez modifier.
Sur la page des détails, cliquez sur Modifier.
Dans la section Disques supplémentaires, cliquez sur Associer un disque supplémentaire.
Sélectionnez le volume Persistent Disk régional dans la liste déroulante.
Pour forcer l'association du disque, cochez la case Forcer l'association du disque.
Cliquez sur OK, puis sur Enregistrer.
Vous pouvez effectuer les mêmes étapes pour forcer l'association (force-attach
) d'un disque sur la VM d'origine une fois l'échec résolu.
gcloud
Dans gcloud CLI, exécutez la commande instances attach-disk
pour associer le disque d'instance répliquée à une instance de VM. Spécifiez l'option --disk-scope
et définissez-la sur regional
.
gcloud compute instances attach-disk VM_NAME \
--disk DISK_NAME --disk-scope regional \
--force-attach
Remplacez les éléments suivants :
VM_NAME
: le nom de la nouvelle instance de VM dans la régionDISK_NAME
: le nom du disque
Après avoir forcé l'association (force-attach
) du disque, vous pouvez, si nécessaire, y installer les systèmes de fichiers. L'instance de VM peut utiliser ce disque pour continuer les opérations de lecture et d'écriture.
REST
Envoyez une requête POST
à la méthode compute.instances.attachDisk
et incluez l'URL du volume de disque persistant que vous venez de créer.
Le paramètre de requête forceAttach=true
est requis pour associer le disque à la nouvelle instance de VM même si celui-ci est toujours présent dans l'instance de VM principale.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk?forceAttach=true
{
"source": "projects/PROJECT_ID/regions/REGION/disks/DISK_NAME"
}
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.ZONE
: l'emplacement de votre instance de VM.VM_NAME
: le nom de l'instance de VM à laquelle vous ajoutez le nouveau volume Persistent Disk.REGION
: la région où se trouve le volume Persistent Disk régional.DISK_NAME
: le nom du nouveau disque
Après avoir associé le disque source, installez les systèmes de fichiers sur les disques si nécessaire. L'instance de VM peut utiliser le disque source pour poursuivre des opérations de lecture et d'écriture.
Utiliser le point de contrôle de récupération des instances répliquées pour récupérer des volumes Persistent Disk régionaux dégradés
Un point de contrôle de récupération de l'instance répliquée représente le moment le plus récent cohérent avec les plantages dans le temps d'un volume Persistent Disk régional entièrement répliqué. Compute Engine vous permet de créer des instantanés standards à partir du point de contrôle de récupération des instances répliquées pour les disques dégradés.
Dans de rares cas, lorsque votre disque est dégradé, l'instance répliquée zonale synchronisée avec les dernières données de disque peut également échouer avant que l'instance répliquée non synchronisée ne la rattrape. Vous ne pouvez pas forcer l'association du disque aux VM dans l'une des zones. Votre volume de disque persistant régional devient indisponible et vous devez transférer les données vers un nouveau disque. Dans de tels scénarios, si vous ne disposez d'aucun instantané standard existant pour votre disque, vous pouvez peut-être récupérer vos données de disque à partir de l'instance répliquée incomplète à l'aide d'un instantané standard créé à partir du point de contrôle de récupération de l'instance répliquée. Consultez la page Procédure de migration et de récupération de données de disque pour connaître la procédure détaillée.
Rôles requis
Pour obtenir les autorisations nécessaires pour migrer des données Persistent Disk régionales à l'aide d'un point de contrôle de récupération d'instance répliquée, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Pour migrer des données Persistent Disk régionales à l'aide d'un point de contrôle de récupération d'instance répliquée : Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) sur le projet
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Ces rôles prédéfinis contiennent les autorisations requises pour migrer des données Persistent Disk régionales à l'aide d'un point de contrôle de récupération d'instance répliquée. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour migrer des données Persistent Disk régionales à l'aide d'un point de contrôle de récupération d'instance répliquée :
-
Pour créer un instantané standard à partir du point de contrôle de récupération de l'instance répliquée, procédez comme suit :
-
compute.snapshots.create
compute.disks.createSnapshot
-
-
Pour créer un disque Persistent Disk régional à partir de l'instantané standard :
compute.disks.create
-
Pour migrer des VM vers le nouveau disque, procédez comme suit :
compute.instances.attachDisk
-
compute.disks.use permission
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Procédure de migration et de récupération des données de disque
Pour récupérer et migrer les données d'un volume Persistent Disk régional à l'aide du point de contrôle de récupération de l'instance répliquée, procédez comme suit :
Créez un instantané standard du volume Persistent Disk régional affecté à partir de son point de contrôle de récupération de l'instance répliquée. Vous pouvez créer l'instantané standard pour un disque à partir de son point de contrôle de récupération d'instance répliquée uniquement à l'aide de la Google Cloud CLI ou de REST.
gcloud
Pour créer un instantané à l'aide du point de contrôle de récupération, exécutez la commande
gcloud compute snapshots create
. Incluez l'option--source-disk-for-recovery-checkpoint
pour spécifier que vous souhaitez créer l'instantané à l'aide d'un point de contrôle de récupération d'instance répliquée. Excluez les paramètres--source-disk
et--source-disk-region
.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-for-recovery-checkpoint=SOURCE_DISK \ --source-disk-for-recovery-checkpoint-region=SOURCE_REGION \ --storage-location=STORAGE_LOCATION \ --snapshot-type=SNAPSHOT_TYPE
Remplacez les éléments suivants :
DESTINATION_PROJECT_ID
: ID du projet dans lequel vous souhaitez créer l'instantané.SNAPSHOT_NAME
: nom de l'instantané.SOURCE_DISK
: nom ou chemin d'accès complet du disque source que vous souhaitez utiliser pour créer l'instantané. Pour spécifier le chemin d'accès complet d'un disque source, utilisez la syntaxe suivante :projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME
Si vous spécifiez le chemin d'accès complet au disque source, vous pouvez exclure l'option
--source-disk-for-recovery-checkpoint-region
. Si vous ne spécifiez que le nom du disque, vous devez inclure cette option.Pour créer un instantané à partir du point de contrôle de récupération d'un disque source dans un autre projet, vous devez spécifier le chemin d'accès complet au disque source.
SOURCE_PROJECT_ID
: ID de projet du disque source dont vous souhaitez utiliser le point de contrôle pour créer l'instantané.SOURCE_REGION
: nom du disque source dont vous souhaitez utiliser le point de contrôle pour créer l'instantané.SOURCE_DISK_NAME
: nom du disque source dont vous souhaitez utiliser le point de contrôle pour créer l'instantané.STORAGE_LOCATION
: Facultatif : emplacement multirégional Cloud Storage ou la région Cloud Storage dans laquelle vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.
Utilisez l'option--storage-location
uniquement lorsque vous souhaitez remplacer l'emplacement de stockage par défaut prédéfini ou personnalisé configuré dans vos paramètres d'instantanés.SNAPSHOT_TYPE
: type d'instantané, STANDARD ou ARCHIVE. Si aucun type d'instantané n'est spécifié, un instantané STANDARD est créé.
Vous pouvez utiliser un point de contrôle de récupération d'instance répliquée pour créer un instantané uniquement sur des disques dégradés. Si vous créez un instantané à partir d'un point de contrôle de récupération d'instance répliquée lorsque l'appareil est entièrement répliqué, le message d'erreur suivant s'affiche :
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
REST
Pour créer un instantané à l'aide du point de contrôle de récupération, envoyez une requête
POST
à la méthodesnapshots.insert
. Excluez le paramètresourceDisk
et incluez à la place le paramètresourceDiskForRecoveryCheckpoint
pour spécifier que vous souhaitez créer l'instantané à l'aide du point de contrôle.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDiskForRecoveryCheckpoint": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "storageLocations": "STORAGE_LOCATION", "snapshotType": "SNAPSHOT_TYPE" }
Remplacez les éléments suivants :
DESTINATION_PROJECT_ID
: ID du projet dans lequel vous souhaitez créer l'instantané.SNAPSHOT_NAME
: nom de l'instantané.SOURCE_DISK
: nom ou chemin d'accès complet du disque source que vous souhaitez utiliser pour créer l'instantané. Pour spécifier le chemin d'accès complet d'un disque source, utilisez la syntaxe suivante :projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME
Si vous spécifiez le chemin d'accès complet au disque source, vous pouvez exclure l'option
--source-disk-for-recovery-checkpoint-region
. Si vous ne spécifiez que le nom du disque, vous devez inclure cette option.Pour créer un instantané à partir du point de contrôle de récupération d'un disque source dans un autre projet, vous devez spécifier le chemin d'accès complet au disque source.
SOURCE_PROJECT_ID
: ID de projet du disque source dont vous souhaitez utiliser le point de contrôle pour créer l'instantané.SOURCE_REGION
: nom du disque source dont vous souhaitez utiliser le point de contrôle pour créer l'instantané.SOURCE_DISK_NAME
: nom du disque source dont vous souhaitez utiliser le point de contrôle pour créer l'instantané.STORAGE_LOCATION
: Facultatif : emplacement multirégional Cloud Storage ou la région Cloud Storage dans laquelle vous souhaitez stocker l'instantané. Vous ne pouvez spécifier qu'un seul emplacement de stockage.
N'utilisez le paramètrestorageLocations
que si vous souhaitez ignorer l'emplacement de stockage par défaut prédéfini ou personnalisé configuré dans vos paramètres d'instantanés.SNAPSHOT_TYPE
: type d'instantané, STANDARD ou ARCHIVE. Si aucun type d'instantané n'est spécifié, un instantané STANDARD est créé.
Vous pouvez utiliser un point de contrôle de récupération d'instance répliquée pour créer un instantané uniquement sur des disques dégradés. Si vous créez un instantané à partir d'un point de contrôle de récupération d'instance répliquée lorsque l'appareil est entièrement répliqué, le message d'erreur suivant s'affiche :
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
Créez un volume Persistent Disk régional à l'aide de cet instantané. Lorsque vous créez le disque, vous récupérez toutes les données du point de contrôle de récupération le plus récent en déplaçant les données vers le nouveau disque. Pour obtenir la procédure détaillée, consultez la page Créer une VM avec des disques de démarrage Persistent Disk régionaux.
Migrez toutes les charges de travail de VM vers le nouveau disque et vérifiez que ces charges de travail de VM s'exécutent correctement. Pour en savoir plus, consultez la page Déplacer une VM d'une zone ou d'une région à une autre.
Après avoir récupéré et migré vos données de disque et de VM vers le volume Persistent Disk régional que vous venez de créer, vous pouvez reprendre vos opérations.
Déterminer le RPO fourni par le point de contrôle de récupération de l'instance répliquée
Cette section explique comment déterminer le RPO fourni par le dernier point de contrôle de récupération d'une instance répliquée d'un volume Persistent Disk régional.
Les instances répliquées zonales sont entièrement synchronisées
Compute Engine actualise le point de contrôle de récupération d'instance répliquée de votre volume Persistent Disk régional environ toutes les 10 minutes. Par conséquent, lorsque vos instances répliquées zonales sont entièrement synchronisées, le RPO est d'environ 10 minutes.
Les instances répliquées zonales ne sont pas synchronisées
Vous ne pouvez pas afficher les horodatages de création et d'actualisation exacts d'un point de contrôle de récupération d'instance répliquée. Toutefois, vous pouvez estimer le RPO approximatif fourni par votre dernier point de contrôle à l'aide des données suivantes :
- Horodatage le plus récent de l'état du disque entièrement répliqué : vous pouvez obtenir ces informations en utilisant les données Cloud Monitoring de Persistent Disk régionales pour la métrique
replica_state
. Vérifiez les données de métriquereplica_state
de l'instance répliquée non synchronisée afin de déterminer à quel moment l'instance répliquée n'est plus synchronisée. Comme Compute Engine actualise le point de contrôle du disque toutes les 10 minutes, l'actualisation la plus récente du point de contrôle a pu avoir lieu environ 10 minutes avant cet horodatage. - Horodatage de l'opération d'écriture la plus récente : vous pouvez obtenir ces informations à l'aide des données Cloud Monitoring de Persistent Disk pour la métrique
write_ops_count
. Vérifiez les données de métriqueswrite_ops_count
pour déterminer l'opération d'écriture la plus récente pour le disque.
Une fois que vous avez déterminé ces horodatages, utilisez la formule suivante pour calculer le RPO approximatif fourni par le point de contrôle de récupération d'instance répliquée de votre disque. Si la valeur calculée est inférieure à zéro, le RPO est effectivement nul.
Approximate RPO provided by the latest checkpoint =
(Most recent write operation timestamp - (Most recent timestamp of the fully
replicated disk state - 10 minutes))
Étapes suivantes
- Apprenez à surveiller les états des instances répliquées des volumes Persistent Disk régionaux.
- Apprenez à déterminer l'état de réplication d'un Persistent Disk régional.
- Découvrez comment créer un instantané de volume Persistent Disk régional.
- Apprenez à créer des services à haute disponibilité à l'aide du Persistent Disk régional.
- Apprenez à créer des applications Web fiables et évolutives sur Google Cloud.
- Consultez le Guide de planification de reprise après sinistre.