Sådan installeres Odoo i høj tilgængelighed og klar til masse skalerbarhed

SENDT AF Zevenet | 11. februar 2017

Oversigt

Formålet med denne artikel er at forklare, hvordan man laver en CRM-applikation, der er kritisk for en virksomhed som Odoo, meget skalerbar. Også hvordan sætte det op i høj tilgængelighed for at være tolerant over for fejl og hvordan man styrker sikkerheden for adgang til det.

Hvad er høj tilgængelighed?

Høj tilgængelighed er en kvalitet af et system eller en komponent, der sikrer et højt niveau af operationel ydeevne, normalt opetid, i en højere end normal tid.

Hvad er odoo?

Odoo (Aka OpenERP) er en business open source software, der integrerer alle forretningsbehov, herunder CRM, fakturering, regnskab, hjemmeside, lager og projektstyring, fremstilling, lagerbeholdning og meget mere!

Opsætning af Zevenet Load Balancer

Med Zevenet Load Balancer vi kan sikre høj tilgængelighed og forberede os på masse skalerbarhed for Odoo tjenester ved at følge nedenstående trin.

Bemærk, at for at følge disse instruktioner er det nødvendigt at installere en forekomst af Zevenet Load Balancer og flere forekomster af Odoo applikationer. Derudover er det meget vigtigt, at postgresql er replikeret mellem dem for at sikre sammenhæng.

Det miljø, vi skal beskrive i denne artikel, er vist nedenfor.

Odoo HA HTTP

Trin 1: Opret en virtuel IP

Oprettelse af en virtuel IP i load balancer er påkrævet, da det vil være indgangsstedet til Odoo tjenester. I vores eksempel vil vi have to Odoo rigtige servere, men du kan inkludere så meget som du har brug for uden nogen begrænsning. For at oprette en ny virtuel IP, fra Zevenet LB hovedmenu, vælg Indstillinger-> Grænseflader.

Odoo Opret Virtual IP

Find den fysiske grænseflade, hvor du vil oprette en virtuel IP og under handlinger klik på knappen Tilføj virtuelle netværksinterfaces.

Odoo Tilføj Virtual Network Interface

Indtast adressen og netmasken på din nye virtuelle IP, den skal være i samme undernet som den fysiske enhed. Gem det ved at klikke på knappen gem virtuelle interface.

Odoo gemme virtuel ip

Trin 2: Opret http gård

En gård er en samling af computer servere, der giver server funktionalitet øger væsentligt dets kapacitet. Så ved at oprette en gård af Odoo servere, vil vi øge dens ydeevne og skalerbarhed, hvilket er afgørende for høj tilgængelighed. For at opnå dette gå til Administrer-> Gårde.

Odoo opretter lastbalanceringsgård

Klik på Tilføj ny gård og i det nye vindue skal du vælge et navn og HTTP som profil. Vi vælger HTTP-profil, fordi det er den bedste mulighed for webtjenester, og det er nødvendigt at analysere applikationsindhold for at give vedholdenhed på applikationsniveau.

Odoo HTTP load balancing farm

Der vises to yderligere muligheder. Vælg den virtuelle IP, der er oprettet på trin 1 og en port (i eksemplet vælger vi 80, da det er standard for HTTP-protokollen) og klikker på Gem .

Odoo HTTP opretter gård

For mere information om bedrifter, se venligst Administrer :: gårde.

Trin 3: Tilføj tjenesten

Når gården er oprettet, skal vi redigere den for at tilføje en ny tjeneste. Venligst klik på knappen rediger farm.

Odoo rediger farm

Flere detaljer om gården kan redigeres, nu skal vi holde standardværdierne og tilføje en ny tjeneste.

Odoo redigere http farm

I skærmbilledet ovenfor finder du Tilføj tjeneste sektion, skriv servicenavnet og klik på Tilføj.

Odoo opretter http-tjeneste

For nu vil vi forlade standardværdierne og vil kun tilføje backends hvor Odoo reelle tjenester vil køre. Find afsnittet backends og klik på Add Real Server-knappen.

odoo tilføjer ægte servere

Inkluder IP-adresserne og portene på Odoo tjenester (standard 8069 for Odoo-tjenester), timeout og vægt og klik på Save Real Server.

odoo_configure_backends

Det er nødvendigt at undgå serverpendling: hvis vi i løbet af vores session springer fra en server til en anden, vil der være effektivitet, data og endda kommunikationstab. For at undgå denne adfærd Persistens session indstillingen skal konfigureres. Vi vælger at opretholde en session med session id, så det betyder, at vi i løbet af en session vil forbinde til kun én server.

I service globale parametre kan vi nu ændre persistens sessionsfeltet til COOKIE: en bestemt cookie og klik på Ændre.

Odoo konfigurer cookie

indsatte Sessions ID som persistens session identifikator og klik på Ændre.

Odoo sessionid konfiguration

Endelig skal vi anvende ændringerne ved at genstarte gården.

Odoo genstart service

Tillykke! du har konfigureret Odoo i høj tilgængelighed. Du kan få adgang til det ved at skrive http://[VIRTUAL_IP]:[PORT] (i vores eksempel http://192.168.56.200).

Trin 4: Avanceret sundhedstjek

Vi vil nu oprette gården for at udføre avanceret sundhedskontrol til bagenden, der sikrer, at de er i gang, kører og den korrekte opførsel af applikationen, ikke kun en TCP-portkontrol. Venligst find Farm Guardian i Odoo service, vi har oprettet i trin 3. Klik på Brug FarmGuardian til at kontrollere Backend-servere, kan du også ændre tiden mellem check og endelig, i Kommando at tjekke tekstboks, skriv følgende kommando:

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

Endelig skal du klikke på Ændre.

Odoo avanceret sundhedskontrol konfiguration

Kommandoen check_http tester HTTP-forbindelser med den angivne vært. I vores tilfælde bruger vi følgende muligheder:

-I HOST: Token HOST vil blive erstattet af den angivne backend IP-adresse.
-w 10: Svarstid for at resultere i advarselsstatus: 10 sekunder
-c 10: Svarstid til kritisk status: 10 sekunder
-t 10: 10 sekunder før forbindelsestider ud
-e 200: Forventer strengen 200 i status for serverresponsen
-P PORT: Token PORT vil blive erstattet af den definerede backend-port.
-s ' '': streng at forvente i indhold er ' ''

Denne avancerede sundhedskontrol sikrer, at vi får et 200 OK-svar fra de rigtige servere, og at svarskommandoen indeholder strengen ' '. Vi vælger denne streng, fordi den er i slutningen af ​​svaret, på denne måde kan vi garantere, at vi får et korrekt svar fra backends-applikationen.

Trin 5: Høj sikkerhed

Odoo giver ikke en sikker kanal til webkommunikation, men vi kan nemt nå dette med Zevenet Load Balancer som vist nedenfor.

Odoo HA HTTPS

Vi er nødt til at oprette en HTTPS-lytter: På Rediger farm globale parametre skærm, skal du ændre bedriftslytteren fra HTTP til HTTPS og Virtual Port til 443.

Odoo SSL HTTPS-konfiguration

På dette tidspunkt, Odoo kan fås ved at skrive https://[VIRTUAL_IP] i din browser.

Sikker kommunikation kører nu, men vi kan gå videre ved at konfigurere HTTPS-cifrene: inden for de globale globale parametre finder du HTTPS-indstillinger afsnit. Vi kan ændre cifrene til HØJ Sikkerhed.

Odoo høj sikkerhed ciphers

Ciphers-feltet bruges til at opbygge en liste over cifre accepteret af HTTPS-serveren for at hærde SSL-forbindelsen. Ved at vælge HØJ sikkerhed, vil vi som standard indstille cifrene.

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

En anden mulighed er HTTPS-certifikater til rådighed: En liste over certifikater vises for at blive valgt til den aktuelle gård (kun for HTTP-bedrifter, hvilket er vores tilfælde). Vi kan vælge en fra listen og klikke på Tilføj. Endelig skal du klikke på Ændre og genstart bedriften med henblik på at anvende ændringer.

Endelig zencert.pem certifikat kunne bruges til at teste HTTPS-lytteren, men det er vigtigt at bruge dit eget SSL-certifikat.

For yderligere information henvises til HTTP profil gårde.

Trin 6: Odoo web base

Odoo bygger URL'en under hensyntagen til dens indstilling web.base.url. Hvis vi får adgang igennem Zevenet Load Balancer, vi ser URL-skiftet til backendens URL. Da vi har konfigureret sikker kommunikation via HTTPS, kan dette udgøre et problem, og vi kunne kun navigere til Odoo basiswebadresse. For at undgå dette skal vi sætte web.base.url parameter i hver odoo serveren.

For at opnå dette, få adgang til hver backend og på venstre panel, gå til Tekniske >> Parametre >> Systemparametre og ændre web.base.url til Zevenet Load Balancer virtuel IP og port valgt til odoo farm. I vores eksempel ville være https: // 192.168.56.200, eller endnu bedre, https://odoo.mycompany.com.

Odoo web base url konfiguration

De tekniske funktioner kan være deaktiveret. Hvis det er tilfældet, vil de tekniske muligheder ikke være tilgængelige. For at løse dette skal du vælge Brugere >> Brugere, rediger den aktuelle bruger og aktiver den Tekniske detaljer mulighed under Usability.

Trin 7: Odoo filestore

Der er flere muligheder for at konfigurere filestore i høj tilgængelighed.

1. I hver backend kan vi montere et fælles lager og konfigurere den lokale sti gennem parameteren ir_attachment.location under afsnittet Indstillinger >> Teknisk >> Parametre >> Systemparametre.

2. Hvis vi ikke har en enhed til at levere høj tilgængelighed af den delte ressource til filestoren, kan vi bruge Zevenet til at oprette den til en NFS (Network File System) service for at kunne monteres i hver bakke. Da denne tjeneste anvender TCP- og UDP-porte, kan vi oprette en L4xNAT gennem alle porte under en bestemt virtuel IP, som vil blive brugt til at konfigurere mountet automatisk ved opstartstid gennem / Etc / fstab fil.

3. En anden mulighed er at konfigurere SSHFS der bruger SSH-sikker service til at bruge et fjernt delt delt filsystem. Da SSH-tjenesten bruger standard TCP 22-port som standard, kan den lastes afbalanceret gennem en L4xNAT uden bekymring på samme måde som NFS-sagen.

Afhængigt af om det er nødvendigt for at oprette en aktiv-aktiv eller aktiv-passiv delt filestore-ressource, skal der bruges en replikering eller synkronisering af filerne.

Selv om dette emne er uden for denne artikels anvendelsesområde, behandles det i en dedikeret artikel.

Nu er dine forretningsprocesser og operationer klar til at indstille Odoo i høj tilgængelighed med Zevenet, nyd!

Del på:

Dokumentation i henhold til GNU Free Documentation License.

Var denne artikel til hjælp?

Relaterede artikler