በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

የአንድ አገልጋይ አቅም ሁሉንም ጥያቄዎች ለማስኬድ በቂ ካልሆነ እና የሶፍትዌር አምራቹ የጭነት ሚዛን ካልሰጠ ምን ማድረግ አለበት? የጭነት ሚዛን ከመግዛት እስከ የጥያቄዎች ብዛት ድረስ ብዙ አማራጮች አሉ። የትኛው ትክክል ነው, ያሉትን ሁኔታዎች ግምት ውስጥ በማስገባት ሁኔታውን መመልከት ያስፈልግዎታል. በዚህ ጽሑፍ ውስጥ በጀቱ ከተገደበ እና ነፃ አገልጋይ ካለ ምን ማድረግ እንደሚቻል እንነግርዎታለን.

በአንደኛው አገልጋይ ላይ ያለውን ጭነት ለመቀነስ አስፈላጊ የሆነበት ስርዓት እንደመሆናችን መጠን ከ InfoWatch ውስጥ DLP (Information Leak Prevention System) ን መርጠናል. የአፈፃፀሙ አንድ ገፅታ የ "ውጊያ" አገልጋዮች በአንዱ ላይ የተመጣጠነ ተግባር አቀማመጥ ነበር.

ካጋጠሙን ችግሮች አንዱ ምንጭ NAT (SNAT) መጠቀም አለመቻል ነው። ይህ ለምን አስፈለገ እና ችግሩ እንዴት እንደተፈታ, የበለጠ እንነጋገራለን.

ስለዚህ የነባር ስርዓት አመክንዮ ዲያግራም መጀመሪያ ላይ ይህን ይመስላል።

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

ICAP፣ SMTP ትራፊክ፣ ከተጠቃሚ ኮምፒውተሮች የሚመጡ ክስተቶች በትራፊክ መቆጣጠሪያ (TM) አገልጋይ ላይ ተካሂደዋል። በተመሳሳይ ጊዜ የውሂብ ጎታ አገልጋዩ በቲኤም ላይ ክስተቶችን ካስኬደ በኋላ ጭነቱን በቀላሉ ይቋቋማል, ነገር ግን በቲኤም ላይ ያለው ጭነት በራሱ ትልቅ ነበር. ይህ በመሣሪያ መቆጣጠሪያ (ዲኤም) አገልጋይ ላይ ባለው የመልእክት ወረፋ መልክ፣ እንዲሁም በቲኤም ላይ ፕሮሰሰር እና ማህደረ ትውስታ አጠቃቀም ላይ ታይቷል።

በመጀመሪያ በጨረፍታ፣ በዚህ እቅድ ውስጥ አንድ ተጨማሪ የTM አገልጋይ ከታከለ፣ ICAP ወይም DM ወይ ወደ እሱ መቀየር ይቻላል፣ ነገር ግን የስህተት መቻቻል ስለቀነሰ ይህን ዘዴ ላለመጠቀም ወስነናል።

የመፍትሄው መግለጫ

ተስማሚ መፍትሄ ለማግኘት በሂደት ላይ, በነፃ ሶፍትዌር ላይ ተቀመጥን የተቀመጠ ጋር አብሮ LVS. Keepalived ያልተሳካ ክላስተር የመፍጠር ችግርን ስለሚፈታ፣ እና የኤልቪኤስ ሚዛኑንም ማስተዳደር ይችላል።

ማሳካት የፈለግነው (በቲኤም ላይ ያለውን ጭነት በመቀነስ እና አሁን ያለውን የስህተት መቻቻል ደረጃን ጠብቆ ማቆየት) እንደዚህ መስራት ነበረበት።

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

በጤና ፍተሻ ወቅት፣ በአገልጋዮቹ ላይ የተጫነው የ RedHat ብጁ ስብሰባ SNATን እንደማይደግፍ ታወቀ። በእኛ ሁኔታ፣ SNAT ን ለመጠቀም አቅደናል ስለዚህ የሚመጡ እሽጎች እና ለእነሱ ምላሾች ከተመሳሳይ አይፒ አድራሻ ይላካሉ ፣ ካልሆነ የሚከተለው ምስል እናገኛለን።

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

ይህ ተቀባይነት የለውም። ለምሳሌ፣ ተኪ አገልጋይ፣ ፓኬቶችን ወደ ቨርቹዋል IP (VIP) አድራሻ መላክ፣ ከቪአይፒ ምላሽ ይጠብቃል፣ ነገር ግን በዚህ አጋጣሚ ወደ ምትኬ ለተላኩ ክፍለ ጊዜዎች ከ IP2 ይመጣል። መፍትሄው ተገኝቷል፡ ከዚህ በታች እንደሚታየው በመጠባበቂያ ላይ ሌላ የማዞሪያ ጠረጴዛ መፍጠር እና ሁለት TM አገልጋዮችን ከተለየ አውታረ መረብ ጋር ማገናኘት አስፈላጊ ነበር፡

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

ቅንብሮች

የሁለት አገልጋዮችን እቅድ በ ICAP ፣ SMTP ፣ TCP 9100 አገልግሎቶች እና በአንዱ ላይ የተጫነ የጭነት ሚዛንን እንተገብራለን።

ሁለት RHEL6 አገልጋዮች አሉን, ከነሱ መደበኛ ማከማቻዎች እና አንዳንድ ጥቅሎች ተወግደዋል.

ሚዛናዊ ለማድረግ የሚያስፈልጉን አገልግሎቶች፡-

• ICAP - tcp 1344;

• SMTP - tcp 25.

የትራፊክ ማስተላለፊያ አገልግሎት ከዲኤም - tcp 9100.

