Raspberry Pi Webhosting Datacenter
Bram De Meester
Bram Scheerder
Jan Vernackt
Projecten 1 Academiejaar 2013-‐2014 Professionele Bachelor ICT
Raspberry Pi Webhosting Datacenter
AJ 2013 -‐ 2012
Inhoud Vastleggen projectvoorstel ..................................................................................................................... 2 Omschrijving van het originele idee .................................................................................................... 2 Uitwerken van uiteindelijk idee .......................................................................................................... 2 Uiteindelijk projectonderwerp ................................................................................................................ 3 Omschrijving van het bedoelde eindresultaat van het project ........................................................... 3 Doelpubliek & Context ........................................................................................................................ 3 Innovatief aspect van het project ....................................................................................................... 3 Beschrijving en functionaliteit van je eindresultaat ............................................................................ 3 Beschrijving van gebruikte technologieën, platform .......................................................................... 1 Planning .................................................................................................................................................. 3 Structuur van het project .................................................................................................................... 3 Werkplanning ...................................................................................................................................... 3 Rapportering ....................................................................................................................................... 4 Verslagen ................................................................................................................................................ 2 Vergadering 1 – maandag 24 februari ’14 ....................................................................................... 2
1
Raspberry Pi Webhosting Datacenter
AJ 2013 -‐ 2012
Vastleggen projectvoorstel Omschrijving van het originele idee Het bouwen van een klein datacenter voor webhosting met als basis server de Raspberry Pi. Op de Raspberry Pi’s zou een apache-‐, MySQL-‐,FTP-‐,DNS-‐ en mail-‐server draaien. Deze zouden allemaal geconfigueerd worden door een zelf geschreven controle paneel. Uiteraard zullen er ook algemeen dingen geconfigureerd worden zoals Back-‐up, logging en netwerk security. Verder word loadbalancing en computer clustering geïmplementeerd. Het controle paneel word opgebouwd in php die dan alle bash scripten zal aansturen. Het controle paneel word zo eenvoudig mogelijk opgebouwd zodat mensen die niet veel van webhosting kennen ook eenvoudig dingen kunnen aanpassen.
Uitwerken van uiteindelijk idee Algemeen is het idee het zelfde als hierboven. Enkel de toevoeging van de High availabilty apache cluster. We hebben 1 sessie gebruikt om te brainstormen. Waar de dingen die we belangrijk vonden hebben we aangeduidt.
2
Raspberry Pi Webhosting Datacenter
AJ 2013 -‐ 2012
Uiteindelijk projectonderwerp
Omschrijving van het bedoelde eindresultaat van het project Een datecenter met minstens 8 raspberry pi’s met dynamische migration (bij overbelasting zal er dynamisch extra servercapaciteiten toegevoegd worden. Het controle paneel zal zo eenvoudig mogelijk worden gepresenteerd worden zodat gebruikers die niet veel van webhosting kennen ook gemakkelijk hun weg kunnen vinden. We zullen ook gebruik maken van een loadbalancer die de nodige beveiliging zal implementeren zoals firewalls, netwerklogging, automatische backup, …
Doelpubliek & Context We willen de nadruk leggen op het eenvoudig gebruik van de control panel, waarbij dit door enigweg iedereen kan gebruikt worden maar ook tegelijk heel geavanceerd is.
Innovatief aspect van het project De grootste innovatieve aspecten zijn: -‐ -‐ -‐
Het clusteren van raspberry pi’s Dynamische migration Eenvoudige en responsive control panel
Beschrijving en functionaliteit van je eindresultaat Onze minimale doelstellingen is de dynamische toevoegingen v an nieuwe raspberry pi’s, maw wanneer een nieuwe raspberry pi handmatig wordt toegevoegd zal deze automatisch geinitialiseerd worden door de loadbalancer. Deze loadbalancer zal ook automatische backups pakken van de website en hun bijhorende data, hij zal ook de nodige beveiligingen hebben en het verkeer dynamische verdelen over de verschillende servers. De control panel heeft minimale instellingen die kunnen aangepast worden op dit paneel: -‐ -‐ -‐ -‐ -‐
ftp users de databases via phpmyadmin handmatige backup Site redirections …
Er zullen ook verschillende modi geimplementeerd worden: Geavenceerder modus en een modus voor gebruikers die niet veel kennen van webhosting.
3
Raspberry Pi Webhosting Datacenter
AJ 2013 -‐ 2012
Beschrijving van gebruikte technologieën, platform Hardware:
Op de raspberry pi’s zal er een linux versie geinstaleerd worden. Al de instelling zullen geconfigureerd worden in bash en linux terminal. Ook zullen we een cube board gebruiken als load balancer met de nodige beveiliging, dit board zal via de swich alle raspberry pi’s verbinden. Extra: We zullen via een CPU de temperatuur controlleren en de koeling inschakeling indien nodig. Raspberry Pi:(servers) Specifications: • • • • •
CPU: Arm11 Ram: 512Mbyte Nand: niet van toepassing Operating system: Raspberian Conectiviteit: o Nic: 10M/100M o HDMI o RCA Video o 2 x USB 2.0 TypeA o GPIO o 3,5 Jack audio o SD card slot
© Wikipedia
1
Raspberry Pi Webhosting Datacenter CubieBoard cubietruck:(Load balancer)
AJ 2013 -‐ 2012
Specifications: • • • • •
CPU: Arm A20 Dual core Ram: 2GB DDR @ 480MHz Nand: 8 GB Operating system: Lubuntu server Conectiviteit: o Nic: Lan 10/100/1000Mbs o HDMI o VGA o 2 x USB 2.0 TypeA o SPDIF o 3,5 Jack audio o WIFI o BlueTooth o Sata 2.0 o Micro Sd
Control panel:
© docs.cubieboard.org
Dit is een webapplicatie, deze zal geprogrammeerd worden in php die de nodige bash scripten aan zal sturen en opgemaakt worden met css en javascript. Voor clean url’s zullen we gebruik maken van Silex. Hierop zal mysql voorzien worden.
2
Raspberry Pi Webhosting Datacenter
AJ 2013 -‐ 2012
Planning
Structuur van het project
Werk verdeling:
Bash en php: Bram De Meester en Bram Scheerder Pair programming.
Hardware: Jan Vernackt 1) 2) 3) 4) 5) 6)
Ontwerp van het control panel ( via wireframes) & behuizing (Bram Scheerder) High availabilty apache cluster (Jan Vernackt) Controle paneel af zonder opmaak (functionaliteit) (Bram De Meester) Samenvoegen + troubleshooting (Bram Scheerder) opmaak volledig klaar (Bram De Meester behuizing (Jan Vernackt) a. DNS-‐server + security (Jan Vernackt) 7) Green – it (Bram Scheerder) 8) Video, Documentatie & presentatie af (Bram De Meester) Troubleshooting: -‐ Connectie door middel van het ping commando. -‐ Webhosting testen door simpelweg naar te surfen. -‐ high availabilty apache clusters testen door servers zwaar te belasten.
Werkplanning Lesweek 5: Ontwerp van het control panel ( via wireframes) & behuizing Lesweek 6: High availabilty apache cluster lesweek 7: Controle paneel af zonder opmaak (functionaliteit) lesweek 8: Samenvoegen + troubleshooting lesweek 9: opmaak volledig klaar lesweek 10: behuizing lesweek 10: DNS-‐server + security Lesweek 10: Green – it Lesweek 12: Documentatie + presentatie af + video
3
Raspberry Pi Webhosting Datacenter
AJ 2013 -‐ 2012
! Bijeenkomsten na elke milestone Geef voor de resterende lesweken een planning (graag in een schematisch overzicht) van wat tegen wanneer en door wie moet gebeuren. Dit moet in blokken van maximaal 2 weken gebeuren. In dat schema moeten uiteraard ook de mijlpalen duidelijk terug te vinden zijn. Plan ook minstens 14-‐daags bijeenkomsten waarin je onderling rapporteert en formeel vastlegt hoever het werk staat, in welke mate de planning gehaald wordt of waar ze aangepast moet worden.
Rapportering We zullen communiceren met de docent door middel van GIT en kahomail en ook door direct met hem te spreken. De leden van de groep zullen onderling communiceren door Skype, facebook en GIT.
4
Raspberry Pi Webhosting Datacenter
AJ 2013 -‐ 2012
Verslagen
Vergadering 1 – maandag 24 februari ’14 Aanwezeige leden: -‐ Bram De Meester -‐ Bram Scheerder -‐ Jan Vernackt Programma: -‐ Brainstorm -‐ Aanvullen project dossier Brainstorm: -‐ Fancy rack met lichtjes die verander wanneer de temperatuur oploopt -‐ dynamische toevoeging van raspberry pi’s -‐ control panel bruikbaar voor noobs -‐ Beschikbaar via mobiele site(responsive design) -‐ automatische back up -‐ secutity -‐ Ddos beveiliging -‐ firewall -‐ virtuele apache met migrating ( da ding da desmet zij) -‐ redundancy -‐ green it -‐ usb aanschakelen van pi’s -‐ ftp -‐ ssl
-‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐
mysql php 5 linux Bash behuizing nameservers PhpMyadmin Site Redirections Clean url’s : Silex Apache Ssh beveiliging Static ip Display op de loadbalancer voor info voor de server aparte site voor de loadbalancing Wireframing van het control panel` 2 modussen, Advanced, easymode Ups
Legende: o groen: WoW o geel: Extra o zwart: Standaard o Rood: niet te implementeren
2