Teknologian jakaminen

lvs-klusteri, NAT-tila ja DR-tila, pysy elossa

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Sisällysluettelo

lvs-klusterikonsepti

Klusterit: kolme tyyppiä

Järjestelmän luotettavuusindeksi

Terminologia lvs-klusterissa

Miten lvs toimii

NAT-tila

lvs työkalut

algoritmi

koe

tietovirta

askel

1. Aikataulun määritys (test1 192.168.233.10)

2. RS-kokoonpano (nginx1 ja nginx2)

3. Osoitteen käännös (test1 192.168.233.10)

Kokeelliset tulokset

DR-tila

konsepti

Tietojen vuokaavio

kysymys:

1.VIP-osoiteristiriita

2. Kun viesti palautetaan, VIP-osoite on edelleen olemassa. Miten asiakas voi vastaanottaa vastauksen?

DR-tilan toteutus

askel

1. Aikataulun määritys (test1 192.168.233.10)

2. RS-kokoonpano (nginx1 ja nginx2) [muokattava molemmilla kerroilla]

Kokeelliset tulokset

Tee yhteenveto

Yhteenveto kokeilu

LVS toteuttaa nelikerroksisen edelleenlähetyksen + nginx toteuttaa seitsemän kerroksen edelleenlähetyksen (dynaaminen) LVS:n VIP-osoitteen käyttäminen voi saavuttaa dynaamisen ja staattisen erottelun.

Tietojen vuokaavio

Kokeelliset vaiheet

Kokeelliset tulokset

Kolme lvs:n toimintatilaa

Erittäin saatavilla oleva HA-arkkitehtuuri

konsepti

elämisen kokeilu

Kokeelliset vaiheet

isäntä

Muokata

Valmistella

KokeilutuloksetMuokkaa


lvs-klusterikonsepti

Koko nimi on linux virtual server, joka on ohjelmisto, joka toteuttaa kuormituksen tasapainotuksen Linux-ytimen tasolla.

Päätoiminto: Muodosta useita taustapalvelimia erittäin saatavilla olevaksi ja tehokkaaksi palvelinklusteriksi ja jaa asiakaspyynnöt taustapalvelimille kuormituksen tasapainotusalgoritmien avulla korkean käytettävyyden ja kuormituksen tasapainotuksen saavuttamiseksi.

Alibaban SLB-palvelimen loab-saldo toteutetaan käyttämällä lvs+keepalivea.

Klusteroitu ja hajautettu

Kuinka laajentaa järjestelmää:

Pystysuuntainen skaalaus: Skaalaa ylöspäin tehokkaampien tietokoneiden rakentamiseksi.Pullonkaula: tietokoneen omien laitteiden rajoitukset itse laitteiston suorituskyvyn pullonkaulat

Vaakasuora laajennus: Laajenna ulospäin ja lisää varusteita.Suorita useita palveluita rinnakkain ja luota verkkoon sisäisten viestintäongelmien ratkaisemiseksi, klusteriklusteri

Klusteri: Yksi järjestelmä, joka muodostuu yhdistämällä useita tietokoneita tietyn ongelman ratkaisemiseksi

Klusterit: kolme tyyppiä

PAUNAA: kuormituksen tasapainotusklusteri, joka koostuu useista isännistä, jokainen isäntä kantaa vain osan pääsypyynnöistä

HA : korkea käytettävyys: Järjestelmää suunniteltaessa tietyillä toimenpiteillä varmistetaan, että jos jokin järjestelmän komponentti tai osa epäonnistuu, koko järjestelmä voi silti toimia normaalisti.Säilyttääkseen järjestelmän saatavuuden, luotettavuuden ja vikasietoisuuden

HPC:suorituskykyinen laskennan suorituskykyinen klusteri, jossa on korkeammat vaatimukset vasteajalle ja prosessointiteholle

Järjestelmän luotettavuusindeksi

MYBF:Mean Time Between Failure Keskimääräinen aika vikojen välillä

