CreateYourVPN Academy
Kurssi: miten se toimii

Palvelinvalvonta ja meshverkko

Miten CreateYourVPN pitää silmällä palvelinten kuntoa: itsetarkastukset, palvelinten välinen meshverkko keskinäisiä tarkastuksia varten, ja tavoittamattomien palvelinten automaattinen piilottaminen käyttäjiltä.

Palvelin voi pettää sinut pahimmalla mahdollisella hetkellä: palvelu kaatuu, palveluntarjoaja käynnistää koneen uudelleen — tai, mikä pahempaa, palvelin joutuu estetyksi käyttäjän maassa ja lakkaa olemasta tavoitettavissa, vaikka se teknisesti on käynnissä. Käyttäjiesi ei koskaan pitäisi huomata mitään tästä. Tämä oppitunti käsittelee, miten CreateYourVPN vahtii palvelimiasi ja mitä tapahtuu, kun jokin niistä on pulassa.

Kaksi tarkastuskerrosta

Järjestelmä katsoo jokaista palvelinta kahdesta näkökulmasta.

1. Palvelin tarkastaa itseään

Muutaman minuutin välein jokainen palvelin raportoi: onko liikennekuuntelija portissa 443 elossa, ja onko VPN-palvelu käynnissä? Oppitunnin 3 mittarit saapuvat samassa raportissa. Jos raportti sanoo "en voi hyvin", palvelin saa tilan "Palvelin ei saatavilla". Jos raportit lakkaavat kokonaan tulemasta, tilasta tulee "Ei tietoja palvelimelta" — kone saattaa olla sammutettu tai menettänyt verkkoyhteytensä.

2. Palvelimet "koputtavat" toisilleen

Itsetarkastukset eivät voi havaita kaikkein ovelinta tapausta: palvelin uskoo olevansa terve, mutta ulkopuolelta sitä ei tavoiteta — esimerkiksi sen IP on estetty. Siksi kaikki palvelimesi on liitetty keskinäisten tarkastusten meshverkkoon: jokainen palvelin yrittää säännöllisesti tavoittaa jokaisen naapurinsa — samalla tavalla kuin käyttäjän sovellus tekisi.

Siitä eteenpäin "äänestys" ottaa ohjat:

  • Yksittäinen epäonnistunut koputus ei merkitse mitään — verkko on saattanut vain hetkellisesti pätkiä. Vain jatkuvat virhesarjat lasketaan.
  • Palvelin merkitään "Ei tavoitettavissa palvelimistasi" vasta, kun useat riippumattomat palvelimet epäonnistuvat johdonmukaisesti sen tavoittamisessa — yhden palvelimen mielipide ei ole tuomio.
  • Käytössä on myös suoja "epäluotettavaa todistajaa" vastaan: jos jokin palvelin yhtäkkiä väittää, ettei se näe puolta naapureistaan, ongelma on todennäköisimmin sen omassa — ja sen äänet hylätään.

Juuri tämä järjestelmä havaitsee estot: jos palvelin estetään maassa, jossa muut palvelimesi sijaitsevat, kyseisen maan naapurit lakkaavat nopeasti tavoittamasta sitä, kvorumi kertyy, ja järjestelmä merkitsee palvelimen tavoittamattomaksi. Samaan aikaan palvelimet maissa ilman estoa jatkavat sen näkemistä — ja mielipide-ero tekee tilanteesta selvän.

Kun palvelinten välinen yhteystarkistus ei mene läpi

Äänestys havaitsee eston, kun sinulla on useita palvelimia maassa, joka on sulkenut pääsyn. Useammin siellä on täsmälleen yksi: se lakkaa näkemästä ulkomaista palvelintasi, kun taas ulkomaiset näkevät toisensa erinomaisesti. Tällaiselle kuvalle ei koskaan synny päätösvaltaista määrää.

Huomaamme sen silti, mutta kerromme rehellisesti, mitä emme tiedä. Lauseesta "A ei näe B:tä" ei voi päätellä, kenen osoite on estetty: se on yksi ja sama väite niiden välisestä reitistä, ja ulkoapäin molemmat tapaukset näyttävät samalta. Siksi:

  • Oletuksena emme syytä ketään. Merkitsemme tilaan "Ei tavoitettavissa" sen puolen sisääntulopisteet, jota tarkistus ei tavoita, ja molempien puolten, jos se ei mene läpi kumpaankaan suuntaan. Syy nimeää molemmat palvelimet (näet sen avaamalla sisääntulopisteen palvelimen kortissa). Päätös siitä, kumman palvelimen vaihdat, on sinun: yleensä se on se, jota asiakkaasi eivät tavoita.
  • Kumpaakaan ei piiloteta. Parin piilottaminen veisi tilauksesta pois myös täysin toimivan palvelimen. Asiakkaat saavat edelleen molempien palvelinten sisääntulopisteet, ja kuormanjako yksinkertaisesti suosii terveitä, jos reitillä on sellaisia.

Tarkistava palvelin

