mars 2013

You are currently browsing the monthly archive for mars 2013.

En del av er kanske tror att en blogg är till för att skriva på? Så är inte fallet, en blogg är en ursäkt för att få bygga kluster och lastbalansera. För att kunna göra det på ett roligt sätt behövs en hel massa burk. Jag tröttnade på att hålla på och virtualisera hemma i garaget och har därför flyttat ut min blogg i ”molnet” :). Jag har skaffat mig fyra vps:er (en blandning av xen och kvm) från två olika leverantörer (Edis och Hosting Inside). Maskinerna finns rent fysiskt i Schweiz, Tyskland och i USA. Därtill har jag köpt två lastbalanserarinstanser hos Rackspace som tjänst. Poängen med upplägget är att inte göra sig beroende av en leverantör och därigenom inte heller få några single points of failure. Leverantörerna valde jag främst på pris.

Huvudkomponenterna i mitt upplägg är:

OpenVPN

OpenVPN använder jag för att få ett internt, krypterat nätverk för kommunikation mellan mina noder. Jag har satt upp en av maskinerna som vpnserver och router för mitt interna nät. Den här delen är inte fullt redundant ännu, men kommer att bli det genom tekniken som används i den här how to’n: http://www.linuxjournal.com/article/9915

Principen är i alla fall klar, jag har med hjälp av OpenVPN fått ett internt nätverk som jag kan använda för intern kommunikation, i nästa steg kommer alla komponeter bli helt redundanta här också.

Edit: Cube-routed kan hämtas här: https://github.com/aguynamedben/cube-routed

Xtradb-cluser

Med hjälp av xtradb-cluster som Perconas implementation av Galera har jag fullt redundanta databasservrar. Jag använder två av servrana som webbservrar med Apache och PHP där jag kör wordpress. Lokalt på dessa kör var sin xtradb-instans. Xtradb-cluser ordnar med replikering av innodb-tabeller för mysql och för apache ser det ut som om den helt enkelt ansluter till en helt vanlig MySQL på localhost. I själva verket replikeras all data på radnivå i tabellerna mellan de båda servrarna över min OpenVPN-länk. På en tredje maskin kör garbd, Galera Arbitrator Daemon som ser till att skydda mot splitbrainproblematik och databaserna skulle tappa kontakten med varandra.

 

WordPress

WordPress är en helt vanlig bloggmotor som kör i Apache, jag har inte gjort något mera fancy här än att sätta upp en rsync som kopierar filer mellan servrarna så att jag håller alla filer och bilder i synk mellan maskinerna. I framtiden kommer jag här förmodligen att gå över till GlusterFS för att hantera filerna, men det har jag inte hunnit med ännu.

 

Puppet

Jag använder puppet för management av maskinerna och har lagt upp manifest för att snabbt och enkelt kunan deploya nya maskiner när jag byter leverantör eller vill kunna skala ut infrastrukturen.

 

Xymon

Jag använder Xymon för övervakning av miljön, allting som behövs på klienterna här deployas genom puppet.

 

Switch to our mobile site

Page optimized by WP Minify WordPress Plugin