MTTR:Keskimääräisen palautumisajan korjaus tarkoittaa palautumisaikaa

A=MTBF/(MTBF+MTTR)

A-indeksin tulee olla välillä 0–1. A-indeksi on järjestelmän käytettävyyden mitta. 0 tarkoittaa, että järjestelmä on vähemmän käytettävissä, 1 tarkoittaa, että järjestelmä on enemmän käytettävissä.

A-indikaattorin tulee olla äärettömän lähellä 1:tä (98–99 % hyväksyttyä; 90–95 % ei-kelpoista)

Kaikki ovat tunneissa (8760 tuntia 1 vuodessa, 365 päivää)

Katkosaika ja suunniteltu aika eivät sisälly hintaan

Suunnittelematon aika, eli vikaaika, on kokonaisaika vian esiintymisestä vian ratkaisemiseen. Suunnittelematon aika on indikaattori, johon meidän on kiinnitettävä huomiota.

LVS-skenaariot:

Pienten klustereiden ei tarvitse käyttää lvs:ää, käytä nginxiä, suuret klusterit käyttävät lvs:ää

Terminologia lvs-klusterissa

VS: vittual-palvelimen lvs-palvelun looginen nimi, joka on IP-osoite ja portti, joita käytämme, kun käytämme lvs-klusteria ulkoisesti.

DS: Ohjauspalvelimen lvs-klusterin pääpalvelin, eli ajoitus (eli nginx-välityspalvelin), on klusterin ydin palvelin.

RS: Oikean palvelimen lvs-klusterin todellista palvelinta, taustapalvelinta, käytetään hyväksymään DS:n välittämät pyynnöt ja vastaamaan tuloksiin.

CIP: client ip Asiakkaan osoite, eli sen asiakkaan osoite, joka aloitti pyynnön

VIP: lvs-klusterin käyttämä virtuaalinen IP-osoite, virtuaalinen IP-osoite, joka tarjoaa ulkoisen klusterin pääsyn

DIP: Director ip on klusterin ajoittajan osoite, jota käytetään viestimään RS:n kanssa

RIP: real ip Klusterin taustapalvelimen IP-osoite

Miten lvs toimii

NAT-tila: Aikatauluttaja vastaa tilaan (osoitteen käännös)

DR-tila (suora reititystila): todellinen palvelin vastaa suoraan asiakkaalle

TUN-tila: Tunnelitila

Yleisesti käytetyt tilat: NAT-tila ja DR-tila

NAT-tila

NAT-tilassa LVS muuttaa kohde-IP-osoitetta ja -porttia asiakkaalta tulevassa pyyntöviestissä LVS:n IP-osoitteeseen ja porttiin ja välittää sitten pyynnön taustapalvelimelle.

Kun vastaustulos palautetaan asiakkaalle, lvs käsittelee vastausviestin ja kohde-IP ja portti muutetaan asiakkaan IP-osoitteeksi ja portiksi.

Periaate: Ensinnäkin, kun kuormantasaaja vastaanottaa asiakkaan pyyntöpaketin, se määrittää aikataulutusalgoritmin perusteella mille taustapalvelimelle (RS) pyyntö lähetetään.
Kuormantasaaja muuttaa sitten asiakkaan lähettämän pyyntöpaketin kohde-IP-osoitteen ja portin oikean taustapalvelimen IP-osoitteeksi (RIP).
Kun todellinen palvelin on vastannut pyyntöön, se tarkistaa oletusreitin ja lähettää vastausdatapaketin kuormituksen tasapainottajalle vastaanotettuaan vastauspaketin
Muuta paketin lähdeosoite virtuaaliosoitteeksi (VIP) ja lähetä se takaisin asiakkaalle.

Edut: Klusterin palvelimet voivat käyttää mitä tahansa TCP/IP-protokollaa tukevaa käyttöjärjestelmää, kunhan kuormituksen tasapainottimella on laillinen IP-osoite.

Haitat: Rajoitettu skaalautuvuus, kun palvelinsolmut kasvavat liikaa, koska kaikkien pyyntöjen ja vastausten on mentävä kuormituksen tasapainottimen kautta.
Siksi kuormituksen tasapainottimesta tulee koko järjestelmän pullonkaula.

Osoitteen käännös on ominaista

Osoitteen käännös: sisäinen verkko - ulkoinen verkko, lähteen IP-osoite muunnetaan SNAT:ksi

Ulkoinen verkko-sisäverkko muuntaa kohde-IP-osoitteen DNAT

lvs työkalut

ipvsadmTyökalut lvs-klustereiden määrittämiseen ja hallintaan

-A lisää virtuaalipalvelimen vip

-D poista virtuaalipalvelimen osoite

-s määrittää kuormituksen tasapainotuksen ajoitusalgoritmin

-a lisää oikean palvelimen

-d poista oikea palvelin

-t määrittää VIP-osoitteen ja portin

-r määrittää rip-osoitteen ja portin

-m Käytä NAT-tilaa

-g Käytä DR-tilaa

-i Käytä tunnelitilaa

-w asettaa painon

-p 60 pitää yhteyttä 60 sekuntia Aseta yhteyden pitoaika

-L listanäkymä

-n digitaalinen näyttö

algoritmi

Äänestys rr

Painotettu äänestys wrr

Minimiliitäntä lc

painotettu vähiten linkki wlc

koe

tietovirta

nginx 1 RS1 192.168.233.20

nginx2 RS2 192.168.233.30

testi1 aikataulu ens33 192.168.233.10 ens36 12.0.0.1

test2 asiakas 12.0.0.10

askel
1. Aikataulun määritys (test1 192.168.233.10)

yum -y asentaa ipvsadm* -y

Määritä ens33

systemctl käynnistä verkko uudelleen

Määritä ens36

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens36

vim ifcfg-ens36

systemctl käynnistä verkko uudelleen

2. RS-kokoonpano (nginx1 ja nginx2)

Määritä nginx1 192.168.233.20 Muokkaa yhdyskäytävää

systemctl käynnistä verkko uudelleen

Määritä nginx2 192.168.233.30 Muokkaa yhdyskäytävää

systemctl käynnistä verkko uudelleen

vim /usr/local/nginx/html/index.html

Muokkaa vieraillun sivun sisältöä

Tarkista, onko pääsy kytkettynä

3. Osoitteen käännös (test1 192.168.233.10)

iptables -t nat -vnL Tarkista, onko nat-taulukolla käytäntö

1.

iptables -t nat -A POSTROUTING -s 192.168.233.0/24 -o ens36 -j SNAT --to 12.0.0.1

Laitteen osoite 192.168.233.0/24 muunnetaan muotoon 12.0.0.1

2.

ipvsadm -C tyhjentää alkuperäisen käytännön

ipvsadm -A -t 12.0.0.1:80 -s rr Määritä VIP-osoite ja portti

Lisää ensin VIP, IP ja virtuaalipalvelimen portti ja lisää sitten todellinen palvelin

3.

ipvsadm -a -t 12.0.0.1:80 -r 192.168.233.20:80 -m

-lisää oikea palvelin

-t määrittää VIP-osoitteen

-r määrittää oikean palvelimen osoitteen ja portin

-m määrittää tilan nat-tilaksi

ipvsadm -näkymässä

4.

ipvsadm-save tallennus

ipvsadm -D -t 192.168.233.10:80 poista käytäntö

ipvsadm -d -r 192.168.233.20: -t 12.0.0.1:80 poista solmupalvelin

5. Ota käyttöön reititys- ja edelleenlähetystoiminto

vim /etc/sysctl.conf

net.ipv4.ip_forward=1

4. Asiakas (test2 12.0.0.10)

Muokkaa test2:n IP-osoitetta ja yhdyskäytävää

Kokeelliset tulokset

painotettu äänestys

DR-tila

konsepti

