Martin Bekkelund

En blogg om IT

Hjemmeserver del 5: RAID med Ubuntu

05.03.08 • 27 kommentarer

Bakgrunn

For omtrent et år siden bestemte jeg meg for å bygge en hjemmeserver. Serveren ble i utgangspunktet satt opp som filserver, men i løpet av året har behovet endret seg og før jul bestemte jeg meg for å bytte operativsystem for å kunne kjøre flere typer tjenester. Dette er den femte artikkelen i serien, hvor jeg gjennomgår oppsett av RAID under operativsystemet Ubuntu GNU/Linux. Tidligere i denne serien har jeg skrevet om:

Jeg har totalt syv harddisker på 500 GB hver i hjemmeserveren. Av disse skal den ene benyttes til operativsystemet, mens de resterende seks skal settes opp i RAID 5. Oppsett av RAID er den vanskelige delen, i hvert fall for oss som ikke er tilhengere av terminalvinduet. Men frykt ikke, her får du en veiledning som bringer deg i mål.

Formatering og partisjonering av disker

Før jeg setter opp RAID-et må harddiskene klargjøres for bruk. For å klargjøre og formatere harddiskene benyttet jeg Gnome Partition Editor, også kalt GParted, en applikasjon for å håndtere partisjoner på maskinen. GParted installerer du via menyvalget «Legg til / fjern» under «Programmer»-menyen, eller via pakkebehandleren Synaptic. Samtlige disker formateres med ext3, selv om jeg gjerne skulle sett RAID-et formatert med XFS som er et bedre filsystem for å håndtere store filer.

GParted

(Trykk på skjermbildet for å se full størrelse.)

Hvilke harddisker har jeg?

Først sjekker jeg hvilke harddisker og partisjoner som er tilgjengelige på maskinen. Dette gjør du ved å åpne et terminalvindu og skrive sudo fdisk -l. I mitt eksempel har jeg syv harddisker på 500 GB hver, navngitt sda, sdb, sdc, sdd, sde, sdf og sdg. Av disse ønsker jeg å bruke de seks siste i RAID-et.

For deg som er ukjent med harddisker og partisjoner under Linux, skal jeg kjapt forklare hvordan navnene er satt sammen. Du vil komme over navn som både sda og sda1. I sda1 er a den første harddisken du har montert i maskinen og 1 den første partisjonen på denne harddisken. sda er altså navnet på den fysiske harddisken, mens nummeret angir partisjonsnummeret. Hadde du hatt to partisjoner på denne harddisken, ville den andre partisjonen hatt navnet sda2, den tredje partisjonen sda3, og så videre. Videre ville den andre harddisken hatt navnet sdb og den første partisjonen på denne ville hete sdb1, den andre sdb2, og så videre.

fdisk -l

(Trykk på skjermbildet for å se full størrelse.)

Det neste jeg gjør er å sette et RAID-flagg på alle diskene jeg ønsker å benytte i RAID-et, altså de seks siste. Dette gjør jeg med GParted, ved å høyreklikke på hver partisjon og velge «Behandle flagg». Velg «RAID» for å markere at disken skal benyttes i et RAID. (No shit, Sherlock!) Straks du har satt flagg på alle diskene som skal benyttes i RAID-et, vil dette også vises hvis du skriver sudo fdisk -l igjen.

GParted med flagg

(Trykk på skjermbildet for å se full størrelse.)

Opprette RAID-et

For å arbeide med RAID har jeg valgt verktøyet Mirrored Device Admin, heretter kalt mdadm. Dersom du ikke har installert dette, gjør du det via Synaptic eller ved å skrive sudo apt-get install mdadm i et terminalvindu. Du blir bedt om ditt passord for å installere.

Jeg er nå klar til å opprette RAID-et. For å opprette RAID 5 med de seks nevnte diskene, skriver jeg som følger i et terminalvindu:

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=6 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1

Kommandoen over skrives som en sammenhengende linje med små bokstaver.

Det kan være du får en feilmelding som følger:

mdadm: error opening /dev/md0: No such file or directory

I så fall føyer du til --auto=md.

