Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Nini cha kufanya ikiwa nguvu ya seva moja haitoshi kusindika maombi yote, na mtengenezaji wa programu haitoi kusawazisha mzigo? Kuna chaguo nyingi, kutoka kwa ununuzi wa kusawazisha mzigo hadi kupunguza idadi ya maombi. Ambayo ni sahihi lazima iamuliwe na hali hiyo, kwa kuzingatia hali zilizopo. Katika makala hii tutakuambia nini unaweza kufanya ikiwa bajeti yako ni mdogo na una seva ya bure.

Kama mfumo ambao ulihitajika kupunguza mzigo kwenye mojawapo ya seva, tulichagua DLP (mfumo wa kuzuia uvujaji wa habari) kutoka kwa InfoWatch. Kipengele cha utekelezaji kilikuwa uwekaji wa kazi ya kusawazisha kwenye mojawapo ya seva za "kupambana".

Moja ya matatizo tuliyokumbana nayo ni kutoweza kutumia Chanzo NAT (SNAT). Kwa nini hii ilihitajika na jinsi tatizo lilitatuliwa, tutaelezea zaidi.

Kwa hivyo, mwanzoni mchoro wa kimantiki wa mfumo uliopo ulionekana kama hii:

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Trafiki ya ICAP, SMTP, matukio kutoka kwa kompyuta za watumiaji yalichakatwa kwenye seva ya Traffic Monitor (TM). Wakati huo huo, seva ya hifadhidata ilikabiliana kwa urahisi na mzigo baada ya matukio ya usindikaji kwenye TM, lakini mzigo kwenye TM yenyewe ulikuwa mzito. Hii ilionekana kutokana na kuonekana kwa foleni ya ujumbe kwenye seva ya Kifuatilia Kifaa (DM), na vile vile kutoka kwa CPU na mzigo wa kumbukumbu kwenye TM.

Kwa mtazamo wa kwanza, ikiwa tunaongeza seva nyingine ya TM kwenye mpango huu, basi ICAP au DM inaweza kubadilishwa kwake, lakini tuliamua kutotumia njia hii, kwani uvumilivu wa makosa ulipunguzwa.

Maelezo ya suluhisho

Katika mchakato wa kutafuta suluhisho linalofaa, tulikaa kwenye programu iliyosambazwa kwa uhuru kuhifadhiwa hai pamoja na LVS. Kwa sababu keepalived hutatua tatizo la kuunda nguzo ya kushindwa na pia inaweza kudhibiti kisawazisha cha LVS.

Kile tulichotaka kufikia (kupunguza mzigo kwenye TM na kudumisha kiwango cha sasa cha uvumilivu wa makosa) kingefanya kazi kulingana na mpango ufuatao:

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Wakati wa kuangalia utendaji, ikawa kwamba mkutano wa kawaida wa RedHat uliowekwa kwenye seva hauunga mkono SNAT. Kwa upande wetu, tulipanga kutumia SNAT ili kuhakikisha kuwa pakiti zinazoingia na majibu kwao yanatumwa kutoka kwa anwani sawa ya IP, vinginevyo tutapata picha ifuatayo:

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Hili halikubaliki. Kwa mfano, seva ya wakala, ikiwa imetuma pakiti kwa anwani ya IP ya Virtual (VIP), itatarajia jibu kutoka kwa VIP, lakini katika kesi hii itatoka kwa IP2 kwa vipindi vilivyotumwa kwa chelezo. Suluhisho lilipatikana: ilihitajika kuunda jedwali lingine la uelekezaji kwenye chelezo na kuunganisha seva mbili za TM na mtandao tofauti, kama inavyoonyeshwa hapa chini:

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Mipangilio

Tutatekeleza mpango wa seva mbili zilizo na huduma za ICAP, SMTP, TCP 9100 na usawazishaji wa mzigo uliowekwa kwenye mojawapo yao.

Tuna seva mbili za RHEL6, ambazo hazina za kawaida na vifurushi vingine vimeondolewa.

Huduma ambazo tunahitaji kusawazisha:

• ICAP - tcp 1344;

• SMTP – tcp 25.

Huduma ya usafirishaji wa trafiki kutoka DM - tcp 9100.

Kwanza, tunahitaji kupanga mtandao.

Anwani pepe ya IP (VIP):

• IP: 10.20.20.105.

Seva TM6_1:

• IP ya Nje: 10.20.20.101;

• IP ya Ndani: 192.168.1.101.

Seva TM6_2:

• IP ya Nje: 10.20.20.102;

• IP ya Ndani: 192.168.1.102.

Kisha tunawezesha usambazaji wa IP kwenye seva mbili za TM. Jinsi ya kufanya hivyo imeelezewa kwenye RedHat hapa.

Tunaamua ni seva gani tutakuwa nayo ni moja kuu na ambayo itakuwa chelezo. Hebu bwana iwe TM6_1, chelezo iwe TM6_2.

Kwenye hifadhi rudufu tunaunda jedwali mpya la uelekezaji la mizani na sheria za uelekezaji:

[root@tm6_2 ~]echo 101 balancer >> /etc/iproute2/rt_tables
[root@tm6_2 ~]ip rule add from 192.168.1.102 table balancer
[root@tm6_2 ~]ip route add default via 192.168.1.101 table balancer

Amri zilizo hapo juu hufanya kazi hadi mfumo uanzishwe tena. Ili kuhakikisha kuwa njia zimehifadhiwa baada ya kuwasha upya, unaweza kuziingiza /etc/rc.d/rc.local, lakini bora kupitia faili ya mipangilio /etc/sysconfig/network-scripts/route-eth1 (kumbuka: sintaksia tofauti inatumika hapa).

