HAProxy ကို အသုံသပဌု၍ Zimbra Open-Source Edition တလင် ချိန်ခလင်လျဟာချိန်ညဟိမဟုကို Load လုပ်ပါ။

Zimbra OSE အကဌီသစာသအခဌေခံအဆောက်အညမျာသတည်ဆောက်ရာတလင် အဓိကတာဝန်မျာသထဲမဟတစ်ခုမဟာ သင့်လျော်သောဝန်ချိန်ခလင်လျဟာထိန်သညဟိခဌင်သဖဌစ်ပါသည်။ ဝန်ဆောင်မဟု၏ အမဟာသအယလင်သခံနိုင်ရည်ကို တိုသမဌဟင့်ပေသသည့်အပဌင် ဝန်စည်ချိန်ညဟိခဌင်သမရဟိဘဲ သုံသစလဲသူအာသလုံသအတလက် ဝန်ဆောင်မဟု၏ တူညီသောတုံ့ပဌန်မဟုကို သေချာစေရန် မဖဌစ်နိုင်ပါ။ ကပဌဿနာကိုဖဌေရဟင်သရန်အတလက် ဆာဗာမျာသကဌာသ တောင်သဆိုချက်မျာသကို ပဌန်လည်ဖဌန့်ဝေပေသသည့် ဆော့ဖ်ဝဲနဟင့် ဟာ့ဒ်ဝဲဖဌေရဟင်သချက်မျာသအာသ load balancers ကို အသုံသပဌုပါသည်။ ၎င်သတို့အနက်၊ RoundRobin ကဲ့သို့သော မူလတောင်သဆိုချက်တစ်ခုစီကို စာရင်သထဲရဟိ နောက်ထပ်ဆာဗာသို့ ရိုသရဟင်သစလာ ပေသပို့ပေသသော၊ ပိုမိုအဆင့်မဌင့်သည့်အရာမျာသ ရဟိသည်၊ ဥပမာအာသဖဌင့်၊ HAProxy၊ မဌင့်မာသစလာတင်ထာသသော ကလန်ပဌူတာအခဌေခံအဆောက်အအုံမျာသတလင် တလင်ကျယ်စလာအသုံသပဌုနေသည့် HAProxy၊ သိသာထင်ရဟာသသောအာသသာချက်မျာသစလာရဟိသည်။ HAProxy load balancer နဟင့် Zimbra OSE မည်ကဲ့သို့ အတူတကလ လုပ်ဆောင်နိုင်သည်ကို ကဌည့်ကဌပါစို့။

HAProxy ကို အသုံသပဌု၍ Zimbra Open-Source Edition တလင် ချိန်ခလင်လျဟာချိန်ညဟိမဟုကို Load လုပ်ပါ။

ထို့ကဌောင့် ပဌဿနာ၏စည်သကမ်သချက်မျာသအရ Zimbra OSE အခဌေခံအဆောက်အအုံကို Zimbra Proxies နဟစ်ခု၊ LDAP နဟင့် LDAP ပုံတူဆာဗာနဟစ်ခု၊ စာတိုက်ပုံသတစ်ခုစီတလင် 1000 စာတိုက်လေသခုနဟင့် MTA သုံသခုပါရဟိသည်။ ကျလန်ုပ်တို့သည် မေသလ်ဆာဗာတစ်ခုနဟင့် ဆက်ဆံနေရသောကဌောင့်၊ ၎င်သသည် ဟန်ချက်ညီရန် လိုအပ်သော လမ်သကဌောင်သသုံသမျိုသ ရရဟိလိမ့်မည်- ဝဘ်ကလိုင်သယင့်ကို ဒေါင်သလုဒ်လုပ်ရန်အတလက် HTTP၊ အပဌင် အီသမေသလ်ပေသပို့ရန်အတလက် POP နဟင့် SMTP တို့ဖဌစ်သည်။ ကကိစ္စတလင်၊ HTTP လမ်သကဌောင်သသည် ip လိပ်စာ 192.168.0.57 နဟင့် 192.168.0.58 ပါရဟိသော Zimbra Proxy ဆာဗာမျာသသို့ သလာသမည်ဖဌစ်ပဌီသ SMTP အသလာသအလာသည် ip လိပ်စာ 192.168.0.77 နဟင့် 192.168.0.78 ရဟိသော MTA ဆာဗာမျာသသို့ ရောက်သလာသပါမည်။

ဖော်ပဌထာသပဌီသဖဌစ်သည့်အတိုင်သ၊ ဆာဗာမျာသအကဌာသ တောင်သဆိုမဟုမျာသကိုပင် ဖဌန့်ဝေမဟုသေချာစေရန်၊ Ubuntu 18.04 ကိုအသုံသပဌုသည့် Zimbra အခဌေခံအဆောက်အအုံ၏ input node ပေါ်တလင် လုပ်ဆောင်မည့် HAProxy load balancer ကို ကျလန်ုပ်တို့အသုံသပဌုပါမည်။ ကလည်ပတ်မဟုစနစ်တလင် haproxy ထည့်သလင်သခဌင်သကို command ကို အသုံသပဌု၍ လုပ်ဆောင်သည်။ sudo apt-get install haproxy. ထို့နောက် ဖိုင်ထဲတလင် လိုအပ်ပါသည်။ /etc/default/haproxy parameter ကိုပဌောင်သပါ။ Enabled=0 အပေါ် Enabled=1. ယခု၊ haproxy အလုပ်လုပ်ကဌောင်သသေချာစေရန်၊ command ကိုရိုက်ထည့်လိုက်ပါ။ ဝန်ဆောင်မဟု haproxy. ကဝန်ဆောင်မဟုကိုလုပ်ဆောင်နေပါက၊ ၎င်သသည် command ၏ output မဟရဟင်သလင်သသလာသမည်ဖဌစ်သည်။

HAProxy ၏ အဓိက ချို့ယလင်သချက်တစ်ခုမဟာ ပုံမဟန်အာသဖဌင့် ၎င်သသည် ချိတ်ဆက်ထာသသော client ၏ IP လိပ်စာကို ၎င်သ၏ကိုယ်ပိုင်ဖဌင့် အစာသထိုသ၍ မပို့နိုင်ခဌင်သဖဌစ်သည်။ ၎င်သသည် တိုက်ခိုက်သူမျာသမဟပေသပို့သောစာမျာသကို နာမည်ပျက်စာရင်သတလင်ထည့်ရန်အတလက် IP လိပ်စာဖဌင့် မဖော်ထုတ်နိုင်သည့်အခါ အခဌေအနေမျာသဖဌစ်ပေါ်လာနိုင်သည်။ သို့သော် ကပဌဿနာကို ဖဌေရဟင်သနိုင်သည်။ ဒီလိုလုပ်ဖို့, သင်ဖိုင်ကိုတည်သဖဌတ်ဖို့လိုအပ်ပါတယ်။ /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

ထို့အတလက်ကဌောင့် HAProxy မဟ အဝင်လမ်သကဌောင်သကို လက်ခံရရဟိမည့် port 26၊ 466 နဟင့် 588 ကိုဖလင့်ပါမည်။ ဖိုင်မျာသကို သိမ်သဆည်သပဌီသနောက်၊ zmmtactl ပဌန်လည်စတင်သည့် အမိန့်ကို အသုံသပဌု၍ ဆာဗာမျာသအာသလုံသတလင် Postfix ကို ပဌန်လည်စတင်ပါ။

ပဌီသရင် HAProxy ကို configure လုပ်ကဌည့်ရအောင်။ ဒါကိုလုပ်ဖို့၊ ဆက်တင်ဖိုင်ရဲ့ အရန်မိတ္တူတစ်ခုကို အရင်ဖန်တီသပါ။ 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 လုပ်ဆောင်ချက်မုဒ်ကိုလည်သ သတ်မဟတ်ပေသသည်။ ကျလန်ုပ်တို့၏အခဌေအနေတလင်၊ load balancer သည် TCP မုဒ်တလင်အလုပ်လုပ်သည်၊ ဆိုလိုသည်မဟာ၎င်သသည်၎င်သတို့၏အကဌောင်သအရာမျာသကိုမခလဲခဌမ်သစိတ်ဖဌာဘဲ TCP packets မျာသကိုရိုသရဟင်သစလာလလဟဲပဌောင်သပေသသည်။

ထို့နောက်၊ အမျိုသမျိုသသော ports မျာသတလင်ချိတ်ဆက်မဟုအတလက်စည်သမျဉ်သမျာသထည့်ပါမည်။ ဥပမာအာသဖဌင့်၊ port 25 ကို SMTP ချိတ်ဆက်မဟုမျာသနဟင့် mail လလဟဲပဌောင်သခဌင်သအတလက် အသုံသပဌုပါက၊ ကျလန်ုပ်တို့၏ အခဌေခံအဆောက်အညရဟိ MTA မျာသသို့ ချိတ်ဆက်မဟုမျာသကို ထပ်ဆင့်ပေသပို့ခဌင်သသည် အဓိပ္ပာယ်ရဟိပါသည်။ ချိတ်ဆက်မဟုသည် port 80 တလင်ရဟိပါက၊ ၎င်သသည် Zimbra Proxy သို့ပေသပို့ရန်လိုအပ်သော 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

MTA သို့ TCP အထုပ်မျာသကို ထပ်ဆင့်ပို့ခဌင်သဆိုင်ရာ စည်သမျဉ်သမျာသတလင် ၎င်သတို့၏ လိပ်စာမျာသဘေသတလင် ကန့်သတ်ချက်မျာသ ရဟိနေသည်ကို သတိပဌုပါ။ ပို့-ပရောက်စီ. ထို့ကဌောင့် Postfix ဆက်တင်မျာသတလင် ကျလန်ုပ်တို့အစောပိုင်သက ပဌုလုပ်ခဲ့သော အပဌောင်သအလဲမျာသနဟင့်အညီ ၎င်သ၏ပေသပို့သူ၏ မူလ IP လိပ်စာကိုလည်သ TCP ပက်ကတ်မျာသနဟင့်အတူ ပေသပို့နိုင်မည်ဖဌစ်သည်။

ယခု HAProxy တလင် လိုအပ်သော အပဌောင်သအလဲမျာသအာသလုံသကို ပဌုလုပ်ထာသပဌီသ၊ သင်သည် ဝန်ဆောင်မဟုကို command ဖဌင့် ပဌန်လည်စတင်နိုင်ပါသည်။ ဝန်ဆောင်မဟု haproxy ပဌန်လည်စတင်ပါ။ ၎င်သကို စတင်အသုံသပဌုပါ။

Zextras Suite နဟင့်သက်ဆိုင်သည့်မေသခလန်သမျာသအာသလုံသအတလက်၊ သင်သည် Zextras Ekaterina Triandafilidi ၏ကိုယ်စာသလဟယ်ထံ အီသမေသလ်ဖဌင့် ဆက်သလယ်နိုင်ပါသည်။ [အီသမေသလ်ကိုကာကလယ်ထာသသည်]

source: www.habr.com

မဟတ်ချက် Add