Comhardú ualaigh HAProxy a shuiteáil ar CentOS

Ullmhaíodh aistriúchán an ailt ar an oíche roimh thús an chúrsa "Riarthóir Linux. Fíorúlú agus braisliú"

Comhardú ualaigh HAProxy a shuiteáil ar CentOS

Is réiteach coiteann é an comhardú ualaigh chun feidhmchláir ghréasáin a scálú go cothrománach thar iliomad óstach agus pointe rochtana amháin ar an tseirbhís a sholáthar d’úsáideoirí. HAProxy ar cheann de na bogearraí cothromaithe ualaigh foinse oscailte is coitianta a sholáthraíonn ard-infhaighteacht agus feidhmiúlacht seachfhreastalaí.

Déanann HAProxy a dícheall úsáid acmhainní a bharrfheabhsú, tréchur a uasmhéadú, am freagartha a íoslaghdú, agus ró-ualú aon acmhainn aonair a sheachaint. Is féidir é a shuiteáil ar éagsúlacht dáiltí Linux, mar shampla CentOS 8, a ndíreoimid air sa treoir seo, chomh maith le córais Debian 8 и Ubuntu 16.

Comhardú ualaigh HAProxy a shuiteáil ar CentOS

Tá HAProxy oiriúnach go háirithe do láithreáin ghréasáin a bhfuil trácht an-ard orthu agus mar sin is minic a úsáidtear é chun iontaofacht agus feidhmíocht cumraíochtaí seirbhíse gréasáin ilfhreastalaí a fheabhsú. Imlíníonn an treoir seo na céimeanna chun HAProxy a bhunú mar chothromóir ualaigh ar óstach scamall CentOS 8, a sheolann trácht ansin chuig do fhreastalaithe gréasáin.

Mar réamhriachtanas le haghaidh na dtorthaí is fearr, ba cheart go mbeadh dhá fhreastalaí gréasáin ar a laghad agus freastalaí cothromaithe ualaigh agat. Ní mór do fhreastalaithe gréasáin a bheith ag rith ar a laghad seirbhís bhunúsach gréasáin mar nginx nó httpd chun cothromaíocht ualaigh a thástáil eatarthu.

Suiteáil HAProxy ar CentOS 8

Toisc gur feidhmchlár foinse oscailte atá ag forbairt go tapa é HAProxy, b’fhéidir nach é an dáileadh atá ar fáil duit i stórtha caighdeánacha CentOS an leagan is déanaí. Chun an leagan reatha a fháil amach, rith an t-ordú seo a leanas:

sudo yum info haproxy

Soláthraíonn HAProxy trí leagan cobhsaí i gcónaí le roghnú astu: an dá leagan tacaithe is déanaí agus an tríú leagan níos sine atá fós ag fáil nuashonruithe ríthábhachtacha. Is féidir leat an leagan cobhsaí is déanaí atá liostaithe ar shuíomh Gréasáin HAProxy a sheiceáil i gcónaí agus ansin cinneadh a dhéanamh ar an leagan ar mhaith leat oibriú leis.

Sa treoir seo, beimid ag suiteáil an leagan cobhsaí 2.0 is déanaí, nach raibh ar fáil go fóill sna stórtha caighdeánacha tráth scríofa na treorach. Beidh ort é a shuiteáil ón bhfoinse bunaidh. Ach ar dtús, seiceáil an bhfuil na coinníollacha riachtanacha comhlíonta agat chun an clár a íoslódáil agus a thiomsú.

sudo yum install gcc pcre-devel tar make -y

Íoslódáil an cód foinse ag baint úsáide as an ordú thíos. Is féidir leat seiceáil an bhfuil leagan níos nuaí ar fáil ar HAproxy leathanach íosluchtaigh.

wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.7.tar.gz -O ~/haproxy.tar.gz

Nuair a bheidh an íoslódáil críochnaithe, bain na comhaid leis an ordú thíos:

tar xzvf ~/haproxy.tar.gz -C ~/

Téigh chuig an eolaire foinse neamhphacáilte:

cd ~/haproxy-2.0.7

Ansin tiomsaigh an clár do do chóras:

make TARGET=linux-glibc

Agus ar deireadh, suiteáil HAProxy féin:

sudo make install

Tá HAProxy suiteáilte anois, ach éilíonn sé roinnt ionramhálacha breise chun é a oibriú. Leanaimis ar aghaidh ag bunú na mbogearraí agus na seirbhísí thíos.

