Comment installer Odoo en haute disponibilité et prêt pour une évolutivité de masse

Voir les catégories

Comment installer Odoo en haute disponibilité et prêt pour une évolutivité de masse

7 min de lecture

Vue d'ensemble #

Le but de cet article est d’expliquer comment créer une application de gestion de la relation client essentielle pour une entreprise telle que Odoo, hautement évolutif. En outre, comment le configurer en haute disponibilité afin d’être tolérant aux pannes et comment renforcer la sécurité de son accès.

Qu'est-ce que la haute disponibilité? #

La haute disponibilité est la qualité d'un système ou d'un composant qui assure un niveau élevé de performance opérationnelle, généralement une disponibilité, pendant une période supérieure à la normale.

C'est quoi odoo? #

Odoo (alias OpenERP) est un logiciel commercial open source qui intègre tous les besoins de l’entreprise, y compris la gestion de la relation client, la facturation, la comptabilité, les sites Web, la gestion d’entrepôts et de projets, la fabrication, les stocks, etc.

Mise en place RELIANOID Load Balancer #

et RELIANOID Load Balancer, nous pouvons assurer une haute disponibilité et nous préparer à une extensibilité de masse pour Odoo services en suivant les étapes ci-dessous.

Notez que, pour suivre ces instructions, il sera nécessaire d'installer une instance de RELIANOID Load Balancer et plusieurs instances de Odoo applications. De plus, il est très important que le Postgresql sont répliquées entre elles, afin d'assurer la cohérence.

L'environnement que nous allons décrire dans cet article est illustré ci-dessous.

Odoo HA HTTP

Étape 1: Créer une adresse IP virtuelle #

La création d'une adresse IP virtuelle dans l'équilibreur de charge est requise car elle sera le point d'entrée pour Odoo prestations de service. Dans notre exemple, nous aurons deux Odoo serveurs réels, mais vous pouvez en inclure autant que vous le souhaitez, sans aucune limitation. Pour créer une nouvelle adresse IP virtuelle, à partir du RELIANOID Menu principal LB, sélectionnez Paramètres-> Interfaces.

Odoo Créer une adresse IP virtuelle

Recherchez l’interface physique où vous voulez créer une adresse IP virtuelle et sous Action cliquez sur le bouton ajouter des interfaces réseau virtuelles.

Odoo Ajouter une interface réseau virtuelle

Tapez l'adresse et le masque de réseau de votre nouvelle adresse IP virtuelle. Ils doivent se trouver dans le même sous-réseau que le périphérique physique. Sauvegardez-le en cliquant sur le bouton enregistrer l'interface virtuelle.

Odoo enregistrer l'adresse IP virtuelle

Étape 2: Créer une batterie de serveurs http #

Une batterie de serveurs est un ensemble de serveurs informatiques qui fournissent une fonctionnalité de serveur augmentant considérablement sa capacité. Donc, en mettant en place une ferme de Odoo serveurs, nous augmenterons ses performances et son évolutivité, ce qui est essentiel pour la haute disponibilité. Pour y parvenir, allez à Gérer-> Fermes.

Odoo crée une ferme d'équilibrage de charge

Cliquez sur Ajouter une nouvelle ferme et dans la nouvelle fenêtre, sélectionnez un nom et HTTP comme profil. Nous sélectionnons le profil HTTP car c'est la meilleure option pour les services Web et il est nécessaire d'analyser le contenu de l'application afin de fournir la persistance au niveau de l'application.

Odoo Ferme d'équilibrage de charge HTTP

Deux autres options seront affichées. Sélectionnez l'adresse IP virtuelle créée à l'étape 1 et un port (dans l'exemple, nous choisissons 80, car il s'agit du protocole HTTP par défaut) et cliquez sur le bouton Enregistrer .

Odoo HTTP créer une ferme

Pour plus d'informations sur les fermes, veuillez vous référer à Gérer :: fermes.

Étape 3: Ajouter le service #

Une fois la batterie créée, nous devons la modifier pour ajouter un nouveau service. S'il vous plaît cliquer sur le bouton modifier la ferme.

Odoo modifier la ferme

