Palvelinklusterin rakentaminen Debian-ympäristöön
Ratilainen, Tero (2010)
Ratilainen, Tero
Jyväskylän ammattikorkeakoulu
2010
Creative Commons Attribution-ShareAlike 1.0 Suomi
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2010121618448
https://urn.fi/URN:NBN:fi:amk-2010121618448
Tiivistelmä
Tiivistelmä LemonEntry Network Ay:lle tehdyssä opinnäytetyössä tutkittiin palvelinklustereissa käytettyjä tekniikoita ja näiden soveltamista ns. HA-klusterin luomiseksi hosting-palveluille. Tavoitteena oli luoda vikasietoinen ja skaalautuva klusteri, joka toiminnallaan minimoi palvelukatkokset. Ympäristöllä tulisi olemaan toiminnallisuus tasolla, jossa yksittäisen palvelimen vikatilanne ei tuota häiriötä palvelun toimintaan käyttäjän näkökulmasta. Ympäristö toteutettiin Unix-pohjaisella Debian Squeeze -käyttöjärjestelmällä, joka työn tekovaiheessa oli vielä kehitysvaiheensa loppusuoralla. Tämä tekee työn hyödyntämisen mahdolliseksi huomattavasti pienemmillä muutoksilla verrattaen esim. Debian Lennyyn lähitulevaisuudessa, kun uusia palvelimia otetaan käyttöön uudemmalla käyttöjärjestelmäversiolla.
Työstä on tehty käytännössä tekniikkariippumaton, jolloin klusterin yksittäiset komponentit eivät ole riippuvaisia tietystä alla olevasta tekniikasta. Tämä mahdollistaa yksittäisen komponentin vaihtamisen toiseen vastaavaan tekniikkaan niin, että muihin komponentteihin ei tarvitse tehdä suuria muutoksia. Komponentit on myös tarvittaessa mahdollista vaihtaa vaiheittain käyttöön, jolloin muutoksesta ei oikein toteutettuna koidu huoltokatkoksia.
Lopputuloksena työstä saatiin testiympäristöön palvelinklusteri, joka suorittaa kuormantasauksen palvelinten kesken sekä tarkkailee klusterin tilaa automaattisesti. Vikatilanteessa pyynnöt ohjautuvat pelkästään toiminnassa oleville palvelimille ja vikatilanteen päättyessä palvelimet otetaan automaattisesti takaisin käyttöön. Normaalitilanteessa palvelimet synkronoivat tiedot keskenään, jolloin on mahdollista suorittaa palvelinten välillä kuormantasausta sekä saavutetaan tilanne, jossa tiedot ovat vikatilanteen sattuessa saatavilta muilta palvelimilta. Ympäristö on myös skaalautuva – kapasiteetin nostamiseksi riittää uusien palvelimien lisääminen järjestelmään.
Työstä on tehty käytännössä tekniikkariippumaton, jolloin klusterin yksittäiset komponentit eivät ole riippuvaisia tietystä alla olevasta tekniikasta. Tämä mahdollistaa yksittäisen komponentin vaihtamisen toiseen vastaavaan tekniikkaan niin, että muihin komponentteihin ei tarvitse tehdä suuria muutoksia. Komponentit on myös tarvittaessa mahdollista vaihtaa vaiheittain käyttöön, jolloin muutoksesta ei oikein toteutettuna koidu huoltokatkoksia.
Lopputuloksena työstä saatiin testiympäristöön palvelinklusteri, joka suorittaa kuormantasauksen palvelinten kesken sekä tarkkailee klusterin tilaa automaattisesti. Vikatilanteessa pyynnöt ohjautuvat pelkästään toiminnassa oleville palvelimille ja vikatilanteen päättyessä palvelimet otetaan automaattisesti takaisin käyttöön. Normaalitilanteessa palvelimet synkronoivat tiedot keskenään, jolloin on mahdollista suorittaa palvelinten välillä kuormantasausta sekä saavutetaan tilanne, jossa tiedot ovat vikatilanteen sattuessa saatavilta muilta palvelimilta. Ympäristö on myös skaalautuva – kapasiteetin nostamiseksi riittää uusien palvelimien lisääminen järjestelmään.