Får du andre feilmeldinger, sjekk at du har skrevet kommandoen riktig og at du har skrevet alt med små bokstaver.

Av kommandoene vil --verbose gi utfyllende informasjon på skjermen underveis i prosessen med å opprette RAID-et. --level=5 angir at det er et RAID 5 jeg ønsker å opprette og at det skal bestå av seks enheter med --raid-devices=6, etterfulgt av hvert enkelt monteringspunkt. Trenger du hjelp, eller ønsker mer informasjon før du setter i gang, kan du skrive mdadm --help-options.

Straks opprettelsen av RAID-et er i gang, kan du følge med på prosessen ved å skrive sudo watch cat /proc/mdstat i terminalvinduet. Du vil nå få en oppdatering på prosessen annethvert sekund. For å avslutte trykker du CTRL + C. Når RAID-et er opprettet, vil det hete /dev/md0.

Konfigurasjonsfil for RAID-et

RAID-et er nå klart, men er ikke formatert enda. Det du har gjort er altså å lage et RAID 5-volum, det vil si en slags virtuell disk bestående av de seks diskene. Før du formaterer det må du opprette filen mdadm.conf. Denne filen skal ligge i katalogen /etc/mdadm/ og inneholder informasjon som RAID-tjenesten trenger for å fungere. I et terminalvindu skriver du først sudo echo "DEVICE partitions" > /etc/mdadm/mdadm.conf, deretter sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf.

Formatere og montere RAID-et

Det siste du trenger å gjøre er å formatere RAID-et. For å formatere RAID-et med ext3 skriver du sudo mke2fs -j /dev/md0. Dette vil ta noen minutter, spesielt dersom RAID-et fortsatt synkroniseres. Når RAID-et er ferdig formatert og synkronisert, må det monteres, det vil si gjøres tilgjengelig. Åpne filen /etc/fstab og legg til følgende linje: /dev/md0 /var/media auto defaults 0 3. Starter du maskinen på nytt vil RAID-et bli montert under /var/media, eller du kan skrive mount /dev/md0 /var/media for å montere det umiddelbart.

Testing

Nå som RAID-et er klart gjenstår kun testing. Sjekk at det fungerer, også etter å ha skrudd av og på maskinen.

Feilsituasjoner

Det kan være at du får feilmelding ved opprettelse av mdadm.conf og /etc/fstab, fordi du ikke har tilstrekkelige rettigheter. I så fall må du tilegne mappen mdadm.conf ligger i og selve /etc/fstab riktige rettigheter.

Ha alltid backup

Et RAID er ikke en erstatning for en backup. Husk derfor å alltid ha en fungerende og oppdatert backup til enhver tid, helst utenom huset.

Denne artikkelen er kun en veiledning og gir ingen garantier for at ditt system vil fungere tilfredsstillende. Jeg tar intet ansvar for feil eller tap av data som måtte oppstå på ditt system som følger av informasjon du har tilegnet deg gjennom denne artikkelen.

Kilder:

http://bfish.xaedalus.net/?p=188

Følg @MartinBekkelund på Twitter!

