A’ stàladh an cothromachadh luchdan HAProxy air CentOS

Chaidh an eadar-theangachadh den artaigil ullachadh air an oidhche ro thoiseach a’ chùrsa “Rianadair Linux. Mas-fhìor agus cruinneachadh"

A’ stàladh an cothromachadh luchdan HAProxy air CentOS

Tha cothromachadh luchdan na fhuasgladh cumanta airson tagraidhean lìn a sgèileadh gu còmhnard thar grunn luchd-aoigheachd fhad ‘s a tha iad a’ toirt aon àite ruigsinneachd don t-seirbheis do luchd-cleachdaidh. HAProxy Is e seo aon de na bathar-bog cothromachaidh luchdan stòr fosgailte as mòr-chòrdte a tha cuideachd a’ toirt seachad ruigsinneachd àrd agus comas-gnìomh proxy.

Bidh HAProxy a’ feuchainn ri cleachdadh ghoireasan a mheudachadh, an ìre as àirde a thoirt seachad, ùine freagairt a lughdachadh, agus cus luchdachadh de ghoireas fa-leth a sheachnadh. Faodar a chuir a-steach air grunn sgaoilidhean Linux, leithid CentOS 8, air am bi sinn a’ cuimseachadh san stiùireadh seo, a bharrachd air siostaman Debian 8 и Ubuntu 16.

A’ stàladh an cothromachadh luchdan HAProxy air CentOS

Tha HAProxy gu sònraichte freagarrach airson làraich-lìn le trafaic fìor àrd agus mar sin tha e air a chleachdadh gu tric gus earbsachd agus coileanadh rèiteachaidhean seirbheis lìn ioma-fhrithealaiche a leasachadh. Tha an iùl seo a’ mìneachadh nan ceumannan gus HAProxy a stèidheachadh mar chothromachadh luchdan air aoigheachd sgòthan CentOS 8, a bhios an uairsin a’ slighe trafaic gu na frithealaichean lìn agad.

Mar ro-riatanach airson na builean as fheàrr, bu chòir gum biodh co-dhiù dà fhrithealaiche lìn agad agus frithealaiche cothromachaidh luchdan. Feumaidh frithealaichean lìn a bhith a’ ruith co-dhiù seirbheis lìn bunaiteach leithid nginx no httpd gus cothromachadh luchdan a dhearbhadh eatorra.

A’ stàladh HAProxy air CentOS 8

Leis gu bheil HAProxy na thagradh stòr fosgailte a tha ag atharrachadh gu luath, is dòcha nach e an sgaoileadh a tha ri fhaighinn dhut ann an stòran àbhaisteach CentOS an dreach as ùire. Gus faighinn a-mach an tionndadh làithreach, ruith an òrdugh a leanas:

sudo yum info haproxy

Bidh HAProxy an-còmhnaidh a’ toirt seachad trì dreachan seasmhach airson taghadh: an dà dhreach le taic as ùire agus an treas dreach nas sine a tha fhathast a’ faighinn ùrachaidhean èiginneach. Faodaidh tu an-còmhnaidh sgrùdadh a dhèanamh air an dreach seasmhach as ùire a tha air a liostadh air làrach-lìn HAProxy agus an uairsin co-dhùnadh dè an dreach a tha thu airson a bhith ag obair leis.

San stiùireadh seo, bidh sinn a’ stàladh an dreach seasmhach 2.0 as ùire, nach robh fhathast ri fhaighinn anns na stòran àbhaisteach aig àm sgrìobhaidh an iùil. Feumaidh tu a stàladh bhon stòr thùsail. Ach an toiseach, dèan cinnteach a bheil thu air na cumhaichean riatanach a choileanadh gus am prògram a luchdachadh sìos agus a chuir ri chèile.

sudo yum install gcc pcre-devel tar make -y

Luchdaich sìos an còd tùsail leis an àithne gu h-ìosal. Faodaidh tu dearbhadh a bheil dreach nas ùire ri fhaighinn air Duilleag fiosrachaidh HAProxy luchdadh a-nuas.

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

Aon uair ‘s gu bheil an luchdachadh sìos deiseil, thoir a-mach na faidhlichean a’ cleachdadh an àithne gu h-ìosal:

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

Rach don eòlaire stòr gun phacaid:

cd ~/haproxy-2.0.7

An uairsin cuir ri chèile am prògram airson an t-siostam agad:

make TARGET=linux-glibc

