Ny fampifandanjana entana amin'ny Zimbra Open-Source Edition mampiasa HAProxy

Ny iray amin'ireo asa lehibe amin'ny fananganana fotodrafitrasa Zimbra OSE midadasika dia ny fampifandanjana ny entana. Ho fanampin'ny fampitomboana ny fandeferana amin'ny serivisy, raha tsy misy ny fampifandanjana entana dia tsy azo atao ny miantoka ny fandraisana andraikitra mitovy amin'ny serivisy ho an'ny mpampiasa rehetra. Mba hamahana ity olana ity dia ampiasaina ny mpandanja entana - vahaolana rindrambaiko sy hardware izay mizara indray ny fangatahana eo amin'ny mpizara. Ao anatin'izy ireo dia misy ireo tena tranainy, toa an'i RoundRobin, izay mandefa fotsiny ny fangatahana manaraka any amin'ny mpizara manaraka ao anaty lisitra, ary misy ihany koa ireo efa mandroso kokoa, ohatra HAProxy, izay ampiasaina betsaka amin'ny fotodrafitrasa informatika avo lenta noho ny a isan'ny tombontsoa lehibe. Andeha hojerentsika ny fomba ahafahanao miara-miasa ny HAProxy load balancer sy Zimbra OSE.

Ny fampifandanjana entana amin'ny Zimbra Open-Source Edition mampiasa HAProxy

Noho izany, araka ny fepetran'ny asa, dia omena antsika ny fotodrafitrasa Zimbra OSE, izay manana roa Zimbra Proxy, roa LDAP ary LDAP Replica server, fitehirizana mailaka efatra misy boaty mailaka 1000 tsirairay ary MTA telo. Raha miresaka momba ny mpizara mailaka izahay, dia hahazo karazana fifamoivoizana telo izay mila fifandanjana: HTTP amin'ny fampidinana ny mpanjifa tranonkala, ary koa ny POP sy SMTP amin'ny fandefasana mailaka. Amin'ity tranga ity, ny fifamoivoizana HTTP dia handeha amin'ny mpizara Zimbra Proxy miaraka amin'ny adiresy IP 192.168.0.57 sy 192.168.0.58, ary ny fifamoivoizana SMTP dia handeha amin'ny mpizara MTA manana adiresy IP 192.168.0.77 sy 192.168.0.78.

Araka ny efa voalaza, mba hahazoana antoka fa mizara mitovy ny fangatahana eo amin'ireo mpizara, dia hampiasa ny HAProxy load balancer izahay, izay handeha amin'ny node ingress fotodrafitrasa Zimbra mihazakazaka Ubuntu 18.04. Ny fametrahana haproxy amin'ity rafitra miasa ity dia atao amin'ny alàlan'ny baiko sudo apt-get install haproxy. Aorian'io dia mila ao anaty rakitra ianao /etc/default/haproxy manova paramètre ENABLED=0 amin'ny ENABLED=1. Ankehitriny, mba hahazoana antoka fa miasa ny haproxy, ampidiro fotsiny ny baiko serivisy haproxy. Raha mandeha ity serivisy ity dia hazava amin'ny famoahana ny baiko izany.

Ny iray amin'ireo fatiantoka lehibe amin'ny HAProxy dia ny hoe tsy mampita ny adiresy IP an'ny mpanjifa mampifandray azy amin'ny alàlan'ny default, manolo azy amin'ny azy manokana. Izany dia mety hitarika amin'ny toe-javatra izay tsy ahafahan'ny mailaka alefan'ny mpanafika amin'ny alàlan'ny adiresy IP mba hanampiana azy amin'ny lisitra mainty. Na izany aza, ity olana ity dia azo vahana. Mba hanaovana izany dia mila manova ny rakitra ianao /opt/zimbra/common/conf/master.cf.in amin'ny mpizara miaraka amin'ny Postfix ary ampio ireto andalana manaraka ireto:

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

Noho izany dia hanokatra seranan-tsambo 26, 466 ary 588 izahay, izay hahazo fifamoivoizana miditra avy amin'ny HAProxy. Rehefa voatahiry ireo rakitra dia tokony hanomboka indray ny Postfix amin'ny mpizara rehetra mampiasa ny baiko zmmtactl restart.

Aorian'izay, andao hanomboka hametraka HAProxy. Mba hanaovana izany, mamorona kopia backup amin'ny fisie fichier aloha cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak. Avy eo sokafy ny rakitra loharano amin'ny tonian-dahatsoratra /etc/haproxy/haproxy.cfg ary manomboka manampy ny toe-javatra ilaina ho azy tsikelikely. Ny sakana voalohany dia hampiditra mpizara izay maka logs, mametraka ny isa ambony indrindra azo atao amin'ny fifandraisana miaraka, ary koa mamaritra ny anarana sy ny vondron'ny mpampiasa izay hidiran'ny fizotran'ny fanatanterahana.

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

Nipoitra noho ny antony iray ny tarehimarika momba ny fifandraisana 5000 miaraka. Koa satria manana boaty mailaka 4000 izahay ao amin'ny fotodrafitrasa, mila mandinika ny mety hisian'ny fidirana amin'ny mailaka amin'ny asany miaraka izy ireo. Ankoatra izany, ilaina ny mamela tahiry kely raha toa ka mitombo ny isany.

Andeha isika hanampy sakana miaraka amin'ny firafitry ny default:

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

Ity sakana ity dia mametraka ny fe-potoana farany indrindra ho an'ny mpanjifa sy ny mpizara hanakatona ny fifandraisana rehefa tapitra izany, ary koa mametraka ny fomba fiasan'ny HAProxy. Amin'ny tranga misy antsika, ny mpandrindra entana dia miasa amin'ny fomba TCP, izany hoe mamindra fotsiny ny fonosana TCP nefa tsy mandinika ny ao anatiny.

Manaraka izany dia hanampy fitsipika momba ny fifandraisana amin'ny seranana isan-karazany. Ohatra, raha ampiasaina amin'ny fifandraisana SMTP sy mailaka ny port 25, dia misy dikany ny mandefa ny fifandraisana aminy amin'ny MTA misy ao amin'ny fotodrafitrasantsika. Raha ao amin'ny seranan-tsambo 80 ny fifandraisana, dia ity dia fangatahana http izay tokony halefa any amin'ny Zimbra Proxy.

Fitsipika momba ny seranan-tsambo 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

Fitsipika momba ny seranan-tsambo 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

Fitsipika momba ny seranan-tsambo 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

Fitsipika momba ny seranan-tsambo 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

Fitsipika momba ny seranan-tsambo 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

Mariho fa ao amin'ny fitsipika handefasana fonosana TCP mankany MTA, eo akaikin'ny adiresiny dia misy paramètre mandefa-proxy. Ilaina izany mba, mifanaraka amin'ny fanovana nataontsika teo aloha teo amin'ny firafitry ny Postfix, ny adiresy IP voalohany an'ny mpandefa azy dia alefa miaraka amin'ny fonosana TCP.

Ankehitriny rehefa vita ny fanovana rehetra ilaina amin'ny HAProxy dia azonao atao ny mamerina ny serivisy amin'ny alàlan'ny baiko service haproxy restart ary manomboka mampiasa azy.

Ho an'ny fanontaniana rehetra mifandraika amin'ny Zextras Suite, azonao atao ny mifandray amin'ny solontenan'ny Zextras Ekaterina Triandafilidi amin'ny alàlan'ny mailaka. [email voaaro]

Source: www.habr.com

Add a comment