HAProxyን በመጠቀም በ Zimbra Open-Source እትም ውስጥ ሚዛንን ጫን

የዚምብራ OSE መሠረተ ልማቶችን በመገንባት ውስጥ ካሉት ዋና ተግባራት አንዱ ትክክለኛ ጭነት ማመጣጠን ነው። የአገልግሎቱን ስህተት መቻቻል ከመጨመር በተጨማሪ ያለ ጭነት ማመጣጠን ለሁሉም ተጠቃሚዎች የአገልግሎቱን ተመሳሳይ ምላሽ ማረጋገጥ አይቻልም። ይህንን ችግር ለመፍታት የሎድ ሚዛኖች ጥቅም ላይ ይውላሉ - በአገልጋዮች መካከል ጥያቄዎችን እንደገና የሚያሰራጩ የሶፍትዌር እና የሃርድዌር መፍትሄዎች። ከነሱ መካከል እንደ ሮውንድሮቢን ያለ እያንዳንዱን ቀጣይ ጥያቄ በቀላሉ በዝርዝሩ ውስጥ ወዳለው አገልጋይ የሚልክ እና በጣም የላቁ አሉ ለምሳሌ ፣ HAProxy ፣ ይህም በከፍተኛ ሁኔታ በተጫኑ የኮምፒዩተር መሠረተ ልማቶች ውስጥ በሰፊው ጥቅም ላይ ይውላል ። በርካታ ጉልህ ጥቅሞች. የHAProxy load balancer እና Zimbra OSE እንዴት አብረው እንደሚሠሩ እንይ።

HAProxyን በመጠቀም በ Zimbra Open-Source እትም ውስጥ ሚዛንን ጫን

ስለዚህ፣ በችግሩ ውል መሰረት፣ ሁለት ዚምብራ ፕሮክሲዎች፣ ሁለት LDAP እና LDAP Replica አገልጋዮች፣ እያንዳንዳቸው 1000 የመልዕክት ሳጥኖች ያሉት አራት የፖስታ ማከማቻዎች እና ሶስት ኤምቲኤዎች ያሉት የዚምብራ OSE መሠረተ ልማት ይሰጠናል። ከደብዳቤ አገልጋይ ጋር እየተገናኘን ስለመሆናችን፣ ሚዛኑን የጠበቁ ሶስት አይነት ትራፊክ ይቀበላል፡የድር ደንበኛን ለማውረድ HTTP፣እንዲሁም ኢሜል ለመላክ POP እና SMTP። በዚህ አጋጣሚ የኤችቲቲፒ ትራፊክ ወደ ዚምብራ ፕሮክሲ ሰርቨሮች አይፒ አድራሻዎች 192.168.0.57 እና 192.168.0.58 ይሄዳል፣ እና የSMTP ትራፊክ ወደ ኤምቲኤ አገልጋዮች ከአይ ፒ አድራሻዎች 192.168.0.77 እና 192.168.0.78 ይሄዳል።

ቀደም ሲል እንደተገለፀው በአገልጋዮች መካከል የጥያቄዎች ስርጭትን እንኳን ለማረጋገጥ የ HAProxy ሎድ ሚዛንን እንጠቀማለን ፣ እሱም ኡቡንቱ 18.04 ን በሚያሄደው የዚምብራ መሠረተ ልማት ግቤት መስቀለኛ መንገድ ላይ። በዚህ ኦፕሬቲንግ ሲስተም ላይ ሃፕሮክሲን መጫን ትዕዛዙን በመጠቀም ይከናወናል sudo apt-get install haproxy. ከዚያ በኋላ በፋይሉ ውስጥ አስፈላጊ ነው /etc/default/haproxy መለኪያን ይቀይሩ ነቅቷል=0 ላይ ነቅቷል=1. አሁን, haproxy እየሰራ መሆኑን ለማረጋገጥ, ትዕዛዙን ብቻ ያስገቡ አገልግሎት haproxy. ይህ አገልግሎት እየሰራ ከሆነ ከትእዛዙ ውፅዓት ግልጽ ይሆናል.

የ HAProxy ዋና ዋና ድክመቶች አንዱ በነባሪነት የተገናኘውን ደንበኛ የአይፒ አድራሻን አያስተላልፍም, በራሱ ይተካዋል. ይህ በአጥቂዎች የተላኩ ደብዳቤዎች ወደ ጥቁር መዝገብ ውስጥ ለመጨመር በአይፒ አድራሻ ሊታወቁ በማይችሉበት ጊዜ ሁኔታዎችን ሊያስከትል ይችላል. ሆኖም, ይህ ጉዳይ ሊፈታ ይችላል. ይህንን ለማድረግ ፋይሉን ማርትዕ ያስፈልግዎታል /opt/zimbra/common/conf/master.cf.in በ Postfix አገልጋዮች ላይ እና የሚከተሉትን መስመሮች በእሱ ላይ ያክሉ።

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