Agus mu dheireadh, stàlaich HAProxy fhèin:

sudo make install

Tha HAProxy a-nis air a chuir a-steach, ach tha feum air beagan làimhseachaidhean a bharrachd gus toirt air obrachadh. Leanaidh sinn oirnn a’ stèidheachadh am bathar-bog agus na seirbheisean gu h-ìosal.

A’ stèidheachadh HAProxy airson an fhrithealaiche agad

A-nis cuir ris na clàran agus am faidhle staitistig a leanas airson na h-inntrigidhean HAProxy:

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

Cruthaich ceangal samhlachail airson na binaries gus an urrainn dhut òrdughan HAProxy a ruith mar neach-cleachdaidh cunbhalach:

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

Ma tha thu airson progsaidh a chuir ris an t-siostam agad mar sheirbheis, dèan lethbhreac den fhaidhle haproxy.init bho eisimpleirean chun eòlaire /etc/init.d agad. Deasaich ceadan an fhaidhle gus an ruith an sgriobt, agus an uairsin ath-thòisich an daemon 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

Feumaidh tu cuideachd leigeil leis an t-seirbheis ath-thòiseachadh gu fèin-ghluasadach nuair a thòisicheas an siostam:

sudo chkconfig haproxy on

Airson goireasachd, thathas cuideachd a’ moladh neach-cleachdaidh ùr a chuir ris gus HAProxy a ruith:

sudo useradd -r haproxy

Às deidh seo, faodaidh tu sgrùdadh a dhèanamh air an àireamh tionndaidh stàlaichte a-rithist leis an àithne a leanas:

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

Anns a 'chùis againn, bu chòir gum biodh an dreach 2.0.7, mar a chithear san eisimpleir toradh gu h-àrd.

Mu dheireadh, tha am balla-teine ​​​​bunaiteach ann an CentOS 8 gu math cuingealaichte airson a 'phròiseict seo. Cleachd na h-òrdughan a leanas gus na seirbheisean a tha a dhìth a cheadachadh agus am balla-teine ​​​​ath-shuidheachadh:

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

Luchdaich a-nuas suidheachadh airson balancer

Tha stèidheachadh HAProxy na phròiseas gu math sìmplidh. Gu bunaiteach, chan eil agad ach innse do HAProxy dè na ceanglaichean a bu chòir dha èisteachd agus càite am bu chòir dha an sgaoileadh.

Tha seo air a dhèanamh le bhith a’ cruthachadh faidhle rèiteachaidh /etc/haproxy/haproxy.cfg le roghainnean mìneachaidh. Faodaidh tu leughadh mu roghainnean rèiteachaidh HAProxy air duilleag na sgrìobhainneanma tha thu airson tuilleadh fhaighinn a-mach mu dheidhinn.

Cothromachadh luchdan aig ìre còmhdhail (còmhdach 4)

Feuch an tòisich sinn leis an rèiteachadh bunaiteach. Cruthaich faidhle config ùr, mar eisimpleir a’ cleachdadh vi leis an òrdugh gu h-ìosal:

sudo vi /etc/haproxy/haproxy.cfg

Cuir na h-earrannan a leanas ris an fhaidhle. Cuir na àite server_name dè bu chòir fios a chuir chun luchd-frithealaidh agad air duilleag nan staitistig, agus prìobhaideach_ip - seòlaidhean IP prìobhaideach nan frithealaichean ris a bheil thu airson trafaic lìn a stiùireadh. Faodaidh tu sùil a thoirt air seòlaidhean IP prìobhaideach air pannal smachd UpCloud agus air an taba Lìonra prìobhaideach sa chlàr-taice 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

Tha seo a’ mìneachadh cothromachadh luchdan còmhdach còmhdhail (còmhdach 4) air an taobh a-muigh leis an ainm http_front ag èisteachd air port 80, a bhios an uairsin a’ cur trafaic air adhart gu backend bunaiteach leis an t-ainm http_back. Bidh staitistig a bharrachd /haproxy?stats a' ceangal duilleag nan staitistig ris an t-seòladh ainmichte.

Diofar algorithms cothromachaidh luchdan.

Le bhith a’ sònrachadh luchd-frithealaidh anns an roinn backend leigidh HAProxy na frithealaichean sin a chleachdadh airson cothromachadh luchdan a rèir algairim robin cruinn nuair as urrainnear.

