Cothromú luchtaithe i Zimbra Open-Source Edition ag baint úsáide as HAProxy

Ceann de na príomhthascanna agus bonneagair Zimbra OSE ar scála mór á dtógáil ná cothromaíocht ualaigh chuí. Chomh maith leis an bhfíric go méadaíonn sé lamháltas lochtanna na seirbhíse, gan cothromú ualach tá sé dodhéanta a chinntiú go bhfuil an freagrúlacht chéanna na seirbhíse do gach úsáideoir. Chun an fhadhb seo a réiteach, úsáidtear cothromóirí ualaigh - réitigh bogearraí agus crua-earraí a athdháileann iarratais idir freastalaithe. Ina measc tá cinn go leor primitive, cosúil le RoundRobin, a sheolann go simplí gach iarratas ina dhiaidh sin chuig an gcéad fhreastalaí eile ar an liosta, agus tá cinn níos forbartha ann freisin, mar shampla HAProxy, a úsáidtear go forleathan i mbonneagar ríomhaireachta ard-ualach mar gheall ar a líon na buntáistí suntasacha. Breathnaímid ar conas is féidir leat an cothromóir ualach HAProxy agus Zimbra OSE a oibriú le chéile.

Cothromú luchtaithe i Zimbra Open-Source Edition ag baint úsáide as HAProxy

Mar sin, de réir théarmaí an taisc, tugtar bonneagar Zimbra OSE dúinn, a bhfuil dhá fhreastalaí Zimbra Proxy, dhá LDAP agus LDAP Replica, ceithre stóráil ríomhphoist le 1000 bosca poist an ceann agus trí MTA. Ós rud é go bhfuil muid ag déileáil le freastalaí ríomhphoist, gheobhaidh sé trí chineál tráchta a dteastaíonn cothromaíocht uathu: HTTP chun an cliant gréasáin a íoslódáil, chomh maith le POP agus SMTP chun ríomhphost a sheoladh. Sa chás seo, rachaidh trácht HTTP chuig freastalaithe Zimbra Proxy le seoltaí IP 192.168.0.57 agus 192.168.0.58, agus rachaidh trácht SMTP chuig freastalaithe MTA le seoltaí IP 192.168.0.77 agus 192.168.0.78.

Mar a luadh cheana, chun a chinntiú go ndéantar iarratais a dháileadh go cothrom idir na freastalaithe, úsáidfimid an cothromóir ualach HAProxy, a reáchtálfar ar nód ingress bonneagair Zimbra ag rith Ubuntu 18.04. Déantar haprocsa a shuiteáil ar an gcóras oibriúcháin seo leis an ordú sudo apt-get haproxy a shuiteáil. Tar éis seo ní mór duit sa chomhad /etc/default/haproxy paraiméadar a athrú ENABLED = 0 ar ENABLED = 1. Anois, d'fhonn a chinntiú go bhfuil haproxy ag obair, níl le déanamh ach an t-ordú a chur isteach haprocsa seirbhíse. Má tá an tseirbhís seo á rith, beidh sé seo soiléir ó aschur an ordaithe.

Ceann de na príomh-mhíbhuntáistí a bhaineann le HAProxy ná nach dtarchuireann sé seoladh IP an chliaint nasctha de réir réamhshocraithe, agus a chuid féin á chur ina ionad. D'fhéadfadh cásanna a bheith mar thoradh air seo nuair nach féidir ríomhphoist a sheolann ionsaitheoirí a aithint le seoladh IP chun é a chur ar an liosta dubh. Mar sin féin, is féidir an cheist seo a réiteach. Chun seo a dhéanamh ní mór duit an comhad a chur in eagar /opt/zimbra/common/conf/master.cf.in ar fhreastalaithe le Postfix agus cuir na línte seo a leanas leis:

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

Mar gheall air seo, osclóidh muid calafoirt 26, 466 agus 588, a gheobhaidh trácht ag teacht isteach ó HAProxy. Tar éis na comhaid a shábháil, ba chóir duit Postfix a atosú ar gach freastalaí ag baint úsáide as an ordú atosú zmmtactl.

Tar éis sin, déanaimis tús a chur le HAProxy a bhunú. Chun seo a dhéanamh, cruthaigh cóip chúltaca den chomhad socruithe ar dtús cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak. Ansin oscail an comhad foinse in eagarthóir téacs /etc/haproxy/haproxy.cfg agus tosú ag cur na socruithe riachtanacha leis céim ar chéim. Beidh an chéad bhloc a chur leis freastalaí a thógann logs, ag socrú an líon uasta na naisc comhuaineach a cheadaítear, chomh maith le sonrófar ann ainm agus grúpa an úsáideora lena mbaineann an próiseas forghníomhaitheach.

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

Bhí an figiúr de 5000 nasc comhuaineach le feiceáil ar chúis. Ós rud é go bhfuil 4000 bosca poist againn inár mbonneagar, ní mór dúinn smaoineamh ar an bhféidearthacht go bhfaighidh siad go léir rochtain ar a ríomhphost oibre ag an am céanna. Ina theannta sin, is gá cúlchiste beag a fhágáil ar eagla go dtiocfaidh méadú ar a líon.

Anois cuirimis bloc leis na socruithe réamhshocraithe:

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

Socraíonn an bloc seo an t-am istigh uasta don chliant agus don fhreastalaí chun an nasc a dhúnadh nuair a théann sé in éag, agus socraíonn sé modh oibriúcháin HAProxy freisin. Is é ár gcás, oibríonn an cothromóir ualaigh i mód TCP, is é sin, tarchuireann sé ach paicéid TCP gan anailís a dhéanamh ar a n-ábhar.

Ansin cuirfimid rialacha le haghaidh naisc le calafoirt éagsúla. Mar shampla, má úsáidtear calafort 25 le haghaidh naisc SMTP agus poist, bíonn ciall leis naisc a chur ar aghaidh chuig na MTAanna atá ar fáil inár mbonneagar. Má tá an nasc ar phort 80, is iarratas http é seo nach mór a chur ar aghaidh chuig Zimbra Proxy.

Riail do phort 25:

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

Riail do phort 465:

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

Riail do phort 587:

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

Riail do phort 80:

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

Riail do phort 443:

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

Tabhair faoi deara, le do thoil, sna rialacha maidir le paicéid TCP a chur ar aghaidh chuig an MTA, in aice lena seoltaí go bhfuil paraiméadar seolta-seachfhreastalaí. Tá sé seo riachtanach ionas, de réir na n-athruithe a rinneamar níos luaithe ar na socruithe Postfix, go seolfar seoladh IP bunaidh an tseoltóra in éineacht le paicéid TCP.

Anois go bhfuil na hathruithe riachtanacha go léir déanta ar HAProxy, is féidir leat an tseirbhís a atosú ag baint úsáide as an ordú atosú haproxy seirbhíse agus tús a úsáid.

I gcás gach ceist a bhaineann le Zextras Suite, is féidir leat teagmháil a dhéanamh le hIonadaí Zextras Ekaterina Triandafilidi trí ríomhphost [ríomhphost faoi chosaint]

Foinse: will.com

Add a comment