Je suis nouveau à la conception de la base de données. J'ai une tâche pour créer un cluster à haute disponibilité. J'ai beaucoup googlé, mais je n'ai trouvé aucun bon moyen de le faire sur PostgreSQL.
Où devrais-je commencer et quelles sont les étapes impliquées dans la création d'un cluster à haute disponibilité?
Il existe de nombreuses façons de mettre en place un cluster HA pour PostgreSQL. Certaines façons sont grandes et difficiles.
La méthode la plus facile est la suivante:
Cette méthode est la méthode la plus simple pour construire un cluster HA avec une dégradation gracieuse.
La plupart des méthodes de réplication sont généralement asynchrones. Je recommande ce qui suit:
N'oubliez pas que DRBD est une réplication synchrone du niveau de disque .
Puisque DRBD est un réseau actif/passif RAID-1, faisant la stonith (tirant l'autre Node dans la tête) doit être logé par un basculement automatique correctement scripté. De plus, la taille passive (AKA DRBD Secondaire ) n'a pas d'exécution PostgreSQL. DRBD sera simple que la configuration du réseau RAID-1 Effectuer une réplication de disque. L'UPScript que vous avez configuré pour UCARP ou votre battement de cœur devrait être responsable de la pessimisme en procédant comme suit:
/dev/drbd0
sur /var/lib/pgsql
Si vous utilisez un DBVIP uniquement sur un serveur uniquement, ne vous inquiétez pas du scénario cérébral scindé. Celui qui a le DBVIP déterminera où les données sont écrites. Si la DRBD secondaire (AKA Taille passive) exécute les quatre étapes susmentionnées, vous devez vous assurer que le sprunt pour UCARP ou HeartBeat détecte que le DBVIP (c'est-à-dire ping -c sur DBVIP et revient avec NOTHIN) est disponible pour vous avant de vous Run ip addr add DBVIP/32 dev (interface)
.
Une fois qu'un basculement automatique s'est produit, votre métaphorise gère la stonith en exécutant la baisse de l'UCARP ou du battement de cœur à
/var/lib/pgsql
À partir de /dev/drbd0
drbdadm disconnect drbd0
drbdadm secondary drbd0
Ensuite, lorsque vous savez que DBVIP est sur le nouveau primaire, goto le nouveau DRBD primaire et exécuté drbdadm connect drbd0
Et moniteur cat /proc/drbd
Pour vous assurer que le nouveau DRBD PRIMAR synchronise le nouveau DRBD Secondaire