Socrú HAProxy do do fhreastalaí

Anois cuir na heolairí agus an comhad staitisticí seo a leanas leis na hiontrálacha HAProxy:

sudo mkdir -p /etc/haproxy
sudo mkdir -p /var/lib/haproxy 
sudo touch /var/lib/haproxy/stats

Cruthaigh nasc siombalach do na dénártha ionas gur féidir leat orduithe HAProxy a rith mar úsáideoir rialta:

sudo ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

Más mian leat seachfhreastalaí a chur le do chóras mar sheirbhís, cóipeáil an comhad haproxy.init ó shamplaí chuig do eolaire /etc/init.d. Cuir na ceadanna comhaid in eagar ionas go rithfidh an script, agus ansin atosaigh an deamhan systemd:

sudo cp ~/haproxy-2.0.7/examples/haproxy.init /etc/init.d/haproxy
sudo chmod 755 /etc/init.d/haproxy
sudo systemctl daemon-reload

Ní mór duit freisin ligean don tseirbhís atosú go huathoibríoch nuair a thosaíonn an córas:

sudo chkconfig haproxy on

Ar mhaithe le caoithiúlacht, moltar freisin úsáideoir nua a chur leis chun HAProxy a rith:

sudo useradd -r haproxy

Tar éis seo, is féidir leat uimhir an leagain suiteáilte a sheiceáil arís ag baint úsáide as an ordú seo a leanas:

haproxy -v
HA-Proxy version 2.0.7 2019/09/27 - https://haproxy.org/

In ár gcás, ba chóir go mbeadh an leagan 2.0.7, mar a thaispeántar san aschur sampla thuas.

Ar deireadh, tá an balla dóiteáin réamhshocraithe i CentOS 8 sriantach go leor don tionscadal seo. Bain úsáid as na horduithe seo a leanas chun na seirbhísí riachtanacha a cheadú agus athshocraigh an balla dóiteáin:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-port=8181/tcp
sudo firewall-cmd --reload

Íoslódáil an socrú cothromóir

Is próiseas simplí go leor é HAProxy a bhunú. Go bunúsach, níl le déanamh agat ach a rá le HAProxy cad iad na naisc ar cheart dó éisteacht leo agus cén áit ar cheart dó iad a athsheoladh.

Déantar é seo trí chomhad cumraíochta a chruthú /etc/haproxy/haproxy.cfg le socruithe sainmhínithe. Is féidir leat léamh faoi roghanna cumraíochta HAProxy ar an leathanach doiciméadaithemás mian leat tuilleadh eolais a fháil faoi.

Cothromú luchtaithe ag an gciseal iompair (ciseal 4)

Let tús leis an socrú bunúsach. Cruthaigh comhad cumraíochta nua, mar shampla ag baint úsáide as vi leis an ordú thíos:

sudo vi /etc/haproxy/haproxy.cfg

Cuir na hailt seo a leanas leis an gcomhad. Ionadaigh server_name cad ba cheart glaoch ar do fhreastalaithe ar an leathanach staitisticí, agus príobháideach_ip — seoltaí IP príobháideacha na bhfreastalaithe a dteastaíonn uait trácht gréasáin a dhíriú chucu. Is féidir leat seoltaí IP príobháideacha a sheiceáil ar an bpainéal rialaithe UpCloud agus ar an táb Líonra príobháideach ar an roghchlár líonra.

global
   log /dev/log local0
   log /dev/log local1 notice
   chroot /var/lib/haproxy
   stats timeout 30s
   user haproxy
   group haproxy
   daemon

defaults
   log global
   mode http
   option httplog
   option dontlognull
   timeout connect 5000
   timeout client 50000
   timeout server 50000

frontend http_front
   bind *:80
   stats uri /haproxy?stats
   default_backend http_back

backend http_back
   balance roundrobin
   server server_name1 private_ip1:80 check
   server server_name2 private_ip2:80 check

Sainmhíníonn sé seo cothromóir ualach ciseal iompair (ciseal 4) a dtugtar éisteacht sheachtrach http_front ar phort 80, a chuireann trácht ar aghaidh chuig inneall réamhshocraithe darb ainm http_back. Ceanglaíonn staitisticí breise /haproxy?stats an leathanach staitisticí leis an seoladh sonraithe.

Algartam cothromaithe ualaigh éagsúla.