በዚህ ምክንያት, ወደቦች 26, 466 እና 588 እንከፍተዋለን, ይህም ከ HAProxy ገቢ ትራፊክ ይቀበላል. ፋይሎቹ ከተቀመጡ በኋላ የ zmmtactl ዳግም ማስጀመር ትዕዛዙን በመጠቀም በሁሉም አገልጋዮች ላይ Postfixን እንደገና ያስጀምሩ።

ከዚያ በኋላ, HAProxy ን ማዋቀር እንጀምር. ይህንን ለማድረግ በመጀመሪያ የቅንብሮች ፋይሉን የመጠባበቂያ ቅጂ ይፍጠሩ cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak. ከዚያ የምንጭ ፋይሉን በጽሑፍ አርታኢ ውስጥ ይክፈቱ /etc/haproxy/haproxy.cfg እና አስፈላጊውን መቼቶች በእሱ ላይ ደረጃ በደረጃ ማከል ይጀምሩ. የመጀመሪያው ብሎክ የምዝግብ ማስታወሻዎችን የሚወስድ አገልጋይ ይጨምራል ፣ የሚፈቀደው ከፍተኛውን በአንድ ጊዜ የሚገናኙ ግንኙነቶችን ያዘጋጃል ፣ እንዲሁም የተጠቃሚው ስም እና ቡድን ተፈጻሚነት ያለው ሂደት ነው።

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

የ 5000 በአንድ ጊዜ ግንኙነቶች ምስል በአንድ ምክንያት ታየ። በመሠረተ ልማታችን ውስጥ 4000 የፖስታ ሳጥኖች ስላሉ ሁሉም በአንድ ጊዜ ወደ ሥራቸው ፖስታ የሚሄዱበትን ዕድል ማቅረብ ያስፈልጋል። በተጨማሪም, ቁጥራቸው ቢጨምር ትንሽ ህዳግ መተው አስፈላጊ ነው.

አሁን በነባሪ ቅንጅቶች ብሎክ እንጨምር፡-

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

ይህ እገዳ ግንኙነቱ ጊዜው ሲያልቅ ለመዝጋት ከፍተኛውን የደንበኛ እና የአገልጋይ የጥበቃ ጊዜ ያዘጋጃል እንዲሁም የHAProxy ኦፕሬሽን ሁነታን ያዘጋጃል። በእኛ ሁኔታ, የጭነት ማመሳከሪያው በ TCP ሁነታ ይሠራል, ማለትም, ይዘታቸውን ሳይመረምር በቀላሉ የ TCP ፓኬቶችን ያስተላልፋል.

በመቀጠል በተለያዩ ወደቦች ላይ የግንኙነት ደንቦችን እንጨምራለን. ለምሳሌ፣ ወደብ 25 ለኤስኤምቲፒ ግንኙነቶች እና የመልእክት ማስተላለፊያዎች ጥቅም ላይ የሚውል ከሆነ፣ በመሠረተ ልማታችን ውስጥ ወዳለን ኤምቲኤዎች ከእሱ ጋር ግንኙነቶችን ማስተላለፍ ምክንያታዊ ነው። ግንኙነቱ በፖርት 80 ላይ ከሆነ ይህ ወደ ዚምብራ ፕሮክሲ መተላለፍ ያለበት የ http ጥያቄ ነው።

ወደብ 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

ወደብ 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

ወደብ 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

ወደብ 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

ወደብ 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

እባክዎን ያስታውሱ የ TCP ፓኬቶችን ወደ ኤምቲኤ ለማስተላለፍ ህጎች ፣ ከአድራሻቸው ቀጥሎ ግቤት አለ። ተኪ መላክ. ቀደም ሲል በPostfix ቅንብሮች ላይ ባደረግናቸው ለውጦች መሠረት የላኪው ኦሪጅናል አይፒ አድራሻ ከTCP ፓኬቶች ጋር እንዲላክ ይህ አስፈላጊ ነው።

አሁን ሁሉም አስፈላጊ ለውጦች በ HAProxy ላይ ተደርገዋል, አገልግሎቱን በትእዛዙ እንደገና ማስጀመር ይችላሉ አገልግሎት haproxy እንደገና ይጀመራል። እና እሱን መጠቀም ይጀምሩ።

ከZextras Suite ጋር ለተያያዙ ሁሉም ጥያቄዎች፣ የZextras Ekaterina Triandafilidi ተወካይን በኢሜል ማግኘት ይችላሉ። [ኢሜል የተጠበቀ]

ምንጭ: hab.com

አስተያየት ያክሉ