Suoraan sisältöön

Ohjelmisto-RAID

Kiintolevy on tietokoneen kuluvin osa ja ennemmin tai myöhemmin se hajoaa. Suojautuakseni siitä aiheutuvia haittoja vastaan ja tehostaakseni tietokoneeni suorituskykyä otin käyttöön RAIDin, samalla kun joka tapauksessa olin aikeissa tehdä uuden Ubuntu-asennuksen.

RAID on tekniikka, jossa useita kiintolevyjä käyttämällä voi varmistaa, että yksittäisen kiintolevyn hajoaminen ei tuhoa käyttäjän tietoja. Useimmiten RAIDia käytetään palvelintietokoneissa ja niissä on omat RAID-laitteistot. Ubuntussa voi kuitenkin käyttää myös ohjelmisto-RAIDia, eli mitään erikoislaitteita ei tarvita. Riittää, että on useampi kiintolevy (mieluiten samankokoisia). RAIDin käyttö voi myös nopeuttaa järjestelmää, kun tietoja haetaan rinnakkain kahdelta eri kiintolevyltä.

Aloitin RAID-asennusurakan tilaamalla uuden kiintolevyn, joka on saman kokoinen kuin vanha kiintolevyni. Nyt koneeni sisällä on siis kaksi 500 GB SATA-kiintolevyä, mikä on minimikokoonpano RAID-1:tä varten. Lisäksi hankin ulkoisen massamuistin, jonne kopioin tiedot talteen vanhalta kiintolevyltä, koska RAIDin käyttöönotto vaatii kiintolevyjen uudelleenosiointia, mikä tuhoaa tiedot.

Asennusmediaksi hankin Ubuntu alternate-levyn. Normaali Desktop CD ei käy, koska sen graafisessa asennusohjelmassa ei ole RAID-osiointimahdollisuutta. Alternate-levyllä on tekstitilassa toimiva asennusohjelma, jossa on enemmän valintamahdollisuuksia ja siksi hieman hankalampi käyttää.

Käynnistettyäni koneen alternate-levyltä aloitin asennuksen. Alun peruskysymykset menin läpi enteriä painamalla, eli hyväksyen valmiit vakiovalinnat. Ositointi-kohdalla valitsin “Osioi käsin”.

Osioinnissa pilkoin alkusi kiintolevyt identtisiin paloihin: 30 GB ensimmäiselle RAID-osiolle, 2 GB toiselle RAID-osiolle ja 468 GB kolmennelle RAID-osiolle. Kun pilkkominen oli tehty, loin RAID-järjestelmät. Kaksi 30 GB:n osiota kytkin RAID1:lla yhdeksi juuriosioksi (“/”). Kaksi 2 GB:n osiota kytkin RAID0:lla yhdeksi sivustusosioksi (swap). Jäljellä olevat kaksi 468 GB:n osiota kytkin RAID1:llä yhdeksi osioksi, jossa on käyttäjän kotihakemistot (“/home”).

Lopputulos oli siis tällainen:

Laite: Osio: Koko: RAID-lohko: Tiedosto-
järjestelmä:
Liitospiste:
Levy 1 /dev/sda1 30 GB md0
Levy 1 /dev/sda2 2 GB md1
Levy 1 /dev/sda3 468 GB md2
Levy 2 /dev/sba1 30 GB md0
Levy 2 /dev/sba2 2 GB md1
Levy 2 /dev/sda3 468 GB md2
RAID tyyppi 1 /dev/md0 30 GB ext4 /
RAID tyyppi 0 /dev/md1 4 GB ext4 swap
RAID tyyppi 1 /dev/md2 468 GB ext4 /home

RAID-tyyppien erot on selostettu hyvin Wikipediassa. Sivustusosion (swap) tyyppi saa olla 0, koska se ei sisällä mitään tietoa joka tarvitsee varmuuskopiointia.

Kun asennusohjelma kysyi mitä tehdään kun joku levyistä hajoaa, valitsin vaihtoehdon, että tietokone ei käynnisty normaalisti vaan ja vianselvitystilaan. Tällöin näen että jotain on vialla ja osaan olla käyttämättä konetta, kunnes viallinen levy on vaihdettu ehjää, jotten jäljellä oleva ehjä levy vahingossakaan hajoaisi ja sitä kautta aiheuttaisi tietojen häviämistä. Tämän jälkeen jatkoin asennusta normaalisti.

Kuvankaappaukset RAID-asennusvaiheista voi nähdä Ubuntu-wikin Software-RAID-sivulla. Törmäsin myös Martti Kuparisen suomenkieliseen ohjeeseen, jossa on samat tiedot suomeksi.