Plusieurs détails de la batterie de serveurs peuvent être modifiés. Nous allons maintenant conserver les valeurs par défaut et ajouter un nouveau service.

Odoo modifier la ferme http

Dans la capture d'écran ci-dessus, trouvez le Ajouter une section de service, tapez le nom du service et cliquez sur Ajouter.

Odoo crée un service http

Pour le moment, nous allons laisser les valeurs par défaut et ajouter uniquement les backends où le Odoo de vrais services seront en cours d'exécution. Recherchez la section backends et cliquez sur le bouton Ajouter un serveur réel.

odoo ajouter de vrais serveurs

Inclure les adresses IP et les ports du Odoo services (services 8069 pour Odoo par défaut), le délai d’expiration et le poids, puis cliquez sur enregistrer le serveur réel.

odoo_configure_backends

Il faut éviter la commutation de serveur: si au cours de notre session nous sautons d'un serveur à un autre, il y aura une perte d'efficacité, de données et même de communication. Afin d'éviter ce comportement, le Session de persistance l'option doit être configurée. Nous choisirons de maintenir une session par identifiant de session, ce qui signifie que lors d’une session, nous ne nous connecterons qu’à un seul serveur.

Dans les paramètres globaux du service, nous pouvons maintenant changer le champ de session de persistance pour COOKIE: un certain cookie et cliquez sur Modifier.

Odoo configure le cookie

insérer session_id en tant qu'identifiant de session de persistance et cliquez sur Modifier.

Odoo sessionid configuration

Enfin, nous devons appliquer les modifications en redémarrant la batterie.

Odoo redémarrer le service

Félicitations! vous avez configuré Odoo en haute disponibilité. Vous pouvez y accéder en tapant http://[VIRTUAL_IP]:[PORT] (dans notre exemple http://192.168.56.200).

Étape 4: Bilan de santé avancé #

Nous allons maintenant configurer le gardien de la batterie de serveurs afin de procéder à des vérifications de l'état de santé avancées des systèmes dorsaux, afin de s'assurer qu'ils sont opérationnels et fonctionnent correctement, ainsi que le comportement correct de l'application, et pas uniquement la vérification du port TCP. Veuillez localiser le Gardien de ferme au sein du Odoo service que nous avons mis en place à l'étape 3. Cliquer sur Utilisez FarmGuardian pour vérifier les serveurs principaux, vous pouvez également modifier le temps entre le contrôle et enfin, dans Commande à vérifier textbox, tapez la commande suivante:

check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s ' '

Enfin, cliquez sur Modifier.

Configuration des contrôles de santé avancés Odoo

La commande check_http teste les connexions HTTP avec l'hôte spécifié. Dans notre cas, nous utilisons les options suivantes:

-J'ai l'hôte: Le jeton HOST sera remplacé par l'adresse IP principale définie.
-w 10: temps de réponse donnant lieu à un avertissement: secondes 10
-c 10: temps de réponse à l'état critique: secondes 10
-t 10: 10 secondes avant l'expiration de la connexion
-e 200: attend la chaîne 200 dans l'état de la réponse du serveur
-p PORT: Le jeton PORT sera remplacé par le port principal défini.
-s ' ': la chaîne à attendre dans le contenu est ' '

Cette vérification de l'état avancée garantit que nous obtenons une réponse 200 OK des vrais serveurs et que la commande de réponse contient la chaîne ' ». Nous sélectionnons cette chaîne car elle se trouve à la fin de la réponse, de cette façon nous pouvons garantir que nous obtenons une réponse correcte de l'application backends.

Step 5: Haute sécurité #

Odoo ne fournit pas un canal sécurisé pour la communication Web, mais nous pouvons facilement y parvenir avec RELIANOID Equilibreur de charge comme indiqué ci-dessous.

Odoo HA HTTPS

Nous devons configurer un écouteur HTTPS: sur le Modifier les paramètres globaux de la batterie écran, veuillez changer le listener de la batterie de HTTP en HTTPS et le Port virtuel à 443.

Configuration Odoo SSL HTTPS

