Jinsi ya Kusanidi Kisawazisha cha Upatikanaji wa Juu na HAProxy ili Kudhibiti Trafiki ya Seva ya Wavuti


HAProxy inawakilisha Wakala wa Upatikanaji wa Juu. Ni programu ya Bure na ya wazi iliyoandikwa katika Lugha ya programu ya C. Programu ya HAProxy inatumika kama Kisawazisha cha Upakiaji cha TCP/HTTP na kwa Suluhu za seva mbadala. Matumizi ya kawaida ya programu ya HAProxy ni kusambaza mzigo wa kazi kwenye seva nyingi kwa mfano, seva ya wavuti, seva ya hifadhidata, n.k hivyo kuboresha utendaji wa jumla na kutegemewa kwa mazingira ya seva.

Utumizi bora na wa haraka sana hutumiwa na wengi wa shirika linalojulikana duniani ambalo linajumuisha lakini sio tu - Twitter, Reddit, GitHub na Amazon. Inapatikana kwa Linux, BSD, Solaris na jukwaa la AIX.

Katika somo hili, tutajadili mchakato wa kusanidi kusawazisha upatikanaji wa juu wa upatikanaji kwa kutumia HAProxy kudhibiti trafiki ya programu zinazotegemea HTTP (seva za wavuti) kwa kutenganisha maombi kwenye seva nyingi.

Kwa makala haya, tunatumia toleo thabiti la hivi majuzi zaidi la toleo la HAProxy yaani 1.5.10 lililotolewa tarehe 31 Desemba 2014. Na pia tunatumia CentOS 6.5 kwa usanidi huu, lakini maagizo yaliyo hapa chini pia yanafanya kazi kwenye CentOS/RHEL/ Usambazaji wa Fedora na Ubuntu/Debian.

Hapa kuna seva yetu ya HAProxy ya kusawazisha mzigo yenye jina la mpangishaji kama websrv.tecmintlocal.com yenye anwani ya IP 192.168.0.125.

Operating System	:	CentOS 6.5
IP Address		: 	192.168.0.125
Hostname		: 	websrv.tecmintlocal.com

Mashine zingine nne ziko na zinafanya kazi na seva za wavuti kama vile Apache.

Web Server #1 :	CentOS 6.5 [IP: 192.168.0.121] - [hostname: web1srv.tecmintlocal.com]
Web Server #2 :	CentOS 6.5 [IP: 192.168.0.122] - [hostname: web2srv.tecmintlocal.com]
Web Server #3 :	CentOS 6.5 [IP: 192.168.0.123] - [hostname: web3srv.tecmintlocal.com]
Web Server #4 :	CentOS 6.5 [IP: 192.168.0.124] - [hostname: web4srv.tecmintlocal.com]

Hatua ya 1: Kufunga Apache kwenye Mashine za Wateja

1. Kwanza tunapaswa kusakinisha Apache katika seva zote nne na kushiriki tovuti yoyote, kwa kusakinisha Apache katika seva zote nne hapa tutatumia amri ifuatayo.

# yum install httpd		[On RedHat based Systems]
# apt-get install apache2	[On Debian based Systems]

2. Baada ya kusakinisha seva ya wavuti ya Apache kwenye mashine zote nne za mteja, unaweza kuthibitisha mtu yeyote wa seva kama Apache inaendesha kwa kuipata kupitia anwani ya IP kwenye kivinjari.

http://192.168.0.121

Hatua ya 2: Kusakinisha Seva ya HAProxy

3. Katika ugawaji mwingi wa kisasa wa Linux, HAPRoxy inaweza kusakinishwa kwa urahisi kutoka kwa hazina chaguomsingi kwa kutumia kidhibiti chaguo-msingi cha kifurushi yum au apt-get.

Kwa mfano, ili kusakinisha HAProxy kwenye matoleo ya RHEL/CentOS/Fedora na Debian/Ubuntu, endesha amri ifuatayo. Hapa nimejumuisha kifurushi cha openssl pia, kwa sababu tutasanidi HAProxy kwa msaada wa SSL na NON-SSL.

# yum install haproxy openssl-devel	[On RedHat based Systems]
# apt-get install haproxy		[On Debian based Systems]

Kumbuka: Kwenye Debian Whezzy 7.0, tunahitaji kuwezesha hazina ya bandari kwa kuongeza faili mpya backports.list chini ya “/etc/apt/sources.list.d/” saraka yenye maudhui yafuatayo.

# echo "deb http://cdn.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list

Ifuatayo, sasisha hifadhidata ya hazina na usakinishe HAProxy.

# apt-get update
# apt-get install haproxy -t wheezy-backports

Hatua ya 3: Sanidi Kumbukumbu za HAProxy

4. Kisha, tunahitaji kuwezesha kipengele cha ukataji miti katika HAProxy kwa utatuzi wa siku zijazo. Fungua faili kuu ya usanidi ya HAProxy ‘/etc/haproxy/haproxy.cfg‘ na chaguo lako la kihariri.

# vim /etc/haproxy/haproxy.cfg

Ifuatayo, fuata maagizo mahususi ya distro ili kusanidi kipengele cha ukataji miti katika HAProxy.

Chini ya #Mipangilio ya Ulimwenguni, washa laini ifuatayo.

log         127.0.0.1 local2

Chini ya #Mipangilio ya Ulimwenguni, badilisha mistari ifuatayo,

log /dev/log        local0
log /dev/log        local1 notice 

Na,

log         127.0.0.1 local2

5. Kisha, tunahitaji kuwezesha mapokezi ya syslog ya UDP katika faili ya usanidi ya ‘/etc/rsyslog.conf’ ili kutenganisha faili za kumbukumbu za HAProxy chini ya saraka ya /var/log. Fungua faili yako ya 'rsyslog.conf' na chaguo lako la kihariri.

# vim /etc/rsyslog.conf

Uncommnet ModLoad na UDPServerRun, Hapa Seva yetu itasikiliza Port 514 ili kukusanya kumbukumbu kwenye syslog.

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

6. Kisha, tunahitaji kuunda faili tofauti ‘haproxy.conf’ chini ya ‘/etc/rsyslog.d/‘ saraka ili kusanidi faili tofauti za kumbukumbu.

# vim /etc/rsyslog.d/haproxy.conf

Ongeza safu ifuatayo kwa faili mpya iliyoundwa.

local2.*	/var/log/haproxy.log

Hatimaye, anzisha upya huduma ya rsyslog ili kusasisha mabadiliko mapya.

# service rsyslog restart