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