Jotta saisit täsmällisen vastauksen "toinen kahdesta" sijaan, merkitse palvelin, jonka tarkistukseen luotat: palvelimen kortti → "Käytä tätä palvelinta muiden estojen tarkistamiseen".

Sääntö on sitten yksinkertainen: jos tarkistava palvelin lakkaa näkemästä tavallista palvelinta, pidämme tavallisen palvelimen osoitetta estettynä, kirjoitamme sinulle neuvoen vaihtamaan IP:n ja lakkaamme jakamasta sen sisääntulopisteitä asiakkaille niin kauan kuin reitillä on vaihtoehtoja. Päinvastainen, ettei tavallinen palvelin näe tarkistavaa, ei merkitse mitään.

Paras tarkistava palvelin on samassa maassa kuin asiakkaasi: sen näkökulma on lähimpänä sitä, mitä käyttäjän sovellus näkee. Voit merkitä useita. Jos kuitenkin merkitset kaikki palvelimet, suunta katoaa taas: ketään ei jäisi arvioimaan, ja parit palaavat oletuskäyttäytymiseen. Huomaa, ettei tarkistavaa palvelinta itseään enää merkitä tällä signaalilla: arvioimme sen puolelta, joten ketään ei jää arvioimaan sitä.

Mitä ongelmalliselle palvelimelle tapahtuu

Tilat syötetään suoraan tasapainotukseen: palvelimet, joilla on tila "Palvelin ei saatavilla" tai "Ei tavoitettavissa palvelimistasi", poistetaan kierrosta — niille ei lähetetä uusia yhteyksiä, ja käyttäjien tilauksissa niiden paikan ottavat terveet palvelimet samoilta reiteiltä. Ainoa poikkeus on katkennut pari ilman tarkistavaa palvelinta: siinä sisääntulopisteet merkitään, mutta yhtäkään ei poisteta jaosta.

Samalla järjestelmä on varovainen — se on rakennettu "älä tee vahinkoa" -periaatteelle:

  • Reittiä ei koskaan jätetä tyhjäksi. Jos reitin jokainen palvelin osoittautuu "huonoksi", järjestelmä tarjoaa käyttäjille parhaan saatavilla olevan vaihtoehdon tyhjän listan sijaan — muuten sovellukset päättäisivät palvelinten kadonneen ja poistaisivat ne.
  • Hiljaisuus ei ole tuomio. Tila "Ei tietoja palvelimelta" ei poista palvelinta kierrosta itsestään: ilman tuoretta dataa järjestelmä ei tee äkkinäisiä liikkeitä.

Kaikki parantuu itsestään

Mikään tiloista ei "jää päälle" ikuisesti — tila johdetaan uudelleen tuoreesta datasta:

  • palvelin lähettää taas terveen raportin → "Palvelin ei saatavilla" poistuu;
  • naapurit alkavat taas tavoittaa sen → virhesarja nollautuu, ja merkintä "Ei tavoitettavissa palvelimistasi" katoaa;
  • raportit jatkuvat → "Ei tietoja palvelimelta" katoaa.

Korjaa palvelin (tai odota, että esto poistuu) — ja se palaa itse takaisin käyttöön. Ei manuaalista "käynnistä se uudelleen".

Missä näet tämän paneelissa

Avaa minkä tahansa käyttäjän kortti → hänen palvelinlistansa: jokaisen palvelimen vieressä on tilapiste, ja kun jokin on vialla — kuvateksti syyn kanssa: "Palvelin ei saatavilla", "Ei tavoitettavissa palvelimistasi" (mukaan lukien kuinka moni palvelimistasi ei näe sitä), tai "Ei tietoja palvelimelta". Epäsuorat merkit näkyvät myös palvelinkorteilla: "vanhentunut"-merkintä mittareissa ja "Ei tietoja — agentti ei vastaa".

Meshtarkastukset ovat äärimmäisen niukkoja: ne ovat pieniä koettelevia kosketuksia tiukan päivittäisen volyymikaton kanssa — niillä ei ole vaikutusta palvelintesi liikenteeseen tai suorituskykyyn.

Tärkeimmät huomiot

  • Kaksi valvontakerrosta: palvelin tarkastaa itsensä, ja sen meshnaapurit tarkastavat sen ulkopuolelta.
  • Estot havaitaan useiden palvelinten "äänestyksellä" — ei paniikkia kertaluontoisista häiriöistä.
  • Ongelmalliset palvelimet putoavat kierrosta; käyttäjät siirtyvät hiljaa terveisiin.
  • Kaikki parantuu itsestään: heti kun palvelin herää henkiin, se liittyy takaisin automaattisesti.
  • Jos palvelinparin välinen yhteystarkistus ei mene läpi eikä tarkistavaa palvelinta ole valittu, merkitsemme tavoittamattoman puolen sisääntulopisteet (tai molempien, jos se ei mene läpi kumpaankaan suuntaan) emmekä piilota yhtäkään: päätös on sinun.

Seuraavaksi

Infrastruktuuri osaa korjata itsensä, mutta on yksi asia, joka kannattaa suojata erikseen — käyttäjäkuntasi.

On this page