Historien om Wally

Siden det ikke er skrevet om noe nerdete på lenge, tenkte jeg det var på høy tid. Hva med en PC på veggen? Genialt, teknologi som kunst! “Det er jo slik som ungdommen lika”!

Dette er altså historien om Wally. Ideen bak Wally startet med min ukentlige favorittserie, Hak5. Se gjerne episoden som inspirerte meg: Hak5 903 – Building a photo frame computer case…. Jeg fikk da en trang får å bygge litt, og startet med en tur på IKEA. Her fant jeg sannelig to bilderammer av typen RIBBA, kr 139,- pr stk. om noen lurte på det. Allright, da var jeg igang. Navnet på prosjektet gav seg jo selv, det kunne jo ikke bli Wall-e, kunne det vel!? Så “Wally” ble den døpt, “tog du an”? Forresten, la meg presentere listen over hardware som ble kjøpt inn i forbindelse med prosjektet.

  • Zotac H55 mini ITX hovedkort, med WIFI innebygd
  • Pico PSU 90W, kjøpt på ebay
  • Intel i3 2100T prosessor
  • Corsair XMS3 4GB minne
  • Intel Pro 1000 nettverkskort
  • Samsung 250GB hdd
  • Neonlys, 2 stk (såå 2000, ikke sant?)
  • Gitarkuffert-låser, kjøpt på ebay
  • USB rele, kjøpt billig på ebay
  • Spraylakk til “inlayet”
  • Hengsler til rammene

I tillegg til dette, var diverse kabler og annet skrammel jeg hadde liggende rundt inkludert i prosjektkostnadene.

Vel vel, jeg begynte med å spraylakke den bakre platen som hovedkortet skulle festes på sort. Etter dette måtte jeg lage navnet “Wally”. Dette gjorde jeg ved å printe ut teksten på en maskeringstapebit oppå et bakepapir (slik at tapen skulle slippe lett etterpå) som igjen var festet til et A4 ark, som ble sendt gjennom skriveren. Deretter begynte jeg møysommelig med å skjære ut unødvendig materiale. Slik:

Så bar det iveien med å montere hovedkortet på bakplaten.

Deretter maskerte jeg bakplaten og lakkerte teksten.

Etter dette, sluttet jeg med å være så flik til å ta bilder av hvert eneste steg som ble gjort. Derfor får dere se det ferdige innholdet, så kan jeg heller kommentere det.

Det vi ser på her er innmaten i “Wally”. Nederst til høyre, harddisken, rett over den, antenner til WIFI. I toppen sitter en katode, samt en liten “minnevifte” som blåser ut varmluft. Hele rammen er meget stillegående, takket være den strømsnille i3 prosessoren. I midten sitter såklart hovedkortet, med påmontert pico PSU, som yter 90W, mer enn nok til å dra hovedkort, harddisk, lysene og viften. Denne har en ekstern laptop-lignende strømforsyning som sammen med nettverkskablene plugges inn i rammen på undersiden. Slik ser den ut:

Jeg laget er par hull (les Dremel) og monterte både strømpluggen og to RJ-45 kontakter.

Her kan man og se gitarhengslene som sørger for at de to rammene holder seg stødige. Ellers er det litt kabling, samt boksen til neon-lysene og USB-releet til venstre. Releet skrur på lysene når solen har gått ned. Gjøres ved help av litt bash magi (<hjerter> bash </hjerter>). Ved mørketid blir rammen seende någenlunde slik ut:

Wally vekkes også til live når datanerden i huset står opp. Den trigges såklart med et wake-on-lan signal, sendt fra en server, kallet mottat av et php-script, postet av Android telefonen min, som trigges når vekkeklokka går av. Det fikk meg til å tenke på en ting:

Som du ser, spraylakkerte jeg “inlayet” rødt. Dette satte jeg i den andre rammen, og la denne oppå rammen som holder bakplaten, akkurat som en sandwich. Gitarhengslene holder de sammen.

Et par stemingsbilder:

Jepp, dette er altså Wally. Den kjører Proxmox VE 2.0, en virtualiseringsplattform bygget på Debian, anbefales. I tillegg er det installert gnome2(!) og masse annet snacks på den.

Så hvorfor trenger du to nettverkskabler spør du? Jo, den ene VM’en som kjøres under Proxmox er faktisk router for nettet mitt. Jeg bruker pfsense. Den ene kabelen går da til gateway mens den andre forsyner switchen min.

Wally har også fått en kamerat i det siste, Screeny. Dette er en skjerm montert i to rammer på samme måte. Denne viser en infoskjerm med diverse. Om ønskelig kan jeg lage en liten bloggpost om denne også. Okey da, en liten teaser:

Så hva syns du? Sleng inn en kommentar, der er ikke overflod av disse på blogg.tihlde.org.

# Jan Egil

Hvordan sette opp et software-raid?

Heia bloggen! I dag skal vi lære om linux raid 🙂