se on suora reititystila

NAT-tila: Ajastin on tärkein koko LVS-klusterissa NAT-tilassa se vastaa pyyntöjen vastaanottamisesta, liikenteen välittämisestä kuormituksen tasapainotusalgoritmin mukaisesti ja vastausten lähettämisestä asiakkaalle.

DR-tila: Aikataulutin on edelleen vastuussa pyyntöjen vastaanottamisesta ja myös välittää liikenteen RS:lle kuormituksen tasapainotusalgoritmin mukaisesti, ja RS lähettää vastauksen suoraan asiakkaalle.

Suora reititys: Se on kerroksen 2 edelleenlähetystila. Layer 2 välittää datakehykset edelleen lähteen MAC-osoitteen ja kohde-MAC-osoitteen perusteella muuttamatta datapaketin lähde-IP- ja kohde-IP-osoitetta. Lähetä edelleen datapaketin MAC-osoitteen perusteella.

DR-tilassa LVS ylläpitää myös virtuaalista IP-osoitetta ja kaikki pyynnöt lähetetään tälle VIP:lle. Koska käytetään kerroksen 2 edelleenlähetystä, asiakkaan pyyntö saavuttaa ajoittajan, RS valitaan kuormituksen tasapainotusalgoritmin ja VIP-palvelimen mukaan. Kohde-mac muuttuu RS:n mac-osoitteeksi Kun RS on käsitellyt pyynnön, se voi lähettää vastauksen suoraan asiakkaalle viestin lähde-mac-osoitteen mukaan, ilman aikataulua.

Periaate: Ensinnäkin, kun kuormantasaaja vastaanottaa asiakkaan pyyntöpaketin, se määrittää aikataulutusalgoritmin perusteella mille taustapalvelimelle (RS) pyyntö lähetetään.
Kuormantasaaja muuttaa sitten asiakkaan lähettämän pyyntöpaketin kohde-MAC-osoitteen oikean taustapalvelimen MAC-osoitteeksi (R-MAC).
Kun todellinen palvelin on vastannut pyyntöön, se tarkistaa oletusreitin ja lähettää vastauspaketin suoraan asiakkaalle ilman kuormituksen tasapainotinta.

Edut: Kuormantasaaja vastaa vain pyyntöpakettien jakamisesta taustasolmupalvelimille, kun taas RS lähettää vastauspaketit suoraan käyttäjille.
Näin ollen kuormituksen tasapainottimen läpi kulkeva suuri tietovirta vähenee.

Haitat: Sekä kuormituksen tasapainottimessa että todellisessa palvelimessa RS on oltava verkkokortti kytkettynä samaan fyysiseen verkkosegmenttiin ja niiden on oltava samassa LAN-ympäristössä.

Tietojen vuokaavio

kysymys:
1.VIP-osoiteristiriita

Syy: Ajastimeen on määritetty VIP, ja myös RS:ään on määritetty VIP-osoite. VIP-osoiteristiriita, koska ajastin ja RS ovat molemmat samassa verkkosegmentissä, aiheuttaa ARP-viestintähäiriön. Koska se lähetetään koko lähiverkossa, kaikki laitteet vastaanottavat sen.

Kuinka estää lo-palautusvastaus niin, että vain tämän koneen fyysinen IP-osoite vastaa.

Ratkaisu: Muokkaa ytimen parametreja:arp_ignore=1

Vain järjestelmän fyysinen IP-osoite vastaa ARP-pyyntöihin, ja lo loopback -liitäntä ei vastaa ARP-pyyntöihin.

2. Kun viesti palautetaan, VIP-osoite on edelleen olemassa. Miten asiakas voi vastaanottaa vastauksen?

Ratkaisu:arp_announce=2

Järjestelmä ei käytä IP-paketin lähdeosoitetta vastatakseen ARP-pyyntöön, vaan lähettää suoraan fyysisen liitännän IP-osoitteen.

DR-tilan toteutus

nginx1 RS (todellinen IP) 192.168.233.20

nginx2 RS 192.168.233.30

vip 192.168.233.100

Aikataulu 192.168.233.10

Asiakas 192.168.233.40

askel
1. Aikataulun määritys (test1 192.168.233.10)

yum -y asentaa ipvsadm* -y

Lisää virtuaalinen verkkokortti ens33:0

Muokkaa ajoittajan vastausparametreja

vim /etc/sysctl.conf

net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects=0
 

sysctl -p

Lisää käytäntö

cd /opt

ipvsadm -A -t 192.168.233.100:80 -s rr

ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.20:80 -g

ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.30:80 -g

ipvsadm-save >/etc/sysconfig/ipvsadm

systemctl käynnistä ipvsadm uudelleen

ipvsadm -ln

2. RS-kokoonpano (nginx1 ja nginx2) [muokattava molemmilla kerroilla]

Muokkaa staattisten sivujen näyttösisältöä

vim /usr/local/nginx/html/index.html

systemctl käynnistä nginx uudelleen

Lisää takaisinkytkentäosoite

cd /etc/sysconfig/network-scripts/

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

Lisää lo:0 käyttöliittymä vip:ksi

reitti add -host 192.168.233.100 dev lo:0

Aseta IP-osoitteeksi 192.168.233.100 ja lisää se loopback-liittymään lvs:n VIP-osoitteeksi. Se välitetään edelleen RS:lle reititystilan kautta, jolloin VIP voi tunnistaa oikean palvelimen.

Muokkaa RS-todellisen palvelimen ytimen vastausta

vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

Kokeelliset tulokset

Muokkaa VIP-kyselyalgoritmia

Muokkaa painoa politiikkakyselyssä

Tee yhteenveto

Ero lvs:n ja nginxin välillä kuormituksen tasapainottamisessa

LVS on nelikerroksinen edelleenlähetys, joka käyttää ydintilan ip + porttia, ja sitä voidaan käyttää vain nelikerroksisena välityspalvelimena.

nginx neljän kerroksen välityspalvelin tai seitsemän kerroksen välityspalvelin

Yhteenveto kokeilu

lvs (DR-tila)+nginx+tomcat

LVS toteuttaa nelikerroksisen edelleenlähetyksen + nginx toteuttaa seitsemän kerroksen edelleenlähetyksen (dynaaminen) LVS:n VIP-osoitteen käyttäminen voi saavuttaa dynaamisen ja staattisen erottelun.

Tietojen vuokaavio

Kokeelliset vaiheet

Yllä olevien kokeiden perusteella DR-tilassa saavutetaan dynaaminen ja staattinen erotus.

1. tomcat osa

1. Luo dynaamisia sivuja tomcat1:ssä ja tomcat2:ssa

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP testi1 -sivu</title>
</head>
<body>
&lt;% out.println("Dynaaminen sivu 1, http://www.test1.com");%&gt;
</body>
</html>

2. Lisää sivustoja tomcat1:een ja tomcat2:een

cd conf

vim server.xml

Poista ensin alkuperäinen sivusto

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />

Tarkista, onko portti käynnistetty

Käy osoitteessa 192.168.233.40:8080/index.jsp

2. nginx osa

Määritä nginx2 ja nginx3

cd /usr/local/nginx/conf/

cp nginx.conf nginx.conf.bak.2024.07.08

vim nginx.conf

ylävirtaan tomcat {
palvelin 192.168.233.40:8080 paino=1;
palvelin 192.168.233.50:8080 paino=1;
}

