J'utilise un NAS à double tête soutenu par ZFS pour le stockage partagé en cluster à haute disponibilité, basé sur l'architecture recommandée par Nexenta comme indiqué ici:
Les disques dans 1 JBOD stockent les fichiers de base de données pour une seule base de données Postgres de 4 To et les disques dans l'autre JBOD stockent 20 To de gros fichiers plats binaires bruts (résultats de cluster pour les simulations de collision d'objets stellaires volumineux). En d'autres termes, le JBOD soutenant les fichiers Postgres gérera principalement des charges de travail aléatoires tandis que le JBOD soutenant les résultats de la simulation gérera principalement des charges de travail en série. Les deux nœuds principaux ont 256 Go de mémoire et 16 cœurs. Le cluster a environ 200 cœurs chacun conservant une session Postgres, donc je m'attends à environ 200 sessions simultanées.
Je me demande s'il est sage dans ma configuration que les nœuds principaux ZFS agissent simultanément comme une paire miroir de serveurs de base de données Postgres pour mon cluster? Les seuls inconvénients que je peux voir sont:
- Moins de flexibilité pour faire évoluer mon infrastructure.
- Niveau de redondance légèrement inférieur.
- Mémoire et ressources CPU limitées pour Postgres.
Cependant, l'avantage que je vois est que ZFS est assez stupide quant au basculement automatique de toute façon et je n'ai pas à dépenser beaucoup de travail pour que chaque serveur de base de données Postgres détermine si un nœud principal a échoué car il échouera avec la tête nœud.
postmaster.pid
) entraîneront une grave corruption des données.