Du spør kanskje, hvorfor tulle med det der nerdete RAID greia? “Koffor ikkje”, sier jeg da. Et RAID består av flere “inexpensive disks” i et rendundant array (stokker du litt om på ordene så har du forkortelsen på RAID). Disse kan settes opp i ganske mange konfigurasjoner, alt fra JBOD som bare er en haug med disker, til RAID 60 som er meget sikkert. Likevel et raid er IKKE et alternativ for backup. Brenner boksen din opp, så synd for deg, du skulle brukt dropbox. Vel vel, let’s get goin’.

La oss gå ut ifra at du allerede har koblet opp boksen din med de diskene du vil ha, og ditt favoritt (server) OS. Jeg har valg å bruke Ubuntu Server 11.10 for denne guiden, men du står fritt til å velge din engen distro. Det første vi gjør er å installere mdadm, som er software-raid kontrolleren, denne behandler raidet, og skriker deg i øret om noe skulle være feil. Da slenger vi opp en terminal, logger inn som root (bruk evt, sudo) og kjør:

apt-get install mdadm

Aight, neste steg vil så være å lage raidet, her tenkte jeg å sette opp et raid 5 array (1 paritetsdisk).

mdadm –create /dev/md0 –level=5 –raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

LOLWAT? Ok, vi forteller mdadm at vi vil lage et array med create /dev/md0, der /dev/md0 blir den nye devicen. Vi vil ha raid 5, og vi legger til 4 disker, sda, sdb, sdc, sdd. Hva med partisjoner spør du? Det er to måter å gjør dette på, sikkert fler, men jeg skal fortelle om de to måtene som blir brukt mest. Det jeg gjør over her, er å bruke hele disken til å skrive data på, uten å lage partisjoner først, partisjoner blir bare styr, stol på meg. Vi kunne laget partisjoner på forhånd, da måtte vi evt. brukt /dev/sda1 istedet for “raw-disk” /dev/sda. Da skal raidet være startet, så la oss se på statusen på det:

cat /proc/mdstat

Denne bør gi noe slikt:
cat /proc/mdstat

La oss titte på raidet fra et annet “synspunkt”, kjør:

mdadm –detail /dev/md0

mdadm --detail /dev/md0

Ok, da er vi kommet langt. La oss nå legge til raidet i konfigurasjonen til mdadm, slik at det blir husket ved neste reboot.

mdadm –examine –scan /dev/sda >> /etc/mdadm/mdadm.conf

Det vi gjør her er å legge til en linje med arrayet i mdadm.conf. Vi bruker en av diskene som parameter, fordi det er her det vil ligge en mdadm superblock. For sikkerhetsskyld, kjør:

mdadm –examine –scan /dev/sda

Og se om du får noe som ser slik ut:

“ARRAY /dev/md1 UUID=9068a6f4:a6368df1:56f3b105:bf246c64”

OBS! I nyere versjoner av mdadm gjøres dette slik:

mdadm –detail –scan /dev/sda

Om du så gjør så er det ikke mye som står igjen før vi er ferdige. Eller, litt er det nok igjen. Vi vil kanskje bruke raidet til noe, så da får vi lage et filsystem. Jeg velger her å bruke ext4, vi kunne liksågodt brukt xfs, reiserfs, osv, men la oss bruke ext4. Husk, velg et filsystem som er lett å “forstørre”, slik at neste gang du legger til en disk er det ingen problem å lage et større array.

mkfs.ext4 -m 0 /dev/md0

“-m 0” sørger for ikke å reservere noe plass til brukeren “root” på filsystemet, hvorfor skulle vi det på et data-array?. Nå legger vi til vårt flunkende nye filsystem i /etc/fstab, slik at vi det blir automatisk mountet ved boot. Først må vi finne disk ID’en til arrayet.

ls -l /dev/disk/by-uuid/

Jeg fikk:
ls -l /dev/disk/by-uuid/

Her er det “09050cb2-d34a-48c4-a85c-1f8339cff4bb” som er interessant, kopier dette. Først lager vi en mappe, der raidet kan mountes:

mkdir -p /mnt/raid

Bruk din favoritt edior og åpne /etc/fstab.

vim /etc/fstab

Den bør se omtrent slik ut etter du er ferdig:
vim /etc/fstab

Her mounter vi raidet på /mnt/raid.

Da er vi ferdige, ta en velfortjent kaffekopp og fyll opp med data 😀

Vi var visst ikke helt ferdige, var vi vel? Per request tar vi et lite avsnitt om hvordan man utvider arrayet. Om vi nå kjøper en ny disk og ønsker å utvide arrayet med denne kan vi gjøre følgende (antar at den nye disken er /dev/sde).

Legg den nye disken til arrayet med:

mdadm –add /dev/md0 /dev/sde

Så utvider vi arrayet med:

mdadm –grow /dev/md0 –raid-devices=5 (totalt antall disker i raidet, inkl ny disk)

Og til slutt kan vi utvide filsystemet så vi kan ta i bruk den nye disken:

resize2fs /dev/md0

Om vi f.eks bruker xfs som filsystem blir kommandoen litt annerledes:

xfs_growfs /mnt/raid

Merk at denne kjøres på mountpoint, ikke på selve devicen!
Sånn, nå kan du nyte kaffekopp nr 2 🙂