27 kommentarer

  1. Raid under GNU/Linux er utrolig enkelt, mye enklere enn jeg først trodde første gang jeg skulle sette det opp. Det herligste er vel det at det tar utrolig kort tid (hvis du ser bort ifra synkroniseringen av raidet), og kan gjøres minst like raskt i konsollet som med et grafisk verktøy. Nå har jeg aldri satt opp raid under Windows, men ettersom man ikke har tilgang til software-raid (såvidt jeg vet), ser jeg for meg at det er hakket mer komplisert.

  2. Du har noe som heter «Dynamic Disks» i Windows, noe jeg på det sterkeste vil fraråde noen å bruke. Årsaken til det er at det er dårlig dokumentert, vanskelig å administrere og mindre åpent enn NTFS. Dessuten er programvare for sikkerhetskopiering og gjenoppretting dyr og dårlig.

    Uansett er det et alternativ for å sette opp forskjellige RAID-varianter (RAID 0, 1 og 5).

    Jeg har aldri brukt software-RAID selv, men jeg har hørt at det faktisk skal gi noe høyere ytelse enn hardware-RAID. Jeg vet jeg har muligheten til å sette opp en semihardware-RAID-løsning på min Dell-maskin, men jeg føler absolutt ikke at det gir noen som helst trygghet. Heller tvert imot. Enten skal det være software eller «ekte» hardware, ellers kan det bare være.

  3. Jeg har bare gode erfaringer med software-raid. Raidene jeg kjører på SATA-disker nå, er kjappere enn den ene gangen jeg brukte en hardware-kontroller for å raide to IDE-disker. Riktignok en eldre kontroller, men jeg tror nok man må opp i ganske stiv pris på hw-kontrollere før man får noe særlig bedre ytelse.

  4. Før jeg kjøpte maskinvaren til hjemmeserveren hadde jeg en plan om å benytte RAID-funksjonaliteten hovedkortet tilbyr. Etter noen tips i et Linux-forum fikk jeg imidlertid forståelse for at software-RAID som regel er bedre, både hva gjelder sikkerhet og ytelse. Forutsatt at man sammenligner med den typen RAID som tilbys via hovedkort og ikke dedikerte RAID-kontrollere, selvfølgelig.

    Tar man en titt på hva gode RAID-kontrollere koster, fant jeg fort ut at software-RAID var valget for den gjennomsnittlige hjemmebruker. For en kontroller med 6 disker, slik jeg trenger, må man fort opp i 2-3000,- kroner.

  5. Dette har blitt en bra serie om oppsett av en Linux-basert server etterhvert, Martin. Det er alltik kjekt med slike historier fra virkeligheten. :-)

    Et par spørsmål til denne posten:

    1. Hvor gjorde du av all informasjon som lå på diskene fra FreeNAS-dagene mens du rekonfigurerte serveren din? Samlet alt i en bøtte? ;-)

    2. Du vurderte aldri å bruke LVM, så du enkelt kunne utvide volumene dine senere? (det er mulig jeg har oversett dette i del 1-4 hvis du har skrevet om det…)

    Og så en kommentar:

    For deg som er ukjent med harddisker og partisjoner under Linux, skal jeg kjapt forklare hvordan navnene er satt sammen. Du vil komme over navn som både sda og sda1. I sda1 er a den første harddisken du har montert i maskinen og 1 den første partisjonen på denne harddisken. sda er altså navnet på den fysiske harddisken, mens nummeret angir partisjonsnummeret.

    sda, sdb osv er korrekt navngiving for (opprinnelig) SCSI-disker, men etterhvert også SATA-enheter. PATA-enheter navngis hda, hdb osv. Det kan være greit å få med ettersom det fremdeles finnes mange Pata-enheter der ute. OK, nyere maskiner har trolig et rent SATA-miljø, men det er ikke lenge siden jeg så en ny maskin med PATA-enheter.

    Og helt til slutt et generelt spørsmål:
    Tenker du noensinne på at du gir oss med høyst sporadisk bloggaktivitet prestasjonsangst med det tempoet du har på dine saker? Jeg tør jo snart ikke fortsette amatørbloggen min, med kun 1-4 saker i måneden…

  6. Takk for hyggelig tilbakemelding, Thomas. Det er verdt å understreke at dette er et prosjekt som blir til mens jeg skriver, eller omvendt. Det er definitivt ikke slik å forstå at jeg kan alt jeg skriver om fra før. Jeg ser et behov, søker litt på nettet, finner en fungerende løsning og skriver om det. Er sikkert ikke bare jeg som er interessert i denne informasjonen.

    Jeg hadde som kjent en del informasjon på den gamle FreeNAS-installasjonen, og da jeg åpnet serveren for å dytte inn Ubuntu-CD-en løp dataene sin vei, så jeg måtte samle de sammen i støvsugeren. Vel, sannheten er vel at jeg fikk plass til all informasjonen på noen eksterne disker.

    LVM har jeg ikke vurdert, men det har nok heller en sammenheng med at jeg ikke kjenner til LVM i tillegg til at jeg kom over artikkelen jeg refererte til som kilde. Det er heldigvis aldri for sent.

    Når det gjelder tempoet på bloggingen tror jeg det reflekterer det som skjer i toppetasjen. Det skjer mye sykt der oppe, og et sted må det ut, f.eks. her. Håper det kan inspirere om ikke annet. Så et seriøst spørsmål: Er det OK frekvens på bloggingen min?

  7. Når det gjelder frekvensen på bloggen din så må jo det være opp til deg hvordan denne skal være. At det skjer mye her er vel egentlig bare et resultat av at bloggen din fenger, og innbyr til debatt med mange deltagere. Rett og slett et resultat av suksess. :-)

    Jeg må innrømme at det av og til blir litt for mye for meg, men det skyldes bare at jeg har en jobb, kjæreste, datter på snart 20 måneder (om 5 dager!), tillitsverv i seilforening med tilhørende seilinteresse og en (ihvertfall tidligere) usunn IT-interesse som jeg prøver å trappe ned. *hviske* Det blir også litt i overkant mye OOXML for min del, men ikke si det til noen */hviske*.

  8. sda, sdb osv er korrekt navngiving for (opprinnelig) SCSI-disker, men etterhvert også SATA-enheter. PATA-enheter navngis hda, hdb osv. Det kan være greit å få med ettersom det fremdeles finnes mange Pata-enheter der ute. OK, nyere maskiner har trolig et rent SATA-miljø, men det er ikke lenge siden jeg så en ny maskin med PATA-enheter.

    Faktisk tror jeg de har gått over til å benytte sd* også for PATA-enheter i de nyeste kjernene, slik er det iallefall på maskinene mine som kjører Ubuntu 7.10. Dette kan selfølgelig variere fra distro til distro :)

  9. Igjen takk for hyggelig tilbakemelding, Thomas. Jeg har full forståelse for at du ikke prioriterer hjernedump slik jeg gjør. Jeg hadde nok prioritert som deg, dersom jeg var i tilsvarende situasjon.

    Når det gjelder OOXML-debatten vet jeg at den er svært snever, og jeg hadde nok ikke skrevet noe om den hvis ikke det var for responsen jeg får både her og via andre kanaler. Her forleden var jeg i et møte hvor jeg ble møtt med applaus for min innsats i debatten. Det føles spesielt, men svært hyggelig. For de av dere som ikke engasjerer dere i denne delen av skriveriene må jeg bare beklage og be om at dere bærer over så lenge det varer. :-)

    Men si meg, er det egentlig noen som benytter PATA lengre, da? ;-)

  10. Vel, for de som leker med tanken på en liten hjemmeserver er det nok veldig ofte gammel hardware som gjør jobben, så PATA forekommer nok ofte nok :) Selv har jeg kun SATA i filserveren, resten av maskinene benytter PATA-disker, mest fordi jeg ikke har hatt bruk for nyere og større disker rundtom.

    Jeg skal tillate meg å si til deg Martin at jeg har syns skriveriene dine rundt OOXML har vært veldig interessant, til tross for at debatten rundt det her kanskje har ikke har vært verdens mest konstruktive. Men igjen så får man jo et innblikk i hvordan folk velger å debattere, og det er jo også (til en viss grad) interessant.

  11. Audun, sannelig ser det ut til at det fra kjerne 2.6.19 er gjort endringer så PATA-enheter i endel tilfeller nå ender som sda fordi driveren som brukes bygger på libata. Andre PATA-enheter bruker fortsatt eldre driver og er dermed fortsatt hda.

    Begrunnelsen jeg fant var at libata-driverne var av høyere kvalitet enn de gamle PATA-driverne, så derfor flytter de flere PATA-drivere inn i libata.

  12. Dette er jo din blogg, Martin, så du må selvsagt få skrive om det du vil (og dermed også indirekte styre diskusjonene mot de temaene som interesserer deg). Det er ditt privilegium. Du har en blogg med sterke meninger, og jeg har en pludreblogg. Lasse G Dahl ligger et sted i mellom, vil jeg tro.

    All honnør til deg for OOXML-engasjementet ditt – det er et viktig tema. Som du selv er inne på er bloggen din et sted å tømme hjernen, og når hjernen inneholder mange OOXML-tanker blir det naturlig nok mye OOXML-stoff. For meg blir det bare litt mye med OOXML i “alle kanaler”, men det må selvfølgelig ikke hindre deg fra å skrive om det som opptar deg. :-)

  13. For å ha sagt det: Den eneste grunnen til at jeg nevnte LGD sitt navn var for å få et eksempel på en blogger med en blogg som jeg oppfatter som et sted mellom våre ytterpunkter. Jeg mente ikke å dra LGD inn i denne diskusjonen på noen som helst annen måte.

    Lasse, håper dette er OK.

  14. I orden?! Jeg er beæret, til og med! :-)

  15. Trackbackløs som jeg er slenger jeg like godt inn en link til mitt siste skriveri her :)

    Ubuntu som hjemmeserver

  16. Jeg bruker selv PATA-disker i min filserver hjemme. Rett og slett fordi jeg ikke har hatt råd til å oppgradere den særlig. Jeg blir jo litt misunnelig når jeg leser om at Martin har sju SATA-disker på 500 GB i sin filserver.

    Det blir nok SATA-disker i RAID5 hos meg også med tiden. Men foreløpig gjør noen gamle PATA-disker i RAID1 (kanskje snart RAID5) jobben. De viktigste dataene blir det tatt nattlig backup av med rsync til andre siden av kloden, så jeg blir knapt lei meg om den bryter sammen en dag.

    Når det gjelder OOXML-debatten, så har jeg ikke lest alle innleggene her om det, av samme grunn som Thomas, nemlig at jeg ikke har nok timer i døgnet til alt annet jeg skal gjøre heller. Men det lille jeg har lest har vært bra og veldig lærerikt.

  17. Lasse skriver utrolig bra, det er bare synd han skriver så sjelden. *kremte, hinte* ;-)

  18. Og så har Lasse så vanskelig quiz! ;-)

  19. Hvis først quiz-en er vanskelig kunne han jo funnet en mer intrikat måte å kryptere svaret på, da. ROT 13 dekrypterer man jo i hodet. :-P

  20. Svaret står ikke i ROT13 – foreløpig. Poenget med at jeg anbefalte ROT13-kryptering, var at folk som ville skulle få muligheten til å tenke litt selv før de så svaret i noen andres kommentar. Sånn i tilfelle noen svarte riktig med en eneste gang. Noe som definitivt ikke skjedde!

    Jeg tror jeg må komme med et hint til.

    Takk for skryt, forresten! Skal skjerpe meg.

  21. Hei alle sammen !

    Drister meg utpå dette i den erkjennesle at jeg er komplett novise innen både Linux og hva angår oppsett av fil-servere – Gud forby Raid…..

    Har en maskin (Win2k)i dag som jeg har samlet alle mine “uerstattelige” filer på – og driver etter beste evne og flytter filer mellom to disker for å ha en viss sikkerhet dersom den ene disken skulle si takk for seg… Kunne sikkert ha automatisert det med programvare, men….

    Har satt opp en desktop med Ubuntu 8.04 og blir litt skremt hvordan den utnytter de uhyre begrensede systemressursene den har tilgjengelig (P3,733Mhz/256M) – i forhold til en nye bærbar med 2Gb minne og Vista -.

    Det jeg ser for meg er å sette opp en ren filserver med 2 stk 500G PATA disker i RAID1 – så kan den stå der i et hjørne og begå hva den vil for meg – bare den sørger for at filene mine er “dobbelt så sikre” som den løsningen jeg bruker i dag ;-)
    Maskinen skal altså ikke gøre noe annet enn å ta vare på filene mine. Jeg kommer altså ikke å bruke den til noe som helst annet – og da blir forhåpentligvis systemkravene deretter… Håper at BIOS støtter så store disker, men det må jeg prøve i forkant ;-)

    Ser også for meg at jeg bruker en av de andre maskinene som arbeidsmaskin – som en slags “master” og så dumper jeg nye filer over nettverket mot serveren slik at den kan ta seg av lagringen. Så kan jeg selv velge hvilken maskin jeg ønsker å hente filene fra – “Ubuntukassen” eller den andre.

    Håper du / dere som kan dette kan komme med noen kommentarer og forslag til en slik løsning.

  22. Tro ikke at du er den eneste novisen her omkring, Erik. Jeg er ikke alt for godt vant med verken terminalvinduer eller serverrelaterte spørsmål, jeg heller. Alt jeg har lært har jeg enten lest meg til eller tilegnet meg via gode venner. Derfor ser jeg det som helt naturlig å dele videre det jeg har lært.

    Hvis du skal sette opp et trygt og sikkert RAID med to disker har du i praksis kun mulighet til å velge RAID 1, ettersom RAID 5 krever minst tre disker. Det er en god løsning, men du trenger fortsatt ekstern sikkerhetskopi av alle data, slik du også tenker på med en av arbeidsmaskinene. Selv benytter jeg en ekstern disk som plasseres utenom huset, hvilket er en fordel dersom noe guffent skulle skje hjemme.

    Når det gjelder sikkerhetskopiering, kan du automatisere denne prosessen med rsync. Det krever litt finesse, men jeg kommer tilbake med en egen artikkel om sikkerhetskopiering om ikke alt for lenge.

    Har du mer konkrete spørsmål er det selvfølgelig bare å spørre. Jeg kan ikke love (gode) svar, men det er ikke umulig at andre lesere også kan hjelpe.

  23. Bra noen oversatte denne guiden til norsk :-)

    Ett vesentlig spørsmål: Hvordan er fremgangsmåten ved bytte av disk/legge til spare?

  24. Roger skrev:

    Ett vesentlig spørsmål: Hvordan er fremgangsmåten ved bytte av disk/legge til spare?

    Ser for meg at jeg skriver enda en del i hjemmeserver-serien. :-)

  25. Noen småting som ikke funka når jeg satte opp idag:

    Under “Opprette RAID-et”
    sudo mdadm –create –verbose /dev/md0 –level=5 RAID-devices=6 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1

    jeg måtte skrive –raid-devices (små bokstaver) for å få det til å funke.

    Under “Formatere og montere RAID-et”
    Jeg måtte først lage mappen for å kunne mounte raidet dit. mkdir /var/media elns.

    Uansett en utrolig bra guide. Tusen takk! :)

  26. Jeg ser at en plugin jeg benytter, som lager akronymer, gjør om teksten i artikkelen til store bokstaver, selv om det er små bokstaver jeg har skrevet.

    Takk for tipset, det er greit å vite for eventuelle andre lesere. :-)

  27. Fin guide. Holder på å sette opp et raid 1 nå. Men lurte på en ting. Har en harddisk som systemet er på og 2 harddisker til raidet. Men hva skjer hvis jeg tar ut de 2 harddiskene med raidet på og putter de inn i en annen ubuntu maskin, eller starter opp fra en live ubuntu kun med de 2 raid harddiskene i. Vil raidet fremdeles eksistere eller må det da settes opp på nytt igjen?

Har du synspunkter? Legg igjen en kommentar!

Ingen anonyme kommentarer! Ved å trykke Send kommentar samtykker du i at du er kjent med personvernpolitikken og vil overholde retningslinjene for bekkelund.net.

Abonner uten å kommentere

RSS og trackback

Med RSS kan du abonnere på nye kommentarer som postes til denne artikkelen.

Du kan legge igjen et trackback fra ditt eget nettsted ved å benytte trackback-adressen til denne artikkelen. Eventuelle tracback ser du under.

Flere artikler

Enda flere artikler? Besøk arkivet.

Bekkelund.net er en blogg av Martin Bekkelund, hvor han lufter sine tanker om IT og IT-politikk. Martin arbeider til daglig som seniorrådgiver, foredragsholder og skribent i IT-bransjen, hvor han veileder bedrifter og organisasjoner i strategisk bruk av IT. Les mer...

Facebook Twitter LinkedIn Flickr Vimeo Google Reader Martin Bekkelunds blogg Martin Bekkelunds RSS-kanal

© 1995-2012 Martin Bekkelund
OpphavsrettRSSKontakt