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