Kuinka asettaa korkean käytettävyyden kuormituksen tasapainotin HAProxy-toiminnolla verkkopalvelimen liikenteen hallitsemiseksi


HAProxy tarkoittaa korkean saatavuuden välityspalvelinta. Se on ilmainen ja avoimen lähdekoodin sovellus, joka on kirjoitettu C-ohjelmointikielellä. HAProxy-sovellusta käytetään TCP/HTTP-kuormituksen tasapainottajana ja välityspalvelinratkaisuina. HAProxy-sovelluksen yleisin käyttö on työmäärän jakaminen useille palvelimille, esim. Web-palvelimelle, tietokantapalvelimelle, jne., Mikä parantaa palvelinympäristön yleistä suorituskykyä ja luotettavuutta.

Erittäin tehokasta ja nopeaa sovellusta käyttävät monet maineikkaista organisaatioista, joihin kuuluvat muun muassa Twitter, Reddit, GitHub ja Amazon. Se on saatavana Linux-, BSD-, Solaris- ja AIX-alustoille.

Tässä opetusohjelmassa keskustellaan prosessista, jolla korkean käytettävyyden kuormituksen tasapainotin asetetaan HAProxyn avulla HTTP-pohjaisten sovellusten (verkkopalvelimet) liikenteen hallitsemiseksi erottamalla pyynnöt useiden palvelimien välillä.

Tässä artikkelissa käytämme viimeisintä vakaa HAProxy-version eli 1.5.10 -julkaisua, joka julkaistiin 31. joulukuuta 2014. Ja käytämme myös CentOS 6.5: aa tässä asennuksessa, mutta alla olevat ohjeet toimivat myös CentOS/RHEL/Fedora- ja Ubuntu/Debian-jakelut.

Tässä kuormituksen tasapainottaja HAProxy-palvelimemme, jonka isäntänimi on websrv.tecmintlocal.com ja IP-osoite 192.168.0.125.

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

Neljä muuta konetta ovat käynnissä verkkopalvelimien, kuten Apache, kanssa.

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]

Vaihe 1: Apachen asentaminen asiakaskoneisiin

1. Ensin meidän on asennettava Apache kaikkiin neljään palvelimeen ja jaettava mikä tahansa sivusto. Apache asennetaan kaikkiin neljään palvelimeen täällä käytämme seuraavaa komentoa.

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

2. Kun olet asentanut Apache-verkkopalvelimen kaikkiin neljään asiakaskoneeseen, voit tarkistaa kenen tahansa palvelimesta, toimiiko Apache, avaamalla sen selaimen IP-osoitteen kautta.

http://192.168.0.121

Vaihe 2: Asenna HAProxy Server

3. Useimmissa nykypäivän nykyaikaisissa Linux-jakeluissa HAPRoxy voidaan helposti asentaa oletuskanta-arkistosta käyttämällä oletuspaketinhallintaa yum tai apt-get.

Jos esimerkiksi haluat asentaa HAProxyn RHEL/CentOS/Fedora- ja Debian/Ubuntu-versioihin, suorita seuraava komento. Tässä olen sisällyttänyt myös openssl-paketin, koska aiomme määrittää HAProxyn SSL- ja NON-SSL-tuella.

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

Huomaa: Debian Whezzy 7.0: ssa meidän on sallittava taustaporttitietovarasto lisäämällä uusi tiedosto backports.list hakemistoon ”/etc/apt/sources.list.d/”, jonka sisältö on seuraava.

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

Päivitä sitten arkistotietokanta ja asenna HAProxy.

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

Vaihe 3: Määritä HAProxy-lokit

4. Seuraavaksi meidän on otettava kirjaustoiminto käyttöön HAProxyssa tulevaa virheenkorjausta varten. Avaa tärkein HAProxy-määritystiedosto ”/etc/haproxy/haproxy.cfg” valitsemallasi editorilla.

# vim /etc/haproxy/haproxy.cfg

Seuraa seuraavaksi distro-kohtaisia ohjeita määrittääksesi kirjausominaisuuden HAProxyssa.

Ota seuraava rivi käyttöön kohdassa #Global settings .

log         127.0.0.1 local2

Korvaa seuraavat rivit #Global-asetukset -kohdassa,

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

Kanssa,

log         127.0.0.1 local2

5. Seuraavaksi meidän on sallittava UDP-syslog-vastaanotto asetustiedostossa /etc/rsyslog.conf, jotta HAProxy-lokitiedostot voidaan erottaa hakemistosta /var/log . Avaa 'rsyslog.conf' -tiedosto valitsemallasi editorilla.

# vim /etc/rsyslog.conf

Uncommnet ModLoad ja UDPServerRun, Palvelimemme kuuntelee porttia 514 kerätäkseen lokit syslogiin.

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

6. Seuraavaksi meidän on luotava erillinen tiedosto ”haproxy.conf” kohtaan ”/etc/rsyslog.d/” hakemistoon erillisten lokitiedostojen määrittämiseksi.

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

Liitä seuraava rivi uuteen tiedostoon.

local2.*	/var/log/haproxy.log

Käynnistä lopuksi rsyslog-palvelu päivittääksesi uudet muutokset.

# service rsyslog restart