በመጀመሪያ ኔትወርክን ማቀድ ያስፈልገናል.

ምናባዊ አይፒ አድራሻ (ቪአይፒ)

• አይፒ፡ 10.20.20.105.

አገልጋይ TM6_1፡

• ውጫዊ IP: 10.20.20.101;

• የውስጥ IP: 192.168.1.101.

አገልጋይ TM6_2፡

• ውጫዊ IP: 10.20.20.102;

• የውስጥ IP: 192.168.1.102.

ከዚያ በሁለቱ TM አገልጋዮች ላይ የአይፒ ማስተላለፍን እናነቃለን። በ RedHat ላይ ይህን እንዴት ማድረግ እንደሚቻል ተገልጿል እዚህ.

ከአገልጋዮቹ ውስጥ የትኛው ዋና እንደሚኖረን እንወስናለን, እና የትኛው መጠባበቂያ ይሆናል. ጌታው TM6_1 ይሁን፣ ምትኬ TM6_2 ይሁን።

በመጠባበቂያ ላይ፣ አዲስ የሂሳብ ማመላለሻ ማዘዣ ጠረጴዛ እና የማዘዣ ህጎችን ይፍጠሩ፡

[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

ከላይ ያሉት ትዕዛዞች ስርዓቱ እንደገና እስኪነሳ ድረስ ይሰራሉ. ዳግም ከተነሳ በኋላ መንገዶቹ ተጠብቀው እንዲቆዩ፣ ማስገባት ይችላሉ። /ወዘተ/rc.d/rc.local, ነገር ግን በቅንብሮች ፋይል በኩል ይሻላል /etc/sysconfig/network-scripts/route-eth1 (እዚህ የተለየ አገባብ ጥቅም ላይ እንደሚውል ልብ ይበሉ).

በሁለቱም የTM አገልጋዮች ላይ Keepalive ጫን። rpmfind.net እንደ የስርጭት ምንጭ ተጠቀምንበት፡-

[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

በ Keepalive ቅንብሮች ውስጥ አንዱን ዋና አገልጋይ እንመድባለን, ሌላኛው - ምትኬ. ከዚያ ቪአይፒን እና አገልግሎቶችን ለጭነት ማመጣጠን አዘጋጅተናል። የቅንብሮች ፋይል ብዙውን ጊዜ እዚህ ይገኛል፡- /ወዘተ/keepalived/keepalived.conf.

የ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
        }
    }
}

የ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 
        } 
}

በዋና ኤልቪኤስ ላይ ጫን፣ ይህም ትራፊክን ሚዛናዊ ያደርገዋል። ለሁለተኛው አገልጋይ, ሚዛንን መጫን ትርጉም የለውም, ምክንያቱም በማዋቀር ውስጥ ሁለት አገልጋዮች ብቻ አሉን.

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

ሚዛኑ የሚቆጣጠረው አስቀድመን ባዋቀርነው በ keepalive ነው።

ምስሉን ለማጠናቀቅ፣ በሁለቱም አገልጋዮች ላይ Keepalived ን ወደ አውቶማቲካሊነት እንጨምር፡-

[root@tm6_1 ~]#chkconfig keepalived on

መደምደሚያ

ውጤቱን በማጣራት ላይ

በሁለቱ አገልጋዮች ላይ Keepalive ያሂዱ፡-

service keepalived start

የVRRP ምናባዊ አድራሻ መኖሩን በመፈተሽ ላይ

ቪአይፒ ማስተር ላይ መሆኑን ያረጋግጡ፡-

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

እና በመጠባበቂያ ላይ ምንም ቪአይፒ የለም፡-

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

የፒንግ ትዕዛዙን በመጠቀም የቪአይፒን ተገኝነት ያረጋግጡ፡-

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

አሁን ማስተርን ማጥፋት እና ትዕዛዙን እንደገና ማስኬድ ይችላሉ። ping.

ውጤቱ አንድ አይነት ሆኖ መቀጠል አለበት፣ እና በመጠባበቂያው ላይ ቪአይፒን እናያለን፡-

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

የአገልግሎት ማመጣጠን ቼክ

SMTPን እንደ ምሳሌ እንውሰድ። በአንድ ጊዜ ከ10.20.20.105 ጋር ሁለት ግንኙነቶችን እንጀምር፡-

telnet 10.20.20.105 25

ማስተር ላይ፣ ሁለቱም ግንኙነቶች ንቁ እና ከተለያዩ አገልጋዮች ጋር የተገናኙ መሆናቸውን ማየት አለብን።

[root@tm6_1 ~]#watch ipvsadm –Ln

በInfoWatch Traffic Monitor ላይ የጭነት ማመጣጠን በማዋቀር ላይ

ስለዚህ፣ ስህተትን የሚቋቋም የቲኤም አገልግሎቶችን በአንድ የቲኤም አገልጋይ ላይ ሚዛን በመትከል ተግባራዊ አድርገናል። ለስርዓታችን ይህ በቲኤም ላይ ያለውን ጭነት በግማሽ ቀንሶታል, ይህም በስርዓቱ አማካኝነት የአግድም ሚዛን አለመኖርን ችግር ለመፍታት አስችሏል.

በአብዛኛዎቹ ሁኔታዎች, ይህ መፍትሔ በፍጥነት እና ያለ ምንም ተጨማሪ ወጪ ይተገበራል, ነገር ግን አንዳንድ ጊዜ በርካታ ገደቦች እና ችግሮች በማዋቀር ላይ, ለምሳሌ, የ UDP ትራፊክን ሲያስተካክሉ.

ምንጭ: hab.com

አስተያየት ያክሉ