Wie installiert man Odoo in hoher Verfügbarkeit und bereit für die Massenskalierbarkeit

GESCHRIEBEN VON Zevenet | 11. Februar 2017

Übersicht

In diesem Artikel wird erläutert, wie eine für ein Unternehmen kritische CRM-Anwendung erstellt wird Odoohoch skalierbar. Wie wird es in hoher Verfügbarkeit eingerichtet, um Ausfällen tolerant zu sein, und wie die Sicherheit des Zugriffs darauf zu erhöhen ist.

Was ist Hochverfügbarkeit?

Hochverfügbarkeit ist die Qualität eines Systems oder einer Komponente, die eine hohe Betriebsleistung (normalerweise Betriebszeit) für einen längeren Zeitraum gewährleistet.

Was ist Odoo?

Odoo (aka OpenERP) ist eine Open-Source-Software für Unternehmen, die alle Geschäftsanforderungen wie CRM, Rechnungswesen, Buchhaltung, Website, Lager- und Projektmanagement, Fertigung, Inventar und vieles mehr integriert.

Zevenet Load Balancer einrichten

mit Zevenet Mit Load Balancer können wir eine hohe Verfügbarkeit sicherstellen und uns auf die Skalierbarkeit der Daten vorbereiten Odoo Dienste, indem Sie die folgenden Schritte ausführen.

Beachten Sie, dass zum Befolgen dieser Anweisungen eine Instanz von installiert werden muss Zevenet Load Balancer und mehrere Instanzen von Odoo Anwendungen. Darüber hinaus ist es sehr wichtig, dass die Postgresql werden zwischen ihnen repliziert, um Konsistenz zu gewährleisten.

Die Umgebung, die wir in diesem Artikel beschreiben werden, ist unten dargestellt.

Odoo HA HTTP

Schritt 1: Erstellen Sie eine virtuelle IP

Die Erstellung einer virtuellen IP im Load Balancer ist erforderlich, da dies der Einstiegspunkt ist Odoo Dienstleistungen. In unserem Beispiel haben wir zwei Odoo echte Server, aber Sie können ohne Einschränkung beliebig viel hinzufügen. Zum Erstellen einer neuen virtuellen IP von der Zevenet LB-Hauptmenü auswählen Einstellungen-> Schnittstellen.

Odoo Virtuelle IP erstellen

Suchen Sie die physische Schnittstelle, unter der Sie eine virtuelle IP erstellen möchten Aktionen Klicken Sie auf die Schaltfläche Fügen Sie virtuelle Netzwerkschnittstellen hinzu.

Odoo Virtuelle Netzwerkschnittstelle hinzufügen

Geben Sie die Adresse und Netzmaske Ihrer neuen virtuellen IP ein. Sie muss sich in demselben Subnetz befinden wie das physische Gerät. Speichern Sie es, indem Sie auf die Schaltfläche klicken Virtuelle Schnittstelle speichern.

Odoo speichern virtuelle IP

Schritt 2: Erstellen Sie eine http-Farm

Eine Farm ist eine Sammlung von Computerservern, die Serverfunktionalität bereitstellen, wodurch ihre Funktionalität erheblich gesteigert wird. Also, indem Sie eine Farm von Odoo Server werden wir die Leistung und Skalierbarkeit erhöhen, was für eine hohe Verfügbarkeit unerlässlich ist. Um dies zu erreichen, gehen Sie zu Verwalten-> Farmen.

Odoo erstellt eine Lastausgleichsfarm

Klicke auf Neue Farm hinzufügen und wählen Sie im neuen Fenster einen Namen und HTTP als Profil. Wir wählen das HTTP-Profil aus, da es die beste Option für Webdienste ist und der Anwendungsinhalt analysiert werden muss, um die Persistenz auf Anwendungsebene zu gewährleisten.

Odoo-HTTP-Lastausgleichsfarm

Zwei weitere Optionen werden angezeigt. Wählen Sie die in Schritt 1 erstellte virtuelle IP und einen Port aus (im Beispiel wählen Sie 80, da dies standardmäßig für das HTTP-Protokoll gilt) und klicken Sie auf Spare .

Odoo HTTP-Farm erstellen

Weitere Informationen zu landwirtschaftlichen Betrieben finden Sie unter Verwalten :: Farmen.

Schritt 3: Fügen Sie den Dienst hinzu

Nachdem die Farm erstellt wurde, müssen wir sie bearbeiten, um einen neuen Dienst hinzuzufügen. Bitte klicken Sie auf die Schaltfläche Bauernhof bearbeiten.

Odoo-Farm bearbeiten

Mehrere Details der Farm können bearbeitet werden. Jetzt werden die Standardwerte beibehalten und ein neuer Dienst hinzugefügt.

Odoo http-Farm bearbeiten

Im obigen Screenshot finden Sie die Dienstabschnitt hinzufügenGeben Sie den Dienstnamen ein und klicken Sie auf Verwenden Sie.

Odoo erstellt einen http-Dienst

Im Moment belassen wir die Standardwerte und fügen nur die Backends hinzu, an denen der Odoo echte Dienste werden ausgeführt. Suchen Sie den Backends-Abschnitt und klicken Sie auf die Schaltfläche "Real Server hinzufügen".

odoo füge echte Server hinzu

Fügen Sie die IP-Adressen und Ports der hinzu Odoo Dienste (Standard-8069 für Odoo-Dienste), Timeout und Gewicht und klicken Sie auf "echten Server speichern".

odoo_configure_backends

Es ist erforderlich, um eine Serverkommutierung zu vermeiden: Wenn wir während unserer Sitzung von einem Server zum anderen springen, kommt es zu Effizienz-, Daten- und sogar Kommunikationsverlusten. Um dieses Verhalten zu vermeiden, wird die Persistenzsitzung Option muss konfiguriert sein. Wir wählen eine Sitzung nach Sitzungs-ID. Dies bedeutet, dass wir während einer Sitzung nur eine Verbindung zu einem Server herstellen.

In den globalen Service-Parametern können Sie nun das Feld für die Persistenzsitzung in ändern COOKIE: ein gewisser Keks und klicken Sie auf Ändern.

Odoo Cookie konfigurieren

Insert session_id als Persistenzsitzungskennung und klicken Sie auf Ändern.

Odoo Sessionid Konfiguration

Schließlich müssen wir die Änderungen durch einen Neustart der Farm anwenden.

Odoo Dienst neu starten

Herzlichen Glückwunsch! Sie haben Odoo in hoher Verfügbarkeit konfiguriert. Sie können darauf zugreifen, indem Sie eingeben http://[VIRTUAL_IP]:[PORT] (in unserem Beispiel http://192.168.56.200).

Schritt 4: Erweiterte Zustandsprüfung

Wir werden jetzt den Farm-Guardian einrichten, um fortgeschrittene Integritätsprüfungen für die Backends durchzuführen, um sicherzustellen, dass sie betriebsbereit sind, laufen und das korrekte Verhalten der Anwendung und nicht nur eine TCP-Portprüfung. Bitte suchen Sie die Farm Guardian innerhalb der Odoo Service, den wir in Schritt 3 eingerichtet haben. Klicke auf Verwenden Sie FarmGuardian, um Backend-Server zu überprüfenkönnen Sie auch die Zeit zwischen check und final in der Befehl zum Überprüfen Geben Sie in das Textfeld den folgenden Befehl ein:

check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s '</html>'

Abschließend klicken Sie auf Ändern.

Odoo-Konfiguration für erweiterte Statusprüfungen

Der Befehl check_http testet HTTP-Verbindungen mit dem angegebenen Host. In unserem Fall verwenden wir folgende Optionen:

-ICH BEHERBERGE: Der Token-HOST wird durch die definierte Back-End-IP-Adresse ersetzt.
-w 10: Antwortzeit für den Warnstatus: 10 Sekunden
-c 10: Antwortzeit auf kritischen Status: 10 Sekunden
-t 10: 10 Sekunden vor dem Verbindungsaufbau
-e 200: erwartet den String 200 im Status der Serverantwort
-p PORT: Der Token-PORT wird durch den definierten Backend-Port ersetzt.
-s ' ': Zeichenfolge im Inhalt zu erwarten ist ' '

Diese erweiterte Integritätsprüfung stellt sicher, dass wir von den realen Servern eine Antwort mit 200 OK erhalten und dass der Antwortbefehl die Zeichenfolge 'enthält. '. Wir wählen diese Zeichenfolge aus, da sie sich am Ende der Antwort befindet. Auf diese Weise können wir sicherstellen, dass wir eine korrekte Antwort von der Backend-Anwendung erhalten.

Schritt 5: Hohe Sicherheit

Odoo bietet keinen sicheren Kanal für die Webkommunikation, aber wir können dies leicht mit erreichen Zevenet Laden Sie Balancer wie unten gezeigt.

Odoo HA HTTPS

Wir müssen einen HTTPS-Listener einrichten: Auf der Bearbeiten Sie die globalen Parameter der Farm ändern Sie bitte den Farmlistener von HTTP in HTTPS und die Virtueller Port um 443.

Odoo SSL HTTPS-Konfiguration

In diesem Stadium, Odoo kann durch Eingabe aufgerufen werden https://[VIRTUAL_IP] in Ihrem Browser.

Die sichere Kommunikation läuft jetzt, aber wir können noch weiter gehen, indem wir die HTTPS-Verschlüsselung konfigurieren: Suchen Sie in den globalen Parametern der Farm die HTTPS-Einstellungen Sektion. Wir können die Chiffren in ändern Hohe Sicherheit.

Odoo Hochsicherheits-Chiffren

Das Verschlüsselungsfeld wird zum Erstellen einer Liste von Verschlüsselungscodes verwendet, die vom HTTPS-Server akzeptiert werden, um die SSL-Verbindung zu sichern. Durch die Auswahl Hohe SicherheitStandardmäßig werden die Chiffren gesetzt.

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

Eine weitere Option ist die HTTPS-Zertifikate verfügbar: Es wird eine Liste von Zertifikaten angezeigt, die für die aktuelle Farm ausgewählt werden soll (nur für HTTP-Farmen, was in unserem Fall der Fall ist). Wir können einen aus der Liste auswählen und auf klicken Verwenden Sie. Klicken Sie abschließend auf Ändern und starten Sie die Farm erneut, um die Änderungen zu übernehmen.

Schließlich wird das zencert.pem Das Zertifikat kann zum Testen des HTTPS-Listeners verwendet werden. Es ist jedoch wichtig, ein eigenes SSL-Zertifikat zu verwenden.

Weitere Informationen finden Sie unter HTTP-Profilfarmen.

Schritt 6: Odoo Web Base

Odoo erstellt die URL unter Berücksichtigung ihrer Einstellung web.base.url. Wenn wir durch zugreifen Zevenet Load Balancer wird der URL-Wechsel zur URL des Backends angezeigt. Da wir die sichere Kommunikation über HTTPS konfiguriert haben, kann dies ein Problem darstellen und wir konnten nur zu navigieren Odoo Basis-URL. Um dies zu vermeiden, müssen wir die Einstellung setzen web.base.url Parameter in jedem odoo Server.

Um dies zu erreichen, greifen Sie auf jedes Backend zu und gehen Sie im linken Bereich zu auf Technische >> Parameter >> Systemparameter und ändere die web.base.url , und hellen sich wieder auf, wenn Wolken aufziehen. Mit der SnowVision hast du eine Skibrille, die optimale Sicht bei jedem Wetter ermöglicht. Zevenet Laden Sie die virtuelle IP-Adresse von Balancer und den für die Odoo-Farm ausgewählten Port. In unserem Beispiel wäre dies https: // 192.168.56.200 oder noch besser https://odoo.mycompany.com.

Odoo-Web-Basis-URL-Konfiguration

Die technischen Funktionen sind möglicherweise deaktiviert. In diesem Fall stehen die technischen Optionen nicht zur Verfügung. Um dieses Problem zu lösen, wählen Sie Benutzer >> Benutzer, bearbeiten Sie den aktuellen Benutzer und aktivieren Sie die Technische Eigenschaften Option unter Verwendbarkeit.

Schritt 7: Odoo-Dateispeicher

Es gibt mehrere Optionen zum Konfigurieren des Dateispeichers in Hochverfügbarkeit.

1. In jedem Backend können wir einen gemeinsam genutzten Speicher einbinden und den lokalen Pfad über den Parameter konfigurieren ir_attachment.location unter dem Abschnitt Einstellungen >> Technisch >> Parameter >> Systemparameter.

2. Wenn wir über keine Einheit verfügen, die eine hohe Verfügbarkeit der gemeinsam genutzten Ressource für den Dateispeicher bereitstellt, können wir Zevenet verwenden, um sie für einen Dateispeicher zu erstellen NFS (Network File System) -Dienst, um in jedem Backend eingebunden zu werden. Da dieser Dienst TCP- und UDP-Ports verwendet, können Sie über alle Ports unter einer bestimmten virtuellen IP-Adresse ein L4xNAT erstellen, das zur automatischen Konfiguration des Ladevorgangs während des Startvorgangs verwendet wird / etc / fstab Datei.

3. Eine andere Option ist zu konfigurieren SSHFS der den sicheren SSH-Dienst verwendet, um ein gemeinsam genutztes Remote-Dateisystem zu verwenden. Da der SSH-Dienst standardmäßig einen TCP-22-Port verwendet, kann der Lastausgleich über einen L4xNAT ohne Bedenken erfolgen, ähnlich wie im Fall NFS.

Abhängig davon, ob eine gemeinsam genutzte Aktiv-Aktiv- oder Aktiv-Passiv-Dateispeicherressource erstellt werden muss, ist eine Replikation oder Synchronisierung der Dateien erforderlich.

Obwohl dieses Thema nicht in den Geltungsbereich dieses Artikels fällt, wird es in einem speziellen Artikel behandelt.

Jetzt können Sie Ihre Geschäftsprozesse und -abläufe skalieren, um Odoo mit Zevenet auf Hochverfügbarkeit zu setzen. Viel Spaß!

Teilen:

Dokumentation unter den Bedingungen der GNU Free Documentation License.

War dieser Artikel hilfreich?

Verwandte Artikel