sijainti ~ .*.jsp$ {
proxy_pass http://tomcat;
proxy_set_header HOST $isäntä;
proxy_set_header X-Real-IP $etäosoite;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

Käynnistä sitten systemctl uudelleen nginx

Määritä nginx1-välityspalvelin

Ole neljän tason agentti

cd /usr/local/nginx/conf

vim nginx.conf

Käynnistä sitten systemctl uudelleen nginx

Kokeelliset tulokset

Vieraile staattisella sivulla 192.168.100:81

Siirry dynaamiselle sivulle 192.168.233.100:82/index.jsp

Kolme lvs:n toimintatilaa

NAT DR TUN

Edut: Osoitteen käännös, yksinkertainen konfigurointi, paras suorituskyky WAN, voi saavuttaa pidemmän matkan datapakettien edelleenlähetyksen

Haitat Suorituskyvyn pullonkaula Ei tue eri verkkosegmenttien omistettuja kanavia, vaatii VPN:n avaamisen (maksaa rahaa)

RS-vaatimukset: Ei-fyysisten liitäntöjen ARP-vastauksia ei saa tukea.

RS 10-20 kpl määrä 100 kpl 100 kpl

Haastattelu kysymykset:

1. Kuvaile lyhyesti lvs:n kolmea tilaa ja eroa

taulukko yllä

2. Kuinka ratkaista aivojen jakautuminen elossa pysymisessä

Erittäin saatavilla oleva HA-arkkitehtuuri

konsepti

Se on korkean käytettävyyden arkkitehtuuri vs-klusterissa, vain ajoittimen korkealle käytettävyydelle

Toteuta vrp-pohjaiset pää- ja vara-aikataulut

Pääajastin ja varaajastin (useita yksiköitä)

Kun pääajastin toimii normaalisti, varmuuskopio on täysin redundantissa (valmiustilassa) eikä osallistu klusterin toimintaan. Vain kun ensisijainen ajoitus epäonnistuu, varmuuskopiopalvelin ottaa ensisijaisen ajoittajan työn. Jos pääaikataulutin jatkaa toimintaansa, pääskedoija toimii edelleen sisäänkäynninä klusteriin ja valmiustila on edelleen redundantissa tilassa, mikä ei välttämättä riipu prioriteetista.

Keepalive perustuu vrp-protokollaan lvs:n korkean käytettävyyden ratkaisun toteuttamiseksi

1. Multicast-osoite

224.0.0.18 kommunikoi monilähetysosoitteen perusteella ja lähettää viestejä ensisijaisen ja toissijaisen laitteen välillä.Selvitä, onko vastustaja elossa

2. Määritä ensisijaisen ja toissijaisen asemat prioriteetin perusteella.

3. Failover, jos ensisijainen palvelin epäonnistuu, varapalvelin jatkaa toimintaansa.Herra on toipunut ja on valmiustilassa

4. Vaihto ensisijaisen ja toissijaisen välillä on VIP-osoitteen vaihto

Keepalive ilmestyy erityisesti LVS:lle, mutta se ei ole yksinomainen LVS:lle.

ydinmoduuli: ylläpitämisen ydinmoduuli, joka vastaa pääprosessin käynnistämisestä ja ylläpidosta sekä globaalien asetustiedostojen lataamisesta

vrrp-moduuli: moduuli, joka toteuttaa vrrp-protokollan, joka on päätoimintomoduuli

tarkistusmoduuli: vastaa terveystarkastuksesta ja voi myös tarkistaa taustalla oikean palvelimen tilan

elämisen kokeilu

testi1 192.168.233.10 主

testi2 192.168.233.50 备

vip 192.168.233.100

nginx1 192.168.233.20

nginx2 192.168.233.30

Asiakas 192.168.233.40

Kokeelliset vaiheet

1. Sekä ensisijaiset että toissijaiset toiminnot on suoritettava samalla tavalla.

yum -y asentaa ipvsadm keepalived

vim /etc/sysctl.conf

net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects=0

sysctl -p

ipvsadm -C

ipvsadm -A -t 192.168.233.100:80 -s rr

ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.20:80 -g

ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.30:80 -g

ipvsadm-save &gt;/etc/sysconfig/ipvsadm

systemctl käynnistä ipvsadm uudelleen

ipvsadm -ln

isäntä

cd /etc/keepalive

vim keepalived.conf

Valmistella

Kokeelliset tulokset