Trí fhreastalaithe a shonrú sa rannóg Inneall ceadaítear do HAProxy na freastalaithe seo a úsáid le haghaidh cothromú ualaigh de réir algartam bhabhta-robín nuair is féidir.

Úsáidtear algartaim chomhardaithe chun a chinneadh cén freastalaí san inneall a gcuirtear gach nasc chuige. Seo cuid de na roghanna úsáideacha:

  • Roundrobin: Úsáidtear gach freastalaí ar a seal de réir a mheáchan. Is é seo an algartam is réidhe agus is cothroime nuair a fhanann am próiseála na bhfreastalaithe scaipthe go cothrom. Tá an algartam dinimiciúil seo, rud a fhágann gur féidir meáchan an fhreastalaí a choigeartú ar an eitilt.
  • Lúconn: roghnaítear an freastalaí leis an líon is lú naisc. Déantar robin bhabhta idir freastalaithe a bhfuil an t-ualach céanna orthu. Moltar úsáid a bhaint as an algartam seo le haghaidh seisiúin fhada mar LDAP, SQL, TSE, etc., ach níl sé an-oiriúnach do sheisiúin ghearra ar nós HTTP.
  • An Chéad: Faigheann an chéad fhreastalaí a bhfuil sliotáin naisc atá ar fáil an nasc. Roghnaítear freastalaithe ón ID uimhriúil is ísle go dtí an ceann is airde, a mhainníonn go dtí suíomh an fhreastalaí ar an bhfeirm. Nuair a shroicheann freastalaí maxconn, úsáidtear an chéad fhreastalaí eile.
  • Foinse: Baintear an seoladh IP foinseach agus roinntear é ar mheáchan iomlán na bhfreastalaithe reatha chun a chinneadh cé acu freastalaí a gheobhaidh an t-iarratas. Ar an mbealach seo, rachaidh an seoladh IP cliant céanna chuig an bhfreastalaí céanna i gcónaí, agus fanann na freastalaithe mar an gcéanna.

Comhardú ualaigh a shocrú ag leibhéal an fheidhmchláir (ciseal 7)

Rogha eile atá ar fáil ná cothromaíocht ualaigh a chumrú le rith ag an gciseal feidhmchláir (ciseal 7), rud atá úsáideach nuair a bhíonn codanna de d'fheidhmchlár gréasáin suite ar óstaigh éagsúla. Is féidir é seo a bhaint amach trí tharchur an cheangail a bhrú chun cinn, mar shampla trí URL.

Oscail an comhad cumraíochta HAProxy ag baint úsáide as eagarthóir téacs:

sudo vi /etc/haproxy/haproxy.cfg

Ansin cumraigh na codanna tosaigh agus inneall mar atá sa sampla thíos:

frontend http_front
   bind *:80
   stats uri /haproxy?stats
   acl url_blog path_beg /blog
   use_backend blog_back if url_blog
   default_backend http_back

backend http_back
   balance roundrobin
   server server_name1 private_ip1:80 check
   server server_name2 private_ip2:80 check

backend blog_back
   server server_name3 private_ip3:80 check

Dearbhaíonn an frontend riail ACL ar a dtugtar url_blog a bhaineann le gach nasc le cosáin ag tosú le /blog. Sonraíonn Use_backend gur cheart inneall darb ainm blog_back a sheirbheáil ar naisc a mheaitseálann an riocht url_blog, agus go láimhseálann an t-inneall réamhshocraithe gach iarratas eile.

Ar an taobh inneall, socraíonn an chumraíocht dhá ghrúpa de fhreastalaithe: http_back, mar a rinneadh cheana, agus ceann nua ar a dtugtar blog_back, a láimhseálann naisc le example.com/blog.

Tar éis na socruithe a athrú, sábháil an comhad agus atosaigh HAProxy ag baint úsáide as an ordú seo a leanas:

sudo systemctl restart haproxy

Má fhaigheann tú aon rabhaidh nó teachtaireachtaí earráide le linn tosaithe, seiceáil do chumraíocht dóibh agus cinntigh go bhfuil na comhaid agus na fillteáin riachtanacha go léir cruthaithe agat, ansin déan iarracht atosú arís.

An socrú a thástáil

