Load librans in Zimbra Open-Source Edition using HAProxy

Una e praecipuorum munerum cum magnarum scalarum Zimbra OSE infrastructuras aedificat, proprium est onus conparationis. Praeter hoc quod tolerantia servitutis culpa augetur, sine onere conpensatione fieri non potest, ut eadem alacritate servitutis omnibus utentibus. Ad hanc solvendam quaestionem, libratores onerariae adhibentur - programmata et solutiones ferrariae quae petitiones redimunt inter servientes. Inter eos exstant satis primitivae, sicut RoundRobin, quae simpliciter singulas petitiones subsequentes mittit ad indicem sequentem servientem, et etiam magis provectiores sunt, exempli gratia HAProxy, quae late adhibetur in onere substructionum computandi propter a. multis commoda significantibus. Inspice quomodo facere potes HAProxy onus librarium et Zimbra OSE simul cooperantur.

Load librans in Zimbra Open-Source Edition using HAProxy

Itaque, secundum condiciones operis, infrastructuram Zimbra OSE damus, quae duos Zimbra Proxy habet, duos LDAP et LDAP Replica ministrantes, quattuor schedulas electronicas cum 1000 mailboxes singulis et tribus MTAs. Cum de servo electronico agimus, tria genera negotiationis recipiet quae conpensatione indigent: HTTP ad clientem interretialem deprimendam, sicut POP et SMTP ad electronicam mittendam. In hoc casu, HTTP negotiatio ad Zimbra Proxy ministrantium cum IP inscriptionibus 192.168.0.57 et 192.168.0.58 ibit, et SMTP negotiatio ad MTA servientes cum IP inscriptionibus ibit 192.168.0.77 et 192.168.0.78.

Ut iam dictum est, ut petitiones aequaliter inter servos distribuantur, HAProxy librario oneris utemur, quod in nodo infrastructura ingressu nodi currenti Ubuntu currit 18.04. Haproxy inaugurari de hac systemate operante fit utens imperio sudo facile adepto install haproxy. Post haec in tabella debes /etc/default/haproxy mutatio parametri MISSUS = 0 on MISSUS = 1. Nunc, ut efficias ut haproxy laborat, modo imperium ingredi ministerium haproxy. Si hoc officium currit, hoc ex mandato praecepti constabit.

Una e maximis incommodis HAProxy est quod per defaltam non transmittit IP oratio nexus clientis, cum sua reponat. Hoc ducere potest ad condiciones ubi ab oppugnatoribus electronicae missae sunt, ab IP inscriptione identificari non possunt ut eam ad notationem adderet. Sed haec quaestio resolvi potest. Ad hoc facere debes tabellam emendare /opt/zimbra/common/conf/master.cf.in de ministris cum Postfix et sequentes lineas ei adde:

26      inet  n       -       n       -       1       postscreen
        -o postscreen_upstream_proxy_protocol=haproxy
 
466    inet  n       -       n       -       -       smtpd
%%uncomment SERVICE:opendkim%%  -o content_filter=scan:[%%zimbraLocalBindAddress%%]:10030
        -o smtpd_tls_wrappermode=yes
        -o smtpd_sasl_auth_enable=yes
        -o smtpd_client_restrictions=
        -o smtpd_data_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_recipient_restrictions=
        -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
        -o syslog_name=postfix/smtps
        -o milter_macro_daemon_name=ORIGINATING
        -o smtpd_upstream_proxy_protocol=haproxy
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_filter=[%%zimbraLocalBindAddress%%]:10027
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_options=speed_adjust
 
588 inet n      -       n       -       -       smtpd
%%uncomment SERVICE:opendkim%%  -o content_filter=scan:[%%zimbraLocalBindAddress%%]:10030
        -o smtpd_etrn_restrictions=reject
        -o smtpd_sasl_auth_enable=%%zimbraMtaSaslAuthEnable%%
        -o smtpd_tls_security_level=%%zimbraMtaTlsSecurityLevel%%
        -o smtpd_client_restrictions=permit_sasl_authenticated,reject
        -o smtpd_data_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_recipient_restrictions=
        -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
        -o syslog_name=postfix/submission
        -o milter_macro_daemon_name=ORIGINATING
        -o smtpd_upstream_proxy_protocol=haproxy
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_filter=[%%zimbraLocalBindAddress%%]:10027
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_options=speed_adjust

Ob hoc portus aperiemus 26, 466 et 588, qui ineuntes mercaturam ab HAProxy accipient. Documenta servata sunt, debes sileo Postfix in omnibus ministris utendo mandato zmmtactl sileo.

Deinde, incipiamus HAProxy constituere. Hoc facere, primum exemplum lima occasus tergum crea cp /etc/haproxy/haproxy.cfg/etc/haproxy/haproxy.cfg.bak. Tunc aperi fontem lima in textu editore /etc/haproxy/haproxy.cfg et incipiunt necessarias occasus ei gradatim addendo. Primus clausus adiciet servo qui ligna accipit, maximum numerum coniunctionum simultaneorum permissam collocans, necnon nomen et coetus utentis denotans ad quod processus exsecutionis pertinebit.

global
    user daemon
    group daemon
    daemon
    log 127.0.0.1 daemon
    maxconn 5000
    chroot /var/lib/haproxy

Figura 5000 nexuum simultaneorum causa apparuerunt. Cum quattuor milia loculorum in infrastructura habemus, considerare necesse est facultatem ut omnes simul accessuri ad suum opus electronicum reddant. Praeterea, si numerus augeatur, parvam collectionem relinquere necesse est.

Nunc addere truncum cum default occasus:

defaults
        timeout client 1m
        log global
        mode tcp
        timeout server 1m
        timeout connect 5s

Hic interclusus maximum tempus ponit pro cliente et servo ad arcendam nexum cum exspirat, et etiam modum operandi HAProxy ponit. In nobis, onus librarius in TCP modo operatur, hoc est, solum fasciculos TCP transmittit sine eorum contentis dividendo.

Deinde regulas hospitum in variis portubus addemus. Exempli gratia, si portus 25 pro ESMTP nexus et electronicos adhibetur, tunc sensum praebet ut nexus cum illo ad MTAs in infrastructura nostra praesto sint. Si connexio in portu 80 est, haec petitio http://la.wikipedia.org/wiki/Zimbra Proxy transmittere debet.

REGULAE AD PORTAM XXV;

frontend smtp-25
bind *:27
default_backend backend-smtp-25
 
backend backend-smtp-25
server mta1 192.168.0.77:26 send-proxy
server mta2 192.168.0.78:26 send-proxy

REGULAE AD PORTAM XXV;

frontend smtp-465
bind *:467
default_backend backend-smtp-465

backend backend-smtp-465
server mta1 192.168.0.77:466 send-proxy
server mta2 192.168.0.78:466 send-proxy

REGULAE AD PORTAM XXV;

frontend smtp-587
bind *:589
default_backend backend-smtp-587
 
backend backend-smtp-587
server mail1 192.168.0.77:588 send-proxy
server mail2 192.168.0.78:588 send-proxy

REGULAE AD PORTAM XXV;

frontend http-80
bind    *:80
default_backend http-80
 
backend http-80
mode tcp
server zproxy1 192.168.0.57:80 check
server zproxy2 192.168.0.58:80 check

REGULAE AD PORTAM XXV;

frontend https
bind  *:443
default_backend https-443
 
backend https-443
mode tcp
server zproxy1 192.168.0.57:80 check
server zproxy2 192.168.0.58:80 check

Nota quaeso quod in regulis ad MTA transmittuntur TCP facis, iuxta inscriptiones illorum modulus est. mittere, procuratorem. Hoc necessarium est ut, iuxta mutationes quae ante ad Postfixas unctiones fecimus, prima IP oratio mittentis eius una cum TCP fasciculis mittatur.

Nunc omnes mutationes necessariae ad HAProxy factae sunt, servitium utens mandato sileo potes ministerium haproxy sileo et satus utendo.

Pro omnibus quaestionibus ad Zextras Suite pertinentibus, Repraesentativas Zextas Ekaterinae Triandafilidi contactum potes ab inscriptione electronica. [Inscriptio protected]

Source: www.habr.com