Jonain päivänä vanhempi kiintolevyni tulee vikaantumaan, mutta se ei haittaa, koska tiedot ovat edelleen turvassa uudemmalla levyllä. Kun vikaantuneen levyn tilalle ostaa uuden ja tekee siitä RAIDin korvaavan levyn, voin taas jatkaa tietokoneen käyttöä. Vaihtoehtoisesti voin riskillä käyttää sitä yhtä ehjää levyä yksinään jonkin aikaa.

Kokemuksia

Tein yllä kuvatun RAID-asennuksen toukokuussa 2010 kun Ubuntu 10.04 LTS oli juuri julkaistu. Tietokone toimi hyvin heinäkuuhun 2010 asti, kunnes RAID antoi noin joka toisella tietokoneen käynnistyksellä virheilmoituksen, että vanhempi kiintolevy ei toimi kunnolla ja RAID on “degraded” eli halvaantuneessa tilassa (vain toisella ehjällä kiintolevyllä). Ubuntusta vakiona löytyvä Levytyökalu (löytyy Järjestelmä > Ylläpito -valikosta) kertoi levyn olevan kunnossa ja SMART-testitkin eivät näyttäneet mitään virhettä. Järjestelmälokista löytyi rivejä ata3: soft resetting link, joita Googlaamalla selvisi, että levy ei varsinaisesti antanut lukuvirhettä, vaan se vain katkoi yhteyttä. Pohdinnan jälkeen päädyin ostamaan uuden SATA-kaapelin ja nyt parin päivän kokemuksella näyttää siltä, että vika tosiaankin oli kaapelissa ja kun sen vaihtoi uuteen, niin nyt kaikki taas pelaa.

En ole mitannut onko RAID-1 nopeuttanut tietokoneen käyttöä, mutta ainakin teoriassa tiedostojen lukunopeus pitäisi olla suuri, kun käyttöjärjestelmä voi lukea samaa tiedostoa rinnakkain kahdelta kiintolevyltä. Varmuuskopioinnin osalta minulla on nyt hyvä mieli, että kaikki kyseisellä tietokoneella olevat tiedostot on aina ja heti varmuuskopioitu. Perheen 35 gigatavun valokuvakokoelma pitäisi nyt olla kohtuullisessa turvassa.

Vertailu muihin varmuuskopiointimenetelmiin

RAIDin lisäksi teen varmuuskopioita myös pilveen. Maksan Ubuntu One -palvelusta 8 euroa kuukaudessa ja sillä saan 50 GB pilvitallennustilaa. Pilvitallennuksen etu RAIDiin on mm. se, että se suojaa myös koko koneen varkautta tai tulipaloa vastaan. Lisäksi pilvessä oleviin tietoihin pääsee tarvittaessa käsiksi myös matkan päältä netin kautta.

Isojen tietomäärien siirtäminen verkossa sijaitsevaan varmuuskopiointipalveluun on kuitenkin hidasta eikä Ubuntu Onen 50 GB riitä sekä valokuvakokoelmani (35 GB) että musiikkikokoelmani (22 GB) säilömiseen. Lisäksi järjestelmädigikamerani korkealaatuisten kuvien vieminen kiintolevylle ruuhkauttaa verkkoyhteyden pilvipalveluun. Esimerkiksi 500 valokuvaa ulkomaanreissulta tekee melkein gigatavun ja sen siirtyminen Ubuntu Oneen jopa täysnopeudella kestää päiviä. Onen hyvä puoli on myös se, että voin käyttää sitä kaikkien koneideni varmuuskopiointiin. RAIDia ei voi virittää läppäreihin, koska niissä on aina vain yksi kiintolevy. Toisaalta koska Ubuntu One on ensisijaisesti synkronointijärjestelmä, niin samat tiedostot tulevat kaikille koneilleni, mikä on ikävää esim. tilaltaan rajallisessa miniläppärissä.

Kolmas vaihtoehto on varmuuskopioiden tekeminen isolle USB-kiintolevylle esimerkiksi SBackupia tai Deja Dupia käyttäen. Molempien heikkous on kuitenkin niiden riippuvaisuus siitä, että itse käyttäjänä oikeasti muistaa ja jaksaa säännöllisesti kytkeä USB-kiintolevyn tietokoneeseen ja käynnistää varmuuskopioinnin. Toisaalta USB-kiintolevyt ovat edullisia ja niille mahtuu käsittämättömän suuria tiedostomääriä. Myös yksityisyys on taattu, kun varmuuskopiot säilyttää itse eikä ulkomaalaisessa verkkopalvelussa.

