Dag 25-29: Oppsett av dashing-ceph/openstack, rydding av config

Den siste uken har gått med til å sette opp dashing-ceph, dashing-openstack, rydding av Logstash config og oppdatering av bacheloroppgaven. Dashing er kort fortalt et dashbord rammeverk for å visualisere informasjon i «fine bokser», se bilde nedenfor. Det er mye ting i luften akkurat nå og det kommer til å bli en hektisk tid fremover mot innleveringen andre uken i juni.

dashing-ceph

Bachelorprosjektet skal framføres enten den 10, 11 eller 15 juni og alle som er interessert må komme å høre på! Planen er å ha en enkel men oversiktlig presentasjon med live demo som viser hva jeg har jobbet med dette semesteret. I uken som kommer vil de siste tekniske bitene bli implementert før skriveperioden starter for fullt.

Dag 25 & 26: Samstemt provisjonering av ceph maskiner

Fra forrige gang fant jeg ut at et Ceph kluster ikke kan provisjoneres node for node. Dette ble også bekreftet av en av utviklerne fra Stackforge. På bakgrunn av dette laget jeg et script som tar opp alle nodene samtidig. I tillegg ble det lagt inn en 10 sekunders forsinkelse mellom hver av maskinene slik at vi får korrekt IP adresse på dem. Scriptet er et veldig enkelt script som kan sees i sin helhet på Github.

Nå vil ikke timeout feilen fra forrige innlegg skje. Når den kommer til punktet der nøklene skal sendes over til de andre maskinene i ceph klusteret vil de andre nodene også ha kommet til dette steget. På denne måten klarer nøklene å spres over til de andre maskinene og provisjoneringen med puppet går gjennom uten feil.

Videre arbeid blir nå å integrere ceph med resten av OpenStack slik at instansene vi oppretter bruker ceph som lagringsområde. I tillegg skal jeg skrive en del dokumentasjon om winch og hvordan man tar det bedre i bruk. Foreløpig dokumentasjon kan sees på http://winch.readthedocs.org/en/latest/

Dag 24: Feil med opprettelse av første monitoreringsnode

Ved opprettelse av første monitoreringsnode, ceph01 feiler kjøringen av puppet modulene. Fra det manuelle oppsettet lærte vi at den første noden setter inn nøkler og passord på de andre nodene i klusteret.

Error: /Stage[main]/Ceph::Profile::Mon/Ceph::Key[client.bootstrap-osd]/Exec[ceph-injectkey-client.bootstrap-osd]/

Når de to andre nodene ceph02 og ceph03 blir provisjonert så skjer ikke denne feilen. Ting kan tyde på at nodene er svært avhenige av hverandre når de skal provisjoneres. Ceph01 kan deretter provisjoneres på nytt etter at andre og tredje node er kommet på. Da fungerer det uten problemer og vi kan se utifra ceph -status at vi har et aktivt og kjørende kluster.

cluster 4b5c8c0a-ff60-454b-a1b4-9747aa737d19
health HEALTH_WARN clock skew detected on mon.ceph02, mon.ceph03
monmap e2: 3 mons at {ceph01=172.16.33.13:6789/0,ceph02=172.16.33.14:6789/0,ceph03=172.16.33.15:6789/0}, election epoch 6, quorum 0,1,2 ceph01,ceph02,ceph03
osdmap e17: 6 osds: 6 up, 6 in
pgmap v24: 192 pgs, 3 pools, 0 bytes data, 0 objects
68720 MB used, 149 GB / 227 GB avail
192 active+clean

 

 

Dag 22: Installering av Ceph kluster

Agenda i dag var å få lest litt mer om filsystemet Ceph. Ceph er et objekt basert filsystem som replikerer sine data over et lagringskluster. Det tar vekk behovet for et tradisjonelt SAN. Filsystemet ble utviklet i 2007, og ble i Mai i år kjøpt opp av RedHat.

I prosjektet har vi lyst å deployere Ceph ved bruk av Puppet moduler. For å få en så knirkefri installasjon som overhodet mulig kommer vi til å bruke samme utviklere som laget OpenStack puppet modulene vi benyttet tidligere. Stackforge utviklerne har mye spennende GitHub prosjekter innenfor OpenStack og dens komponenter. For de som er interessert i å sjekke ut Ceph repositoriet kan ta en kikk her.

I første omgang har vi deployert et Ceph kluster manuelt for å få et innblikk i hvordan dette fungerer bit for bit før vi begynner å bruke puppet modulene. Det er mye god dokumentasjon som ligger ute på hjemmesidene til Ceph, vi begynte med følgende «quick-start-preflight».  Deretter ble klusteret installert ved å følge «quick-start-deploy».

Et kjørende kluster can for eksempel se slik ut:

ceph-cluster

Dag 20 & 21: Testing av Openstack deployment fra «winch»

I den siste tiden har det skjedd flere endringer på «winch» prosjektet på Github. Vi har nå et automatisert testmiljø som kan installere OpenStack og alle dens komponenter uten å måtte sette mange innstillinger manuelt.  Dette gir oss stort spillerom dersom noe ikke skulle virke med senere anledninger. Da kan vi slette en komponent og installere den på nytt igjen uten å tape mye tid.

Samtidig vil det være lettere å lære seg de ulike OpenStack komponentene når man kan se hvordan de fungerer sammen i praksis. Det er  lett å miste oversikten når man begynner med rammeverket siden det virker veldig overveldende og detaljert i starten.

Dagens arbeid innebærte en god del testing, samt en endring i en av installasjonsfilene. Vi kan nå konkludere med at «winch» er brukbart i forhold til de tingene vi skal gjøre videre. Blant annet skal vi kikke nærmere på storage, rettere sagt Ceph.