Bithear a’ cleachdadh algoirmean cothromachaidh gus faighinn a-mach dè am frithealaiche air an deireadh-sheachdain dhan tèid gach ceangal. Seo cuid de na roghainnean feumail:

  • Roundrobin: Tha gach frithealaiche air a chleachdadh mu seach a rèir a chuideam. Is e seo an algairim as rèidh agus as cothromaiche nuair a tha ùine giollachd nan frithealaichean fhathast air a chuairteachadh gu cothromach. Tha an algairim seo fiùghantach, a’ leigeil le cuideam an fhrithealaiche atharrachadh air an itealan.
  • Leasconn: tha am frithealaiche aig a bheil an àireamh as lugha de cheanglaichean air a thaghadh. Bithear a’ coileanadh robin cruinn eadar frithealaichean leis an aon luchd. Tha cleachdadh an algairim seo air a mholadh airson seiseanan fada leithid LDAP, SQL, TSE, msaa, ach chan eil e gu math freagarrach airson seiseanan goirid leithid HTTP.
  • A 'chiad: Gheibh a’ chiad fhrithealaiche le sliotan ceangail a tha rim faighinn an ceangal. Bidh luchd-frithealaidh air an taghadh bhon ID àireamhach as ìsle chun an ìre as àirde, a tha a 'dol gu suidheachadh an fhrithealaiche air an tuathanas. Cho luath ‘s a ruigeas frithealaiche maxconn, thèid an ath fhrithealaiche a chleachdadh.
  • Source: Tha an seòladh IP tùsail air a ghluasad agus air a roinn le cuideam iomlan luchd-frithealaidh ruith gus faighinn a-mach dè am frithealaiche a gheibh an t-iarrtas. San dòigh seo, bidh an aon sheòladh IP teachdaiche an-còmhnaidh a’ dol chun aon fhrithealaiche, fhad ‘s a bhios na frithealaichean mar an ceudna.

A’ stèidheachadh cothromachadh luchdan aig ìre an tagraidh (còmhdach 7)

Is e roghainn eile a tha ri fhaighinn cothromachadh luchdan a rèiteachadh gus ruith aig ìre an tagraidh (còmhdach 7), a tha feumail nuair a tha pàirtean den tagradh lìn agad suidhichte air diofar luchd-aoigheachd. Faodar seo a choileanadh le bhith a’ cur bacadh air tar-chur a’ cheangail, mar eisimpleir le URL.

Fosgail am faidhle rèiteachaidh HAProxy a’ cleachdadh deasaiche teacsa:

sudo vi /etc/haproxy/haproxy.cfg

An uairsin cuir air dòigh na roinnean aghaidh is backend mar a tha san eisimpleir gu h-ìosal:

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

Tha an frontend ag ainmeachadh riaghailt ACL ris an canar url_blog a tha a’ buntainn ris a h-uile ceangal le slighean a’ tòiseachadh le / blog. Tha Use_backend a’ sònrachadh gum bu chòir ceanglaichean a tha co-chosmhail ris an t-suidheachadh url_blog a bhith air am frithealadh le backend ainmichte blog_back, agus gach iarrtas eile air a làimhseachadh leis an deireadh-sheachdain bunaiteach.

Air an taobh backend, bidh an rèiteachadh a’ stèidheachadh dà bhuidheann de luchd-frithealaidh: http_back, mar a bha roimhe, agus fear ùr ris an canar blog_back, a bhios a’ làimhseachadh cheanglaichean ri example.com/blog.

Às deidh dhut na roghainnean atharrachadh, sàbhail am faidhle agus ath-thòisich HAProxy leis an àithne a leanas:

sudo systemctl restart haproxy

Ma gheibh thu rabhaidhean no teachdaireachdan mearachd sam bith aig àm tòiseachaidh, thoir sùil air an rèiteachadh agad dhaibh agus dèan cinnteach gu bheil thu air na faidhlichean agus na pasganan riatanach uile a chruthachadh, feuch ri ath-thòiseachadh a-rithist.

A 'dèanamh deuchainn air an rèiteachadh

Aon uair ‘s gu bheil HAProxy air a rèiteachadh agus a’ ruith, fosgail seòladh IP poblach an t-seirbheisiche cothromachaidh luchdan ann am brobhsair agus thoir sùil a bheil thu ceangailte ris an backend gu ceart. Bidh am paramadair stats uri anns an rèiteachadh a’ cruthachadh duilleag staitistig aig an t-seòladh ainmichte.

http://load_balancer_public_ip/haproxy?stats