Kaikissa on siis puolensa. Jos käyttää hieman kaikkia, niin sitten ainakin on riittävän monta varmuuskopiota 🙂

— Otto / Linux-tuki.fi

6 Responses to “Ohjelmisto-RAID”

  1. uh-oh. Says:

    Raid ei ole varmuuskopio.
    Laitevika voi rikkoa molemmat/kaikki levyt kerralla, samoin se ei ainakaan ilman lisävarautumista suojaa siltä etteikö joku voisi poistaa dataa. Ei suojaa myöskään kirjoitusvirheiltä ja “bit rot”-ilmiöltä.

    “Esimerkiksi 500 valokuvaa .. melkein gigatavun .. siirtyminen Ubuntu Oneen jopa täysnopeudella kestää päiviä.”

    Onpa pieniä kuvia järkkäristä, vai tallennatko ne suoraan jpeginä eikä raweina?
    Kuinka tuo U1:n siirtäminen niin hidasta on?
    En ole vielä itse sitä testannut, mutta jos todella yhden gigan siirto vie päivänkin niin uppausnopeus on vain 12 kiloa sekunnissa? (1024^2/86400)

    Dropboxia käytän itse, 50GB maksaa $10/kk ja sen kanssa nopeudet eivät ole olleet muusta kiinni kuin omasta käytettävissä olevasta kaistasta.

    Kopiointiin ulkoiselle levylle.. miten olisi rsync ja cron?
    Jos on pakko olla graafinen klikkailtava softa niin löytyyhän niitäkin, tai pelkkä front-end rsyncille.
    Tietysti levyn pitäisi olla erillään ja muistaa itse ajoittain tehdä varmistukset, mutta siitähän voi laittaa huomautuksen.
    Tai automatisoi: kun laittaa ko. varmuuslevyn kiinni niin kopiointi alkaa itsekseen ja unmount & notification kun on valmista.

  2. uh-oh Says:

    “ei voi virittää läppäreihin, koska niissä on aina vain yksi kiintolevy”

    On myös kahden levyn kanssa ihan vakiona tulevia eikä mikään tietenkään estä itse asentamasta toista levyä jos tilaa kotelossa riittää – tai vaikka virittämään 2x 1.8″ ssd-levyt..

  3. tjh Says:

    Kiitos Otto hyvästä blogikirjoituksesta. Paljon hyvää asiaa.

  4. onion Says:

    Jep, RAID ei ole varmuuskopio, auttaa kyllä mutta itselläni paukahti kerralla kolmen levyn RAID-5:sta kaksi levyä niin ei ollut hauskaa.

    Joten nykyinen conffi on 3x1G RAID-1 plus varmuuskopiot kahdelle toiselle koneelle kaikesta mitä ei voi menettää. Ja digikuvat “filmillä” eli omilla SD korteillaan joita en tyhjennä.

    Itse suosittelen käyttämään LVM:ää RAIDin päällä niin ei tarvitse tehdä useita partitioita ja helpompi hallita sekä pilkkoa sitten sopiviin osiin.

  5. Otto Says:

    uh-oh: vastauksia kysymyksiisi alla

    – Joo, RAID ei ole varmuuskopiointia täydessä merkityksessään, mutta kyllähän tuo kävi ilmi jutun tekstistäkin (et tainnut lukea sitä kokonaan?).

    – Tallennan järkkäristä kuvat jpeginä, sillä ei ole tarvetta rawilla hifistelyyn.

    – Dropbox on tosiaankin huomattavasti nopeampi kuin U1. Siitä kirjoitinkin keväällä: http://blog.ubuntu-fi.org/2010/dropbox-pilvipalveluiden-aatelia/ Dropbox on varmaankin fiksumpi varmuuskopiointikäytössä kuin U1, koska Dropbox tallentaa myös tiedostoista versiohistoriaa, mitä U1 ei tee.

    – Jutussa oli mainittu Sbackup ja Deja-dup, molemmat graafisia työkaluja joiden alla mm. rsync ja cron.

    – Jos sinulla on ulkoisen kiintolevyn käyttöön valmiit udev-skriptit yms mainitsemasi automatisoinnin toteuttamiseen, kokeilisin niitä mielelläni.

  6. Franssales Says:

    Ääni DropBoxille. Siitä huolimatta, että sen kanssa kilpailevat palvelut ovat hiiviskelleet maksulliselle puolelle, ja pahaa pelkään tämänkin suhteen.

Leave a Reply