Nuair a bheidh HAProxy cumraithe agus á rith, oscail seoladh IP poiblí an fhreastalaí cothromaíochta ualaigh i mbrabhsálaí agus seiceáil an bhfuil tú ceangailte leis an inneall i gceart. Cruthaíonn an paraiméadar stats uri sa chumraíocht leathanach staitisticí ag an seoladh sonraithe.

http://load_balancer_public_ip/haproxy?stats

Nuair a luchtaíonn tú an leathanach staitisticí, má léiríonn do fhreastalaithe go léir glas, d'éirigh leis an socrú!

Comhardú ualaigh HAProxy a shuiteáil ar CentOS

Tá roinnt eolais úsáideach ar leathanach na staitisticí chun d’óstach gréasáin a rianú, lena n-áirítear am suas/síos agus líon na seisiún. Má tá an freastalaí marcáilte dearg, cinntigh go bhfuil an freastalaí casta air agus gur féidir leat é a phingáil ón meaisín cothromaithe ualaigh.

Mura bhfuil do chothromóir ualaigh ag freagairt, cinntigh nach bhfuil balla dóiteáin ag cur bac ar naisc HTTP. Déan cinnte freisin go bhfuil HAProxy ag obair ag baint úsáide as an ordú thíos:

sudo systemctl status haproxy

An leathanach staitisticí a chosaint le pasfhocal

Mar sin féin, má tá an leathanach staitisticí liostaithe go simplí ar an taobh tosaigh, ansin tá sé oscailte do gach duine a fheiceáil, rud nach smaoineamh maith é. Ina áit sin, is féidir leat uimhir poirt saincheaptha a shannadh dó tríd an sampla thíos a chur le deireadh do chomhad haproxy.cfg. Ionadaigh ainm úsáideora и Focal faire le haghaidh rud éigin sábháilte:

listen stats
   bind *:8181
   stats enable
   stats uri /
   stats realm Haproxy Statistics
   stats auth username:password

Tar éis grúpa éisteoirí nua a chur leis, bain an sean-nasc stats uri den ghrúpa tosaigh. Nuair a bheidh sé críochnaithe, sábháil an comhad agus atosaigh HAProxy.

sudo systemctl restart haproxy

Ansin oscail an t-iarmhéid ualaigh arís leis an uimhir phoirt nua agus logáil isteach leis an ainm úsáideora agus pasfhocal a shonraigh tú sa chomhad cumraíochta.

http://load_balancer_public_ip:8181

Déan cinnte go bhfuil do fhreastalaithe go léir fós ag taispeáint glas agus ansin oscail ach an IP cothromóir ualaigh gan aon uimhreacha poirt i do bhrabhsálaí.

http://load_balancer_public_ip/

Má tá éagsúlacht leathanaigh tuirlingthe ar a laghad agat ar do fhreastalaithe cúil, tabharfaidh tú faoi deara go bhfaighidh tú freagra ó óstach difriúil gach uair a athlódálann tú an leathanach. Is féidir leat triail a bhaint as halgartaim cothromaithe éagsúla sa rannóg cumraíochta nó seiceáil amach doiciméadú iomlán.

Conclúid: HAProxy Load Balancer

Comhghairdeas as do chothromóir ualach HAProxy a bhunú go rathúil! Fiú amháin le socrú cothromaithe ualaigh bhunúsach, is féidir leat feabhas suntasach a chur ar fheidhmíocht agus ar infhaighteacht d’fheidhmchlár gréasáin. Níl sa treoir seo ach réamhrá ar chothromú luchtaithe le HAProxy, atá in ann i bhfad níos mó ná an méid is féidir a chlúdach sa treoir socraithe tapa. Molaimid triail a bhaint as cumraíochtaí éagsúla ag baint úsáide as doiciméadú fairsing, ar fáil do HAProxy, agus ansin tosú ag pleanáil cothromú ualach do do thimpeallacht táirgthe.

Trí úsáid a bhaint as óstaigh iolracha chun do sheirbhís gréasáin a chosaint le spás cloiginn, d’fhéadfadh go mbeadh pointe teipe i láthair ag an gcothromóir ualaigh féin. Is féidir leat ard-infhaighteacht a fheabhsú tuilleadh trí IP ar snámh a shuiteáil idir il-chothromóirí ualaigh. Is féidir leat tuilleadh eolais a fháil faoi seo inár alt faoi sheoltaí IP ar snámh ar UpCloud.

Tuilleadh faoin gcúrsa "Riarthóir Linux. Fíorúlú agus braisliú"***

Foinse: will.com

Add a comment