Raspberry Pi -klusteri WWW-palvelimena : suunnittelu, toteutus ja testaus
Alho, Saara (2021)
Alho, Saara
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021060113245
https://urn.fi/URN:NBN:fi:amk-2021060113245
Tiivistelmä
Tämän opinnäytetyön tarkoituksena oli suunnitella ja rakentaa edullinen WWW-palvelin opiskelijakäyttöön sekä lisäksi tutkia, riittäisikö muutaman Raspberry Pin klusteripalvelimesta tarpeeksi tehoa sitä varten.
Työ aloitettiin tutkimalla, mikä on klusteripalvelin ja esitettelemällä myös vaihtoehtoisia edullisia palvelintyyppejä klustereille. Lisäksi etsittiin, mitä tutkimuksia ja toteutuksia klusteripalvelimiin liittyen löytyi jo valmiina. Raspberry Pi -laitteista, suositusta yhden piirilevyn tietokoneesta, koostuvia klustereita on toteutettu paljon jo silloin, kun laitteet olivat vielä nykyiseen verrattuna erityisen matalatehoisia. Toisaalta palvelimena toimivia toteutuksia löytyi vain muutama, ja näissä laitteita on käytetty huomattavasti enemmän kuin mitä tässä työssä oli tarkoitus käyttää.
WWW-palvelimen toteutus aloitettiin suunnitelmalla, jossa valittiin ja esitettiin sekä laitteet että ohjelmistot, joita oli tarkoitus käyttää rakennettavassa klusteripalvelimessa. Kriteerinä oli helppokäyttöisyyden lisäksi myös ohjelmiston keveys, jotta laitteina käytettävien Raspberry Pi -koneiden rajallisista resursseista jäisi mahdollisimman paljon itse WWW-palvelimen pyörittämiseen. Valituista ohjelmistoista klusteriohjelmistoksi valittiin Docker Swarm, sekä WWW-palvelimeksi vähän resursseja käyttävä NGINX. Tavoitteena oli, että palvelin kestäisi noin 200 käyttäjän kuorman.
Varsinainen toteutus oli melko mutkaton prosessi, jossa pääasiassa Raspberry Pit yhdistettiin toisiinsa kytkimen kautta ja niille asennettiin ja konfiguroitiin valitut ohjelmistot. Valmiin palvelimen testaus ApacheBench-ohjelmistolla osoitti, että kolmen laitteen klusteri riittää opiskelijakäyttöön hyvin.
Työ aloitettiin tutkimalla, mikä on klusteripalvelin ja esitettelemällä myös vaihtoehtoisia edullisia palvelintyyppejä klustereille. Lisäksi etsittiin, mitä tutkimuksia ja toteutuksia klusteripalvelimiin liittyen löytyi jo valmiina. Raspberry Pi -laitteista, suositusta yhden piirilevyn tietokoneesta, koostuvia klustereita on toteutettu paljon jo silloin, kun laitteet olivat vielä nykyiseen verrattuna erityisen matalatehoisia. Toisaalta palvelimena toimivia toteutuksia löytyi vain muutama, ja näissä laitteita on käytetty huomattavasti enemmän kuin mitä tässä työssä oli tarkoitus käyttää.
WWW-palvelimen toteutus aloitettiin suunnitelmalla, jossa valittiin ja esitettiin sekä laitteet että ohjelmistot, joita oli tarkoitus käyttää rakennettavassa klusteripalvelimessa. Kriteerinä oli helppokäyttöisyyden lisäksi myös ohjelmiston keveys, jotta laitteina käytettävien Raspberry Pi -koneiden rajallisista resursseista jäisi mahdollisimman paljon itse WWW-palvelimen pyörittämiseen. Valituista ohjelmistoista klusteriohjelmistoksi valittiin Docker Swarm, sekä WWW-palvelimeksi vähän resursseja käyttävä NGINX. Tavoitteena oli, että palvelin kestäisi noin 200 käyttäjän kuorman.
Varsinainen toteutus oli melko mutkaton prosessi, jossa pääasiassa Raspberry Pit yhdistettiin toisiinsa kytkimen kautta ja niille asennettiin ja konfiguroitiin valitut ohjelmistot. Valmiin palvelimen testaus ApacheBench-ohjelmistolla osoitti, että kolmen laitteen klusteri riittää opiskelijakäyttöön hyvin.