Actian Ingres reprise après sinistre
Emma McGrattan
31 mai 2024

La plupart des installations de production d'Actian Ingres nécessitent un certain degré de reprise après sinistre (DR). Les options vont de l'expédition nocturne des points de contrôle de la base de données vers des emplacements de stockage hors site à la réplication en temps quasi réel vers un site de reprise après sinistre hors site.
La base de données hybride d'entreprise Actian Ingres est livrée avec des fonctions intégrées de point de contrôle et d'expédition de journal qui fournissent les éléments de base pour construire des implémentations DR peu coûteuses et efficaces. L'une de ces implémentations est IngresSync, qui utilise les fonctionnalités natives de point de contrôle/envoi de journal et de retour incrémentiel d'Actian Ingres pour mettre en œuvre une solution de reprise après sinistre rentable.
IngresSync fonctionne sur le concept d'installations Actian Ingres source et cible. L'installation source est l'environnement de production actuellement actif. La cible, ou plusieurs cibles si nécessaire, est maintenue à jour par une tâche IngresSync programmée pour s'exécuter à un intervalle utilisateur. Chaque opération de synchronisation ne copie que les journaux créés depuis la synchronisation précédente et applique ces transactions aux cibles. Les points de contrôle pris sur le nœud source sont automatiquement copiés et reportés sur toutes les cibles.
Exemple
Supposons que nous ayons un environnement dans lequel l'installation de production est hébergée sur node corp et que nous devions créer deux sites DR dreast et drwest.
Les nœuds DR ont chacun besoin :
- Une installation d'Ingres à la même version et au même niveau de correctifs que corp.
- SSH sans mot de passe configuré vers et depuis les autres nœuds.
- Ingres/Net VNODE aux autres nœuds.
Pour configurer cet environnement, nous devons d'abord désigner les hôtes source et cible et appliquer le dernier point de contrôle source aux cibles.
ingresSync --source=corp --target=dreast,drwest --database=corpdb --iid=II --ckpsync --restart
Les deux installations cibles sont maintenant synchronisées avec la source et les bases de données cibles sont dans l'état de rollforward incrémental (INCR_RFP). Cet état permet d'appliquer des revues de façon incrémentale pour maintenir les cibles synchronisées avec la source. Le rollforward incrémental est effectué par :
ingresSync --hosts=corp,dreast,drwest --database=corpdb --iid=II --jnlsync
Lorsqu'elle est exécutée, cette étape ferme le journal en cours sur la source, copie les nouveaux journaux sur les cibles, et fait suivre ces journaux sur les cibles. L'étape de synchronisation des journaux doit être configurée pour être exécutée à intervalles réguliers à l'aide du planificateur du système, tel que cron. Une exécution fréquente permet de réduire au minimum le délai de synchronisation entre la source et les cibles.
Les installations cibles de dreast et drwest sont maintenant synchronisées avec l'installation source de corp. Si l'environnement de corp subit une panne matérielle ou logicielle, nous pouvons désigner l'un des nœuds cibles comme nouvelle source et diriger les connexions des clients vers ce nœud. Dans ce cas, nous désignerons drwest comme nouvelle source et dreast restera une cible (site DR).
ingresSync --target=drwest --database=corpdb --iid=II --incremental_done
La base de données corpdb drwest sort ainsi du mode rollforward incrémental ; la base de données exécute désormais les transactions de lecture et de mise à jour et constitue la nouvelle source. La base de données dreast est toujours en mode rollforward incrémental et continuera à fonctionner en tant que nœud cible DR.
Comme le nœud corp n'est plus disponible, la tâche de synchronisation du journal doit être lancée sur drwest ou dreast. Le travail de synchronisation du journal peut être configuré et planifié pour s'exécuter sur les trois nœuds à l'aide de l'option -strict. Dans ce cas, le travail détermine s'il s'exécute sur le nœud source actuel ; si c'est le cas, il s'exécute normalement. S'il s'exécute sur une cible, le travail se terminera simplement. Cette configuration permet de poursuivre la synchronisation même si les rôles des nœuds changent.
Une fois que le corp est de nouveau en ligne, il peut être réintégré dans la configuration en tant que cible DR.
ingresSync --source=drwest --target=corp --database=corpdb --iid=II --ckpsync --restart
À un moment donné, il se peut que nous devions revenir à la configuration d'origine avec corp comme source. Les étapes sont les suivantes :
- Mettre fin à toutes les connexions de la base de données à drwest
-
Synchronisation
corps
avec
drwest
pour garantir
corps
est en cours ingresSync --source=drwest --cible=corp --base de données=corpdb --iid=II --jnlsync
-
Réassigner les rôles des nœuds ingresSync --target=corp --database=corpdb --iid=II --incremental_done ingresSync --source=corp --cible=drwest --base=corpdb --iid=II --ckpsync --restart
Résumé
IngresSync est un mécanisme permettant de mettre en œuvre une solution de reprise après sinistre. Il est généralement approprié dans les cas où un certain degré de retard est acceptable et où les installations cibles ont peu ou pas d'activité d'utilisateur base de données. Les bases de données cibles peuvent être utilisées pour des applications en lecture seule, à condition que les rollforwards incrémentaux ne puissent pas être exécutés tant que des connexions à la base de données sont actives. Le processus de rollforward rattrapera le premier cycle de rafraîchissement lorsqu'il n'y a pas de connexions actives à la base de données.
Les principaux avantages et inconvénients des méthodes alternatives de reprise après sinistre pour Actian Ingres sont présentés ci-dessous :
Fonctionnalités | Checkpoint Shipping | IngresSync | Réplication |
Champ d'application | Base de données | Base de données | Tableau |
Granularité | Base de données | Journal | Transaction |
Fréquence de synchronisation | Point de contrôle | utilisateur Défini | Transaction |
Base de données cible | Lecture/écriture(1) | en lecture seule | Lecture/écriture(2) |
- La base de données cible prend en charge les opérations de lecture et d'écriture, mais toutes les modifications sont perdues lors de la prochaine actualisation du point de contrôle.
- La base de données cible prend en charge les opérations de lecture et d'écriture, mais il peut y avoir des conflits de mise à jour qui nécessitent une résolution manuelle.
Remarque : IngresSync fonctionne actuellement sous Linux et Microsoft Windows. Les environnements Windows nécessitent le paquetage Cygwin de base et rsync.
S'abonner au blog d'Actian
Abonnez-vous au blogue d'Actian pour recevoir des renseignements sur les données directement à vous.
- Restez informé - Recevez les dernières informations sur l'analyse des données directement dans votre boîte de réception.
- Ne manquez jamais un article - Vous recevrez des mises à jour automatiques par courrier électronique pour vous avertir de la publication de nouveaux articles.
- Tout dépend de vous - Modifiez vos préférences de livraison en fonction de vos besoins.