IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Installation PostgreSQL Discussion :

Multi local minor instances


Sujet :

Installation PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2009
    Messages : 37
    Points : 40
    Points
    40
    Par défaut Multi local minor instances
    Bonjour

    Je souhaite fournir du PostgreSQL as a service à différents tenants.
    Mon archi type est la suivante:
    - 3 DC + chacun sa baie, 1 serveur physique par DC
    - couche cluster pacemaker/corosync, avec un resourceset pgsql-ha gérant 3 resources pgsql (1 master + 2 slaves, quorum à 2)
    - réplication streaming avec 1 sync (remote_apply) + 1 async (synchronous_standby_names à 1 (node 2, node 3))

    Je rencontre plusieurs problématiques dans mon administration quotidienne :
    - isolation des perfs: un tenant qui décide de faire des benchs (ou des bétises) peut impacter les autres (surtout avec le mode sync en remote_apply) + customisation du niveau de sync selon tenant (dégradable sur opé planifiée)
    - isolation des incidents: un tenant qui code comme ... vous pouvez l'imaginer et me laisse des connexions ouvertes pendant des heures alors qu'on transact à fond => bloat => chute des perfs => freeze du cluster => impact général et pas seulement de la db du tenant
    - isolation des droits d'admin (superusers) : qui pourraient avoir accès aux db des autres tenants ou décider de restart une instance qui host des db ne leur appartenant pas
    - planification des opérations de maintenance cluster/engine : obtenir un accord unanime de l'ensemble des tenants owners sur un créneau prend des semaines (et de l'énergie)

    Mon idée est de fournir une instance par tenant pour régler la majorité des problèmes:
    - il y aurait donc plusieurs instances en local avec chacune sa VIP layer 3 dédiée
    - côté hardware, le nouveau limitant serait alors le CPU (côté RAM ou I/O, on est Très larges, en TB et full flash)
    - côté réseau, on est sur du 25GB/s dédié, avec de l'iSCSI entre les nodes et le SAN
    - côté pcs/corosync, il peut gérer N resourcesset de resources pgsql indépendamment

    Ma 1ère difficulté se situe à l'installation des binaires en considérant les upgrades mineurs. Mon objectif ressemblant à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    /usr/pgsql-9.6.24/...
    /usr/pgsql-13.6/...
    /usr/pgsql-13.7/...
    /usr/pgsql-14.1/...
    /usr/pgsql-14.2/...
     
    +
     
    /var/lib/pgsql/data/instance_A
                      /instance_B
                      /instance_C
                      /instance_...
    /var/lib/pgsql/arch/instance_A
                      /instance_B
                      /instance_C
                      /instance_...
    Autant cela ne pose pas de problème pour les releases majeures (/usr/pgsql-X), autant pour les releases mineures, je n'ai pas de solution propre.
    J'en ai une avec yum install blabla --installroot=/usr/pgsql-X.y mais cela recrée toute l'arbo système en dessous (et je me retrouve avec /usr/pgsql-X.y/usr/pgsql-X/bin).
    J'ai également considéré de télécharger les sources et de les recompiler en adaptant les arborescences, mais sachant qu'il me faudrait refaire cela tous les 3 mois, j'imagine qu'il y a certainement une meilleure solution.

    Je ne suis pas parvenu à trouver d'exemple sur le net avec du multi-local-minor-instances pour Postgres.
    Avez-vous des documents ou des idées qui pourraient m'aider ?

    Merci à vous

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2009
    Messages : 37
    Points : 40
    Points
    40
    Par défaut
    One other idea would be to just copy/past directory /usr/pgsql-xxxx in my target, and always ensure links in /etc/alternatives & co are referring to the highest release
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /usr/pgsql-9.6
    /usr/pgsql-9.6.23
    /usr/pgsql-9.6.24
    /usr/pgsql-13
    /usr/pgsql-13.6
    /usr/pgsql-13.7
    [...]
    /etc/alternatives/pgsql-xxxxxx -> /usr/pgsql-13/bin/xxxxxx
    [...]

Discussions similaires

  1. [Débutant] Connexion en réseau local à une instance SQL SERVER 2008
    Par Luffy76380 dans le forum C#
    Réponses: 6
    Dernier message: 25/06/2013, 08h06
  2. [eCommerce] Caddie multi instance
    Par lolodev dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 18/11/2006, 21h23
  3. [TOMCAT]Multi-instances
    Par Nikko95 dans le forum Apache
    Réponses: 5
    Dernier message: 10/08/2005, 14h16
  4. Multi-instance
    Par blackstreet dans le forum Informix
    Réponses: 3
    Dernier message: 06/06/2005, 09h41
  5. FireBird - Multi instances
    Par Thomad dans le forum Débuter
    Réponses: 9
    Dernier message: 07/05/2004, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo