Cothromachadh luchdan ann an Zimbra Open-Source Edition a’ cleachdadh HAProxy

Is e aon de na prìomh ghnìomhan nuair a thathar a’ togail bun-structaran Zimbra OSE air sgèile mhòr cothromachadh luchdan ceart. A bharrachd air an fhìrinn gu bheil e a 'meudachadh fulangas sgàinidhean na seirbheis, gun a bhith a' cothromachadh luchdan tha e do-dhèanta dèanamh cinnteach gu bheil an aon fhreagairt aig an t-seirbheis airson a h-uile neach-cleachdaidh. Gus an duilgheadas seo fhuasgladh, thathas a’ cleachdadh luchd-cothromachaidh luchdan - fuasglaidhean bathar-bog is bathar-cruaidh a bhios ag ath-riarachadh iarrtasan eadar frithealaichean. Nam measg tha feadhainn gu math prìomhadail, leithid RoundRobin, a bhios dìreach a’ cur gach iarrtas às deidh sin chun ath fhrithealaiche air an liosta, agus tha feadhainn nas adhartaiche ann cuideachd, mar eisimpleir HAProxy, a tha air a chleachdadh gu farsaing ann am bun-structaran coimpiutaireachd làn luchd air sgàth a àireamh de bhuannachdan cudromach. Bheir sinn sùil air mar as urrainn dhut toirt air an HAProxy load balancer agus Zimbra OSE obrachadh còmhla.

Cothromachadh luchdan ann an Zimbra Open-Source Edition a’ cleachdadh HAProxy

Mar sin, a rèir teirmean na h-obrach, tha sinn a’ faighinn bun-structar Zimbra OSE, aig a bheil dà fhrithealaiche Zimbra Proxy, dà LDAP agus LDAP Replica, ceithir stòradh puist le bogsaichean puist 1000 gach fear agus trì MTAn. Leis gu bheil sinn a 'dèiligeadh ri frithealaiche puist, gheibh e trì seòrsaichean trafaig a dh' fheumas cothromachadh: HTTP airson an cleachdaiche lìn a luchdachadh sìos, a bharrachd air POP agus SMTP airson post-dealain a chuir. Anns a ’chùis seo, thèid trafaic HTTP gu frithealaichean Zimbra Proxy le seòlaidhean IP 192.168.0.57 agus 192.168.0.58, agus thèid trafaic SMTP gu frithealaichean MTA le seòlaidhean IP 192.168.0.77 agus 192.168.0.78.

Mar a chaidh ainmeachadh roimhe, gus dèanamh cinnteach gu bheil iarrtasan air an sgaoileadh gu cothromach eadar na frithealaichean, cleachdaidh sinn an HAProxy loadr balancer, a ruitheas air an inneal ingress bun-structair Zimbra a 'ruith Ubuntu 18.04. Tha stàladh haproxy air an t-siostam obrachaidh seo air a dhèanamh leis an àithne sudo apt-faigh stàladh haproxy. Às deidh seo feumaidh tu san fhaidhle /etc/default/haproxy atharraich paramadair CUMHACHD=0 air CUMHACHD=1. A-nis, gus dèanamh cinnteach gu bheil haproxy ag obair, dìreach cuir a-steach an àithne haproxy seirbheis. Ma tha an t-seirbheis seo a’ ruith, bidh seo soilleir bho thoradh na h-àithne.

Is e aon de na prìomh eas-bhuannachdan a tha aig HAProxy nach bi e gu gnàthach a’ tar-chuir seòladh IP an neach-dèiligidh ceangail, a ’toirt a chuid fhèin na àite. Faodaidh seo leantainn gu suidheachaidhean far nach urrainnear puist-d a chuir luchd-ionnsaigh a-mach a chomharrachadh le seòladh IP gus a chur ris an liosta dhubh. Ach, faodar a 'chùis seo a rèiteachadh. Gus seo a dhèanamh feumaidh tu am faidhle a dheasachadh /opt/zimbra/common/conf/master.cf.in air frithealaichean le Postfix agus cuir na loidhnichean a leanas ris:

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

Air sgàth seo, fosglaidh sinn puirt 26, 466 agus 588, a gheibh trafaic a-steach bho HAProxy. Às deidh na faidhlichean a bhith air an sàbhaladh, bu chòir dhut Postfix ath-thòiseachadh air a h-uile frithealaiche a ’cleachdadh an àithne ath-thòisich zmmtactl.

Às deidh sin, tòisichidh sinn a’ stèidheachadh HAProxy. Gus seo a dhèanamh, an toiseach cruthaich leth-bhreac cùl-taic den fhaidhle roghainnean cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak. An uairsin fosgail am faidhle tùsail ann an deasaiche teacsa /etc/haproxy/haproxy.cfg agus tòisich a’ cur na roghainnean riatanach ris ceum air cheum. Bidh a’ chiad bhloca a’ cur ris frithealaiche a bhios a’ gabhail logaichean, a’ suidheachadh an àireamh as motha de cheanglaichean aig an aon àm a tha ceadaichte, a bharrachd air a bhith a’ sònrachadh ainm agus buidheann an neach-cleachdaidh dham buin am pròiseas cur an gnìomh.

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

Nochd am figear de 5000 ceangal aig an aon àm airson adhbhar. Leis gu bheil 4000 bogsa puist againn nar bun-structar, feumaidh sinn beachdachadh air a’ chomas gum faigh iad uile cothrom air a’ phost-d obrach aca aig an aon àm. A bharrachd air an sin, feumar tèarmann beag fhàgail gun fhios nach èirich an àireamh aca.

A-nis leig dhuinn bloc a chuir ris le roghainnean bunaiteach:

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

Bidh am bloc seo a’ suidheachadh an ùine as àirde airson an neach-dèiligidh agus an frithealaiche an ceangal a dhùnadh nuair a thig e gu crìch, agus bidh e cuideachd a’ suidheachadh modh obrachaidh HAProxy. Anns a ’chùis againn, bidh an cothromachadh luchdan ag obair ann am modh TCP, is e sin, bidh e dìreach a’ sgaoileadh pacaidean TCP gun a bhith a ’dèanamh anailis air na tha annta.

An uairsin cuiridh sinn riaghailtean airson ceanglaichean air diofar phuirt. Mar eisimpleir, ma thèid port 25 a chleachdadh airson ceanglaichean SMTP agus post, tha e ciallach ceanglaichean a chuir air adhart gu na MTAn a tha rim faighinn sa bhun-structar againn. Ma tha an ceangal air port 80, is e seo iarrtas http a dh’ fheumar a chuir air adhart gu Zimbra Proxy.

Riaghailt airson port 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

Riaghailt airson port 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

Riaghailt airson port 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

Riaghailt airson port 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

Riaghailt airson port 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

Thoir an aire, anns na riaghailtean airson pacaidean TCP a chuir air adhart chun MTA, ri taobh an seòlaidhean gu bheil paramadair ann send-proxy. Tha seo riatanach gus, a rèir nan atharrachaidhean a rinn sinn na bu thràithe air na roghainnean Postfix, gun tèid seòladh IP tùsail an neach a chuir e a chuir còmhla ri pacaidean TCP.

A-nis gu bheil na h-atharrachaidhean riatanach uile air an dèanamh gu HAProxy, faodaidh tu an t-seirbheis ath-thòiseachadh leis an àithne ath-thòiseachadh seirbheis haproxy agus tòisich ga chleachdadh.

Airson a h-uile ceist co-cheangailte ri Zextras Suite, faodaidh tu fios a chuir gu Riochdaire Zextras Ekaterina Triandafilidi air post-d [post-d fo dhìon]

Source: www.habr.com

Cuir beachd ann