Nuair a luchdaicheas tu an duilleag staitistig, ma tha na frithealaichean agad uile uaine, bha an suidheachadh soirbheachail!

A’ stàladh an cothromachadh luchdan HAProxy air CentOS

Tha beagan fiosrachaidh feumail air duilleag nan staitistig airson sùil a chumail air na h-aoighean lìn agad, a’ gabhail a-steach ùine suas/sìos agus an àireamh de sheiseanan. Ma tha an frithealaiche comharraichte dearg, dèan cinnteach gu bheil am frithealaiche air a thionndadh air agus gun urrainn dhut a phingadh bhon inneal cothromachaidh luchdan.

Mura h-eil do chothromachadh luchdan a’ freagairt, dèan cinnteach nach eil balla-teine ​​​​a’ bacadh ceanglaichean HTTP. Dèan cinnteach cuideachd gu bheil HAProxy ag obair a’ cleachdadh an àithne gu h-ìosal:

sudo systemctl status haproxy

Dìon duilleag staitistig le facal-faire

Ach, ma tha an duilleag staitistig dìreach air a liostadh air a ’cheann aghaidh, tha e fosgailte don h-uile duine fhaicinn, agus is dòcha nach e deagh bheachd a th’ ann. An àite sin, faodaidh tu àireamh port àbhaisteach a shònrachadh dha le bhith a’ cur an eisimpleir gu h-ìosal gu deireadh am faidhle haproxy.cfg agad. Cuir na àite ainm-cleachdaidh и facal-faire airson rudeigin sàbhailte:

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

Às deidh dhut buidheann èisteachd ùr a chuir ris, thoir air falbh an seann cheangal stats uri bhon bhuidheann aghaidh. Nuair a bhios tu deiseil, sàbhail am faidhle agus ath-thòisich HAProxy.

sudo systemctl restart haproxy

An uairsin fosgail an cothromaiche luchdan a-rithist leis an àireamh port ùr agus log a-steach leis an ainm-cleachdaidh agus am facal-faire a shònraich thu san fhaidhle rèiteachaidh.

http://load_balancer_public_ip:8181

Dèan cinnteach gu bheil na frithealaichean agad fhathast a’ sealltainn uaine agus an uairsin fosgail dìreach an IP cothromachaidh luchdan gun àireamhan puirt sam bith sa bhrobhsair agad.

http://load_balancer_public_ip/

Ma tha co-dhiù measgachadh de dhuilleagan tighinn air tìr agad air na frithealaichean deireadh cùil agad, chì thu gum faigh thu freagairt bho aoigh eile a h-uile uair a bhios tu ag ath-luchdachadh na duilleige. Faodaidh tu feuchainn air diofar algorithms cothromachaidh anns an roinn rèiteachaidh no thoir sùil air sgrìobhainnean iomlan.

Co-dhùnadh: HAProxy Load Balancer

Meal an naidheachd air a bhith a’ stèidheachadh do chothromachadh luchdan HAProxy gu soirbheachail! Eadhon le suidheachadh cothromachaidh luchdan bunaiteach, faodaidh tu coileanadh agus ruigsinneachd an tagraidh lìn agad a leasachadh gu mòr. Chan eil anns an iùl seo ach ro-ràdh airson cothromachadh luchdan le HAProxy, a tha comasach air tòrr a bharrachd na na ghabhas a chòmhdach san stiùireadh rèiteachaidh sgiobalta. Tha sinn a’ moladh a bhith a’ feuchainn le diofar rèiteachaidhean a’ cleachdadh sgrìobhainnean farsaing, ri fhaighinn le HAProxy, agus an uairsin tòisich a’ dealbhadh cothromachadh luchdan airson na h-àrainneachd cinneasachaidh agad.

Le bhith a’ cleachdadh grunn luchd-aoigheachd gus an t-seirbheis lìn agad a dhìon le rùm-cinn, is dòcha gum bi an neach-cothromachaidh luchdan fhèin fhathast na adhbhar fàiligeadh. Faodaidh tu tuilleadh leasachaidh a dhèanamh air ruigsinneachd àrd le bhith a’ stàladh IP fleòdraidh eadar ioma-luchd-cothromachaidh luchdan. Gheibh thu barrachd a-mach mu dheidhinn seo nar artaigil mu sheòlaidhean IP air bhog air UpCloud.

Tuilleadh mun chùrsa “Rianadair Linux. Mas-fhìor agus cruinneachadh"***

Source: www.habr.com

Cuir beachd ann