Sakinisha ukiwa hai kwenye seva zote za TM. Tulitumia rpmfind.net kama chanzo cha usambazaji:

[root@tm6_1 ~]#yum install https://rpmfind.net/linux/centos/6.10/os/x86_64/Packages/keepalived-1.2.13-5.el6_6.x86_64.rpm

Katika mipangilio iliyohifadhiwa, tunaweka moja ya seva kama bwana, nyingine kama nakala rudufu. Kisha tunaweka VIP na huduma kwa kusawazisha mzigo. Faili ya mipangilio kawaida iko hapa: /etc/keepalived/keepalived.conf.

Mipangilio ya Seva ya TM1

vrrp_sync_group VG1 { 
   group { 
      VI_1 
   } 
} 
vrrp_instance VI_1 { 
        state MASTER 
        interface eth0 

        lvs_sync_daemon_inteface eth0 
        virtual_router_id 51 
        priority 151 
        advert_int 1 
        authentication { 
                auth_type PASS 
                auth_pass example 
        } 

        virtual_ipaddress { 
                10.20.20.105 
        } 
}

virtual_server 10.20.20.105 1344 {
    delay_loop 6
    lb_algo wrr 
    lb_kind NAT
    protocol TCP

    real_server 192.168.1.101 1344 {
        weight 1
        TCP_CHECK { 
                connect_timeout 3 
            connect_port 1344
        nb_get_retry 3
        delay_before_retry 3
        }
    }

    real_server 192.168.1.102 1344 {
        weight 1
        TCP_CHECK { 
                connect_timeout 3 
            connect_port 1344
        nb_get_retry 3
        delay_before_retry 3
        }
    }
}

virtual_server 10.20.20.105 25 {
    delay_loop 6
    lb_algo wrr 
    lb_kind NAT
    protocol TCP

    real_server 192.168.1.101 25 {
        weight 1
        TCP_CHECK { 
                connect_timeout 3 
            connect_port 25
        nb_get_retry 3
        delay_before_retry 3
        }
    }

    real_server 192.168.1.102 25 {
        weight 1
        TCP_CHECK { 
                connect_timeout 3 
            connect_port 25
        nb_get_retry 3
        delay_before_retry 3
        }
    }
}

virtual_server 10.20.20.105 9100 {
    delay_loop 6
    lb_algo wrr 
    lb_kind NAT
    protocol TCP

    real_server 192.168.1.101 9100 {
        weight 1
        TCP_CHECK { 
                connect_timeout 3 
            connect_port 9100
        nb_get_retry 3
        delay_before_retry 3
        }
    }

    real_server 192.168.1.102 9100 {
        weight 1
        TCP_CHECK { 
                connect_timeout 3 
            connect_port 9100
        nb_get_retry 3
        delay_before_retry 3
        }
    }
}

Mipangilio ya Seva ya TM2

vrrp_sync_group VG1 { 
   group { 
      VI_1 
   } 
} 
vrrp_instance VI_1 { 
        state BACKUP 
        interface eth0 

        lvs_sync_daemon_inteface eth0 
        virtual_router_id 51 
        priority 100 
        advert_int 1 
        authentication { 
                auth_type PASS 
                auth_pass example 
        } 

        virtual_ipaddress { 
                10.20.20.105 
        } 
}

Tunaweka LVS kwenye bwana, ambayo itasawazisha trafiki. Haina maana kusakinisha sawazisha kwa seva ya pili, kwa kuwa tuna seva mbili tu katika usanidi.

[root@tm6_1 ~]##yum install https://rpmfind.net/linux/centos/6.10/os/x86_64/Packages/ipvsadm-1.26-4.el6.x86_64.rpm

Sawazisha itadhibitiwa na keepalived, ambayo tayari tumeisanidi.

Ili kukamilisha picha, hebu tuongeze kuweka hai ili kuanza kiotomatiki kwenye seva zote mbili:

[root@tm6_1 ~]#chkconfig keepalived on

Hitimisho

Kukagua matokeo

Wacha tuendelee kuishi kwenye seva zote mbili:

service keepalived start

Inakagua upatikanaji wa anwani pepe ya VRRP

Wacha tuhakikishe kuwa VIP iko kwenye bwana:

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Na hakuna VIP kwenye chelezo:

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Kutumia amri ya ping, tutaangalia upatikanaji wa VIP:

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Sasa unaweza kuzima bwana na kuendesha amri tena ping.

Matokeo yanapaswa kubaki sawa, na kwenye chelezo tutaona VIP:

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Kuangalia usawa wa huduma

Hebu tuchukue SMTP kwa mfano. Wacha tuzindue viunganisho viwili kwa 10.20.20.105 wakati huo huo:

telnet 10.20.20.105 25

Kwa bwana tunapaswa kuona kwamba miunganisho yote miwili ni hai na imeunganishwa kwa seva tofauti:

[root@tm6_1 ~]#watch ipvsadm –Ln

Kuweka usawa wa upakiaji kwenye InfoWatch Traffic Monitor

Kwa hivyo, tumetekeleza usanidi unaostahimili hitilafu wa huduma za TM kwa kusakinisha kisawazisha kwenye mojawapo ya seva za TM. Kwa mfumo wetu, hii ilipunguza mzigo kwenye TM kwa nusu, ambayo ilifanya iwezekanavyo kutatua tatizo la ukosefu wa usawa wa usawa kwa kutumia mfumo.

Mara nyingi, suluhisho hili linatekelezwa haraka na bila gharama za ziada, lakini wakati mwingine kuna idadi ya mapungufu na matatizo katika usanidi, kwa mfano, wakati wa kusawazisha trafiki ya UDP.

Chanzo: mapenzi.com

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster