2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Sisällysluettelo
Järjestelmän luotettavuusindeksi
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)
1. Aikataulun määritys (test1 192.168.233.10)
2. RS-kokoonpano (nginx1 ja nginx2) [muokattava molemmilla kerroilla]
Erittäin saatavilla oleva HA-arkkitehtuuri
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
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
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:ää
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
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-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
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ö
Äänestys rr
Painotettu äänestys wrr
Minimiliitäntä lc
painotettu vähiten linkki wlc
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
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
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ä
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ää
painotettu äänestys
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ä.
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.
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.
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
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
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
Muokkaa VIP-kyselyalgoritmia
Muokkaa painoa politiikkakyselyssä
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
lvs (DR-tila)+nginx+tomcat
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>
<% out.println("Dynaaminen sivu 1, http://www.test1.com");%>
</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
Vieraile staattisella sivulla 192.168.100:81
Siirry dynaamiselle sivulle 192.168.233.100:82/index.jsp
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ä
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
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
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 >/etc/sysconfig/ipvsadm
systemctl käynnistä ipvsadm uudelleen
ipvsadm -ln
cd /etc/keepalive
vim keepalived.conf