À ce stade, Odoo peut être consulté en tapant https://[VIRTUAL_IP] dans votre navigateur.

Les communications sécurisées sont en cours d’exécution, mais nous pouvons aller plus loin en configurant les chiffrements HTTPS: dans les paramètres globaux de la batterie, localisez le Paramètres HTTPS section. Nous pouvons changer les chiffres en Haute sécurité.

Chiffres haute sécurité Odoo

Le champ chiffrements est utilisé pour créer une liste de chiffrements acceptés par le serveur HTTPS afin de renforcer la connexion SSL. En sélectionnant Haute sécurité, nous allons définir par défaut les chiffrements.

kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED

Une autre option est la Certificats HTTPS disponibles: une liste de certificats sera sélectionnée pour être sélectionnée pour la batterie actuelle (uniquement pour les batteries HTTP, ce qui est notre cas). Nous pouvons en sélectionner un dans la liste et cliquer sur Ajouter. Enfin, cliquez sur Modifier et redémarrez la batterie pour appliquer les modifications.

Enfin, la zencert.pem Le certificat peut être utilisé pour tester l'écouteur HTTPS, mais il est important d'utiliser votre propre certificat SSL.

Pour plus d'informations, veuillez vous référer à Fermes de profils HTTP.

Étape 6: base Web Odoo #

Odoo construit l'URL en tenant compte de son paramétrage web.base.url. Si on accède par RELIANOID Load Balancer, nous verrons l'URL basculer vers l'URL du backend. Comme nous avons configuré des communications sécurisées via HTTPS, cela pourrait poser un problème et nous ne pouvions naviguer que vers le Odoo URL de base. Pour éviter cela, nous devons définir le web.base.url paramètre dans chaque odoo serveur.

Pour ce faire, accédez à chaque serveur, et sur le panneau de gauche, allez à Technique >> Paramètres >> Paramètres système et changez le web.base.url à la RELIANOID IP virtuel de Load Balancer et port sélectionnés pour la batterie de serveurs odoo. Dans notre exemple, https: // 192.168.56.200 ou, mieux encore, https://odoo.mycompany.com.

Configuration de l'URL de la base Web Odoo

Les fonctionnalités techniques peuvent être désactivées. Si tel est le cas, les options techniques ne seront pas disponibles. Pour résoudre ce problème, sélectionnez Utilisateurs >> Utilisateurs, éditez l'utilisateur actuel et activez le Caractéristiques techniques option sous Convivialité.

Étape 7: Odoo Filestore #

Il existe plusieurs options pour configurer le magasin de fichiers en haute disponibilité.

1. Dans chaque backend, nous pouvons monter un stockage partagé et configurer le chemin local via le paramètre ir_attachment.location dans la section Paramètres >> Technique >> Paramètres >> Paramètres système.

2. Si nous n'avons pas d'unité pour assurer la haute disponibilité de la ressource partagée pour le magasin de fichiers, nous pouvons utiliser RELIANOID pour le créer pour un NFS (Network File System) pour pouvoir être monté dans chaque backend. Comme ce service utilise les ports TCP et UDP, nous pouvons créer un L4xNAT via tous les ports sous une certaine adresse IP virtuelle, qui sera utilisé pour configurer le montage automatiquement au démarrage / etc / fstab fichier.

3. Une autre option est de configurer SSHFS qui utilise le service sécurisé SSH pour utiliser un système de fichiers partagé distant. Comme le service SSH utilise le port TCP 22 par défaut, il est possible d’équilibrer la charge via un L4xNAT sans souci de la même manière que le cas NFS.

En fonction de la nécessité de créer une ressource de magasin de fichiers partagée active-active ou active-passive, une réplication ou une synchronisation des fichiers sera nécessaire.

Bien que ce sujet n'entre pas dans le cadre de cet article, il sera traité dans un article dédié.

Désormais, vos processus et opérations métier sont prêts à faire évoluer Odoo en haute disponibilité avec RELIANOID, prendre plaisir!

📄 Téléchargez ce document au format PDF #

    E-MAIL: *

    Sécurité accrue. Efforts réduits. Succès durable. Meilleurs Docs