Aiemmissa artikkeleissa aloimme puhua siitä, mikä Proxmox VE on ja miten se toimii. Tänään puhumme siitä, kuinka voit hyödyntää klusteroinnin mahdollisuutta ja näyttää mitä hyötyä siitä on.
Mikä on klusteri ja miksi sitä tarvitaan? Klusteri (englanninkielisestä klusterista) on joukko palvelimia, joita yhdistävät nopeat viestintäkanavat ja jotka toimivat ja näkyvät käyttäjälle yhtenä kokonaisuutena. Klusterin käytölle on useita pääskenaarioita:
Jokaisella skenaariolla on omat vaatimuksensa klusterin jäsenille. Esimerkiksi klusterille, joka suorittaa hajautetun laskennan, päävaatimus on suuri liukulukutoimintojen nopeus ja alhainen verkon latenssi. Tällaisia klustereita käytetään usein tutkimustarkoituksiin.
Koska olemme käsitelleet hajautetun laskennan aihetta, haluaisin huomauttaa, että on olemassa myös sellainen asia kuin verkkojärjestelmä (englannin ruudukosta - hila, verkko). Yleisestä samankaltaisuudesta huolimatta älä sekoita verkkojärjestelmää ja klusteria. Grid ei ole klusteri tavallisessa merkityksessä. Toisin kuin klusterissa, ruudukon sisältämät solmut ovat useimmiten heterogeenisiä ja niille on ominaista alhainen saatavuus. Tämä lähestymistapa yksinkertaistaa hajautettujen laskentaongelmien ratkaisua, mutta ei salli yhden kokonaisuuden luomista solmuista.
Silmiinpistävä esimerkki grid-järjestelmästä on suosittu laskenta-alusta BOIN (Berkeley Open Infrastructure for Network Computing). Tämä alusta luotiin alun perin projektia varten SETI @ home (Search for Extra-Terrestrial Intelligence at Home), joka käsittelee maan ulkopuolisen älyn löytämisen ongelmaa radiosignaaleja analysoimalla.
Kuinka tämä toimiiValtava joukko radioteleskoopeista vastaanotettua dataa hajotetaan moniin pieniin palasiin ja lähetetään grid-järjestelmän solmuihin (SETI@home-projektissa vapaaehtoiset tietokoneet toimivat tällaisina solmuina). Tiedot käsitellään solmuissa ja käsittelyn päätyttyä se lähetetään SETI-projektin keskuspalvelimelle. Siten projekti ratkaisee monimutkaisimman globaalin ongelman ilman tarvittavaa laskentatehoa käytettävissään.
Nyt kun meillä on selkeä käsitys siitä, mitä klusteri on, ehdotamme pohtimaan, kuinka se voidaan luoda ja käyttää. Käytämme avoimen lähdekoodin virtualisointijärjestelmää Proxmox VE.
On erityisen tärkeää ymmärtää selvästi Proxmoxin rajoitukset ja järjestelmävaatimukset ennen klusterin luomisen aloittamista, nimittäin:
klusterin solmujen enimmäismäärä - 32;
kaikissa solmuissa on oltava sama versio Proxmoxista (poikkeuksia on, mutta niitä ei suositella tuotantoon);
jos tulevaisuudessa on tarkoitus käyttää High Availability -toimintoa, klusterilla pitäisi olla vähintään 3 solmua;
porttien on oltava avoimia, jotta solmut voivat kommunikoida keskenään UDP/5404, UDP/5405 corosyncille ja TCP/22 SSH:lle;
Aluksi, käyttöjärjestelmän asennuksen jälkeen, yksi palvelin käynnistyy standalone-tila.
Luo klusteri napsauttamalla painiketta Luo klusteri vastaavassa osiossa.
Asetamme tulevalle klusterille nimen ja valitsemme aktiivisen verkkoyhteyden.
Paina Luo-painiketta. Palvelin luo 2048-bittisen avaimen ja kirjoittaa sen yhdessä uuden klusterin parametrien kanssa asetustiedostoihin.
kirjoitus TEHTÄVÄ OK osoittaa toimenpiteen onnistuneen loppuunsaattamisen. Nyt kun tarkastellaan järjestelmän yleisiä tietoja, voidaan nähdä, että palvelin on siirtynyt klusteritilaan. Toistaiseksi klusteri koostuu vain yhdestä solmusta, eli sillä ei ole vielä niitä ominaisuuksia, joita varten klusteria tarvitaan.
Klusteriin liittyminen
Ennen kuin muodostat yhteyden luotuun klusteriin, meidän on hankittava tiedot yhteyden muodostamiseksi. Voit tehdä tämän siirtymällä osioon Cluster ja paina painiketta Liity tiedot.
Avautuvassa ikkunassa olemme kiinnostuneita samannimisen kentän sisällöstä. Se on kopioitava.
Kaikki tarvittavat yhteysparametrit on koodattu tähän: yhteyden palvelimen osoite ja digitaalinen sormenjälki. Siirrymme palvelimelle, joka on sisällytettävä klusteriin. Painamme nappia Liity klusteriin ja liitä kopioitu sisältö avautuvaan ikkunaan.
kentät Vertaisosoite и Sormenjälki täytetään automaattisesti. Syötä root-salasana solmulle numero 1, valitse verkkoyhteys ja paina -painiketta Liity.
GUI-verkkosivu saattaa pysähtyä klusteriin liittymisen aikana. Ei hätää, lataa sivu uudelleen. Täsmälleen samalla tavalla lisäämme toisen solmun ja tuloksena saamme täysimittaisen 3 toimivan solmun klusterin.
Nyt voimme ohjata kaikkia klusterin solmuja yhdestä graafisesta käyttöliittymästä.
Korkean saatavuuden organisaatio
Proxmox valmiina tukee HA-organisaatiotoimintoja sekä virtuaalikoneiden että LXC-säilöjen kanssa. Apuohjelma ha-johtaja havaitsee ja käsittelee virheet ja epäonnistumiset suorittamalla vikasietoisuuden epäonnistuneesta solmusta toimivaan solmuun. Jotta mekanismi toimisi oikein, virtuaalikoneilla ja säilöillä on oltava yhteinen tiedostomuisti.
High Availability -toiminnon aktivoinnin jälkeen ha-manager-ohjelmistopino tarkkailee jatkuvasti virtuaalikoneen tai säilön tilaa ja on vuorovaikutuksessa asynkronisesti muiden klusterin solmujen kanssa.
Jaetun tallennustilan liittäminen
Esimerkkinä otimme käyttöön pienen NFS-tiedostoosuuden osoitteessa 192.168.88.18. Jotta kaikki klusterin solmut voivat käyttää sitä, sinun on suoritettava seuraavat käsittelyt.
Valitse verkkokäyttöliittymävalikosta Tietokeskus - Tallennus - Lisää - NFS.
Täytä kentät ID и Server. Avattavassa luettelossa Vie valitse haluamasi hakemisto käytettävissä olevista ja luettelosta Sisältö — vaaditut tietotyypit. Painikkeen painamisen jälkeen Lisää tallennus liitetään kaikkiin klusterin solmuihin.
Kun luot virtuaalikoneita ja säilöjä mille tahansa solmulle, määritämme omamme Levytila säilytystilana.
HA:n asettaminen
Luodaan esimerkiksi säilö Ubuntu 18.04:llä ja määritetään sille High Availability. Kun olet luonut ja suorittanut säilön, siirry osioon Datakeskus-HA-Lisää. Määritä avautuvassa kentässä virtuaalikoneen/säilön tunnus ja uudelleenkäynnistysyritysten enimmäismäärä ja siirtyminen solmujen välillä.
Jos tämä määrä ylittyy, hypervisor merkitsee VM:n epäonnistuneeksi ja asettaa sen Virhe-tilaan, minkä jälkeen se lopettaa toimintojen suorittamisen sillä.
Kun olet painanut painiketta Lisää hyödyllisyys ha-johtaja ilmoittaa kaikille klusterin solmuille, että nyt määritetyn tunnuksen omaavaa virtuaalikonetta ohjataan ja kaatumisen sattuessa se on käynnistettävä uudelleen toisessa solmussa.
Tehdään kolari
Jos haluat nähdä kuinka kytkentämekanismi tarkalleen toimii, sammutetaan solmun 1 virtalähde epänormaalisti. Katsomme toisesta solmusta, mitä klusterin kanssa tapahtuu. Näemme, että järjestelmä on korjannut vian.
HA-mekanismin toiminta ei tarkoita VM:n jatkuvuutta. Heti kun solmu "putoaa", VM-toiminto pysäytetään väliaikaisesti, kunnes se käynnistetään automaattisesti uudelleen toisessa solmussa.
Ja tästä "taika" alkaa - klusteri määritti automaattisesti solmun uudelleen suorittamaan virtuaalikoneemme ja työ palautettiin automaattisesti 120 sekunnissa.
Sammutamme ravitsemussolmun 2. Katsotaan selviääkö klusteri ja palaako VM automaattisesti toimintatilaan.
Valitettavasti, kuten näemme, meillä on ongelma, koska ainoassa elossa olevassa solmussa ei ole enää päätösvaltaa, mikä poistaa HA:n automaattisesti käytöstä. Annamme komennon pakottaa päätösvaltaisuuden asennus konsoliin.
pvecm expected 1
Kahden minuutin kuluttua HA-mekanismi toimi oikein, ja koska se ei löytänyt solmua 2, käynnisti virtuaalikoneemme solmussa2.
Heti kun node1 ja node2 käynnistettiin uudelleen, klusteri palautettiin täysin. Huomaa, että virtuaalikone ei siirry takaisin solmuun 1 itsestään, vaan tämä voidaan tehdä manuaalisesti.
Yhteenvetona
Kerroimme sinulle, kuinka Proxmox-klusterointimekanismi toimii, ja näytimme myös kuinka HA on määritetty virtuaalikoneita ja säilöjä varten. Klusterin ja HA:n asianmukainen käyttö lisää huomattavasti infrastruktuurin luotettavuutta ja tarjoaa katastrofipalautuksen.
Ennen kuin luot klusterin, sinun on heti suunniteltava, mihin tarkoituksiin sitä käytetään ja kuinka paljon sitä tulee skaalata tulevaisuudessa. Sinun on myös tarkistettava verkkoinfrastruktuurin valmius työskennellä mahdollisimman pienin viivein, jotta tuleva klusteri toimii ilman vikoja.