Avainsana-arkisto: NAS

Viallisen kovalevyn vaihtaminen TrueNAS:ssa

Tässä bloggauksessa käsittelen hajonneen kovalevyn vaihtoa. Levyn hajoaminen voi olla äkillinen, eli se hajoaa varoittamatta, tai sen toiminta alkaa hiljalleen heikkenemään kirjoitus ja lukuvirheiden myötä. Alussa käyn läpi varmuuskopioiden tärkeyden, sekä mikä RAID on. Tämän jälkeen siirryn varsinaisiin ohjeisiin.

Varmuuskopioiden tärkeys

Säilytän levypalvelimella pääasiassa valokuvia ja videointeja, joten niiden tallessa pysyminen on varsin tärkeää. Varmuuskopioiden tekeminen on paras tapa varmistaa tiedon säilyminen, mutta mikäli tätä ei ole automatisoitu, varmuuskopioiden tekeminen saattaa unohtua.

Varmuuskopiointi on ainoa tapa, jolla vahingossa poistettu tieto saadaan palautettua. Toisaalta tieto voi kadota hajonneen kovalevyn seurauksena. Kovalevyn hajoamisen varalta on olemassa erilaisia RAID-tasoja, joilla yksittäisen tai useammankin levyn hajoaminen ei aiheuta tietojen menetystä. Täytyy kuitenkin muistaa, että oli käytetty RAID-taso mikä tahansa, ei se estä vahingossa poistetun tiedon katoamista.

Mikä ihmeen RAID?

Redundant Array of Independent Disks, on tapa tallentaa tietoa usealle levylle siten, että levyn hajoamisen myötä tiedot säilyvät. Tämä perustuu tiedon hajauttamiseen ja pariteettidatan tallentamiseen, jota hyväksi käyttämällä hajonneen levyn tiedot voidaan luoda ’tyhjästä’. Tosin RAID 0-taso on poikkeus, siinä yksittäisen levyn hajoaminen kadottaa kerralla kaikki tiedot.

Käytössäni on RAID-Z2 (vastaa RAID 6), joka lyhykäisyydessään tarkoittaa sitä, että levyjärjestelmässä on kaksi ylimääräistä levyä. Minkä tahansa kahden levyn yhtäaikainen hajoaminen ei aiheuta tiedonmenetystä. Kolmannen levyn hajoamisen myötä kaikki katoaa. Kahden levyn samanaikainen hajoaminen on hyvin epätodennäköistä, kolmen levyn hajoamisesta puhumattakaan.

Levyn vaihtamisen tärkeys

Rakentamani levypalvelin koostuu 7 kpl 3TB Western Digital WD RED NAS levystä, joista kahden levyn verran käytetään pariteettidatan tallentamiseen. Rakensin levypalvelimen vuonna 2016, eli se on lähes 8 vuotta vanha. Kovalevyillä on käyttötunteja reilu 50000h, eli reilun 6 vuoden edestä lähes tauotonta pyörimistä. Viimeiset 2 vuotta palvelin on ollut käytössä vain tarvittaessa korkean energiahinnan takia. Käynnistyskertoja levyillä näyttää olevan vain 165. Käyttötuntien perusteella ei ole ihme, että levyt alkavat hiljalleen ilmoittelemaan toimintahäiriöstä.

Toimintahäiriöstä ilmoittava levy on syytä vaihtaa uuteen nopeasti, sillä koskaan ei tiedä milloin seuraava levy alkaa piiputtamaan. Koska palvelin tekee pariteettilaskennan luentaa ja kirjoitusta levyille, on viallisen levyn poistaminen ja uuden lisääminen varsin raskas operaatio olemassa oleville levyille. Tästä voi seurata uusi levyrikko. Tämän takia odotteluun ei ole aikaa, ja niiden varmuuskopioidenkin on syytä olla kunnossa, ihan varmuuden vuoksi.

Vaihdon suorittaminen

Levyn vaihto-operaatio on varsin suoraviivainen prosessi:

1. Kirjaudu TrueNAS:iin

2. Tarkistetaan oikean yläkulman kellosta hälytykset

3. Valitaan vasemmalta Storage => Pools

4. Valitse ratas -kuvake => Status

5. Tarkista levyjen status. Kunnossa olevien levyjen tila on ONLINE, viallisessa levyssä UNHEALTY. Levy ei välttämättä ole mennyt UNHEALTY-tilaan, vaikka siinä virheitä olisikin. Virheet ovat peräisin tällöin levyn omasta S.M.A.R.T-diagnostiikasta.

6. Valitaan vasemmalta Storage => Disks

7. Käydään läpi levy kerrallaan tarkistamalla S.M.A.R.T test results. Hälytysluettelon mukaan levyistä da5 ja da6 löytyvät ongelmat. Ota samalla talteen levyn sarjanumero, sillä tarvitset sitä myöhemmin varmistaaksesi, että olet vaihtamassa oikeaa levyä.

8. Valitettavasti S.M.A.R.T test resultsin kautta ei tule hullua hurskaammaksi, sillä näkymä tarjoilee vain mystisen error koodin. Sivu kertoo myös levyn käyttötuntimäärät, jotka tässä tapauksessa on 53829 tuntia, eli noin 6 vuotta ja 2 kuukautta.

9. Kattavat testitulokset on mahdollista saada näkyviin Shell:in kautta, jonka saa valittua vasemmasta reunasta.

10. Kirjoita avautuvaan ikkunaan smartctl -a /dev/xxx, jossa xxx on haluamasi levyn laitetunnus, esim. da5. Tietoa tulee useamman sivun verran, syyllinen täytyy osta kaivaa kaiken tämän seasta. Alla kuvakaappaus osasta saamaani raporttia.

Pääasiassa useimmat rivit raportoivat vanhasta iästä. Ikä itsessään ei mielestäni ole mittari tai syy vaihdolle, toki kun levyillä alkaa olla ikää, voi olla hyvä hankkia levy, jos toinenkin varalle. Tällöin toimenpiteisiin pääsee puuttumaan heti, eikä esimerkiksi vasta 3 viikon päästä kuten minulla.

Lukuvirheiden määrä on kasvussa, samoin levyn käynnistyminen on hitaampaa, sekä jotain sektorin siirtämisiä on mahdollisesti tehty. Nämä ovat vasta ennakkoilmoituksia, ja koska energiansäästösyistä palvelin on ollut päällä näiden kolmen viikon aikana vain pari vuorokautta yhteensä, en ole pitänyt kovin suurta kiirettä levyjen vaihdon kanssa.

Toisaalta kun ennakkoilmoituksia oli jo kahdella levyllä, niin niitä voi pian ilmaantua myös muille levyille. Joidenkin mielestä ennenaikaista hötkyilyä, mutta ennemmin sitä kuin kaiken tiedon menettäminen. Vian havaittuani tein osittaiset varmuuskopioinnit ja uusien isompien varmuuskopiolevyjen saavuttua (2x 16Tb) tein täydelliset varmuuskopiot.

11. Kun vialliset levyt on paikannettu ja päätös levyjen vaihdosta on tehty, mennään jälleen Storage => Pools => Ratas -kuvake => Pool status. Etsitään haluttu levy, joka halutaan poistaa käytöstä, esimerkiksi da5. Painetaan vastaavan rivin perässä olevaa kolmea pistettä, ja painetaan Offline.

12. Levyn ohjelmallisessa irrottamisessa tulee olla huolellinen – ettet irrota vahingossa väärää levyä. Enkä suosittele irrottamaan ja vaihtamaan kuin yhden levyn kerrallaan (vaikka käytössä olisi RAID-Z2 tai -Z3).

Mikäli levy on salattu, kuten minulla, ilmestyy varotus, jossa ilmoitetaan, että Offlineen laitettua levyä ei voi laittaa takaisin Onlineen. Valitaan Confirm, ja painetaan lopuksi Offline.

13. Tämän jälkeen valittu levy menee OFFLINE-tilaan, ja levypakka DAGRADED-tilaan. Nyt voit sammuttaa palvelimen.

14. Kun palvelin on sammunut, avaa kotelo ja poista viallinen levy. Tässä kohtaa tarkista, että ohjelmallisesti irrottamasi levyn sarjanumero vastaa fyysisen levyn sarjanumeroa. Liitä uusi levy tilalle (samankokoinen tai suurempikapasiteettinen), ja käynnistä kone.

15. Käynnistymisen jälkeen mennään jälleen Storage => Pools => Ratas -kuvake => Pool status. Yksi asemista on kadonnut ja tilalle on tullut mystinen kirjainhirviö. Tämä on se puuttuva levy, joka ei ole vielä osana RAID-pakkaa. Valitaan samalta riviltä kolme pistettä, ja Replace.

16. Avautuvasta ikkunasta valitaan levy, joka halutaan ottaa uutena käyttöön. Erikoista tässä on se, että vaikka irrotin levyn da5, niin irrotuksen jälkeen aiempi da6 muuttui da5:ksi. Eli kun olen liittämässä uutta levyä systeemiin, epäintuitiivisesti valitsekin levyn da6, sen irrotetun da5:n tilalle. Koska levyni on salattu, täytyy myös salauksen tunnussana syöttää.

17. Palvelin rouskuttaa noin minuutin, jonka jälkeen tulee ilmoitus onnistuneesta levynvaihdosta. Ikkunan voi sulkea.

18. Vaikka kaikki käyttäjän toimenpiteet ovat tehtynä, on vaihto kaikkea muuta kuin valmis. Koska uusi levy on täysin tyhjä, ei se vastaa RAID-Z2 konfiguraatiota. Eli puuttuvat tiedot on kopioitava muilta levyiltä. Toisaalta muut levyt eivät sisällä sitä tietoa mitä tällä levyllä pitäisi olla, vaan palvelin joutuu laskemaan olemassa olevien levyjen tiedoista puuttuvan datan pariteettien perusteella, tätä toimenpidettä kutsutaan resilvering:ksi. Tämän operaation kesto riippuu niin käytettyjen levyjen koosta, levyillä olevan tiedon määrästä kuin RAID-pakan leveydestä (minulla 7 rinnakkaista levyä yhdessä poolissa).

Alussa arvio näytti yli 24 tuntia, mutta aika lyhenee todellista nopeammin. Todellisuudessa aikaa kului noin 13 tuntia.

19. Kun puuttuva data on saatu luotua ja siirrettyä levylle, on operaatio lopullisesti valmis.

Helppoa, mutta kuumottavaa

Vaihto-operaatio oli hieman jännittävä, sillä tämä oli ensimmäinen kerta, kun jouduin tämän tekemään – ja vielä kahdesti peräkkäin. Etenkin tuo kohdan 12 levyn irrottaminen ja siitä tullut varoitus, että levyä ei voi enää liittää takaisin hieman epäilytti. Pienen selvittelyn jälkeen selvisi, että mitään epämääräistä tai ennakoimatonta ei ole tapahtumassa. Kunhan vaan sen oikean levyn irrottaa, ettei joudu tekemään yhtä ylimääräistä resilvering kierrosta.

Toinen jännityksen aihe oli, miten olemassa olevat levyt kestävät tuon 13 tuntia kestävän rääkin, niin ikään kahdesti. Jo aiemminhan levyt olivat huutaneet noin 17 tuntia varmuuskopioinnin merkeissä. Onneksi ongelmia ei esiintynyt, eikä levyille ilmaantunut myöhemmin tehdyssä S.M.A.R.T testeissä virheitä.

FreeNAS:in automaattinen varmuuskopiointi Rsync:llä

Varmuuskopioiden tekeminen on tunnetusti ikävää puuhaa, koska se ei yleensä ole automaattista. Koska varmuuskopioiden tekeminen jää yleensä muistin varaan, jää se usein kokonaan tekemättä, tai kopiot ovat todella vanhoja. Ja sitten kun se odottamaton joskus tapahtuu, alkaa harmittaa.

Digikuvia olen varmuuskopioinut levypalvelimelta ulkoiselle kovalevylle käyttäen FreeFileSync nimistä ohjelmaa, joka on täysin vapaa ohjelmisto. Ohjelman käyttäminen on helppoa ja se tutkii kohteiden väliset erot, jonka jälkeen se kopioi, poistaa tai päivittää levyjen keskinäiset sisällöt yksisuuntaisesti tai kaksisuuntaisesti käyttäjän valintojen mukaisesti. Mikäli levypalvelimella on useita käyttäjiä (jokaisella henkilökohtainen levyasema yhteisten asemien lisäksi), niin tällöin jokaiselle käyttäjälle pitäisi asentaa tämä ohjelma… kuulostaa hankalalta.

Oma konstruktio

Levypalvelimen olen rakentanut itse, joka koostuu FreeNAS ohjelmistosta, sekä seitsemästä 3TB levystä yhdessä muiden tietokoneen peruskomponenttien kanssa. Levyt ovat ZFS RAID-Z2:ssa, eli se on kuin RAID 5 mutta sillä erolla, että pariteettilevyjä on yhden sijaan kaksi. Käytännössä tämä tarkoittaa, että mitkä tahansa kaksi levyä saa hajota järjestelmästä ilman, että tiedot katoavat. Kolmannen hajotessa menetetään kaikki data. RAID:in käyttäminen useine pariteettilevyineen ei kuitenkaan ole varmuuskopiointia.

Tästä syystä johtuen, rakensin toisen levypalvelimen (virtuaalikoneeseen, jolla ajetaan samalla muitakin palveluita). Toistaiseksi varmuuskopioille on varattuna ainoastaan 4TB tilaa (myöhemmässä vaiheessa on tarkoitus ostaa kolme 8TB levyä). Näitä levyjä ajetaan tällä hetkellä RAID 0 moodissa, joka yhdistää neljä teran levyä yhdeksi neljän teran levyksi. Mikäli yksi levyistä hajoaa, kadotetaan kaikki tiedot. Se mahdollisuus, että kahdesta erillisestä levypalvelimesta hajoaisi levyt yhtä aikaa, on todella epätodennäköistä. Toisaalta tulipalon varalta, varmuuskopiopalvelimen olisi syytä olla fyysisesti eri sijainnissa.

Mutta sitten itse asiaan, eli kuinka automaattinen varmuuskopiointi kahden FreeNAS levypalvelimen kesken saadaan toteutettua Rsyncin avulla

Rsync asutukset

Kumpaankin palvelimeen syötetään lähes identtiset asetukset, jolla varmuuskopiointi saadaan toimimaan.

 

Varsinaisen levypalvelimen asetukset:

Ensin lisätään Rsync moduuli, jonka saa tehtyä valikon Services – Rsync – rsync modules – add rsync module kautta.

Moduulille annetaan haluttu nimi, valitaan mikä polku halutaan synkata (tässä tapauksessa koko data pooli, joka sisältää ihan kaikki lähiverkon jaot kaikille käyttäjille). Käyttäjäksi määritellään root ja ryhmäksi wheel.

Tämän jälkeen lisätään Rsync task, joka saa tehtyä valikon Tasks – rsync tasks – add rsync task kautta.

Jälleen valitaan sama polku kuin edellä, joka halutaan varmuuskopioida. Käyttäjäksi määritellään root. Määritellään varmuuskopiolevypalvelimen IP osoite (ei siis varsinaisen palvelimen omaa osoitetta). Annetaan vapaasti valittava nimi taskille. Lisäksi on tärkeää huomioida, että direction -kohtaan on valittu Push. Loput asetukset toimivat sellaisenaan, niitä voi muokata haluamakseen ja määrittää milloin ja kuinka usein varmuuskopioin tekeminen tapahtuu.

 

Varmuuskopiopalvelimen asetukset:

Varmuuskopiopalvelimella säädetään asetukset lähes identtisesti kuin varsinaisella levypalvelimella.

Ensin lisätään varmuuskopio moduuli, joka saa tehtyä valikon Services – Rsync – rsync modules – add rsync module kautta.

Poluksi valitaan se paikka, jonne kopio halutaan tehtävän. Polun ei tarvitse olla identtinen varsinaisen levypalvelimen polun kanssa.

Tämän jälkeen lisätään Rsync task, joka saa tehtyä valikon Tasks – rsync tasks – add rsync task kautta.

Jälleen valitaan sama polku kuin edellä, jonne varmuuskopio halutaan tehtävän. Käyttäjäksi määritellään root. Määritellään varsinaisen levypalvelimen IP osoite (ei siis varmuuskopiopalvelimen omaa osoitetta). Annetaan vapaasti valittava nimi. Lisäksi tärkeää on huomioida, että direction kohtaan on valittu Pull.

Lopuksi kummankin palvelimen asetuksista käydään aktivoimassa Rsync moduuli päälle, joka tapahtuu services – control services kautta. Ativoi Rsync ja laita start on boot -kohtaan täppä. Nyt varmuuskopioinnin pitäisi aktivoitua automaattisesti käyttöön jokaisen bootin yhteydessä. Jotta moduuli lähtee saman tien päällä ilman boottia, tulee vielä painaa start now.

 

Tämän jälkeen päästäänkin kokeilemaan, toimiiko varmuuskopioiden tekeminen. Mene Tasks – rsync taks – view rsync tasks, ja valitse taski jonka hetki sitten loit, paina Run Now. Kestää hetken ennen kuin kopioiminen alkaa. Missään ei kuitenkaan ole edistymisestä kertovaa prosenttilukua tai muutakaan indikaattoria, miten kopiointi etenee.

Reporting -välilehden kautta voidaan käydä tutkailemassa ethernet interfacen liikennettä sekä kovalevyjen luku ja kirjoitus tiedonsiirtonopeutta. Kun varmuuskopiointi on alkanut, alkaa näissä käyrissä tapahtua liikehdintää.

Myös Display system Processes kautta voidaan käydä katsomassa, että Rsync on päällä ja että se käyttää prosessoria. Varsinaisen levypalvelimen prosessori huutaa lähes 100% kuormalla, mutta backup kone selviää 10% kuormalla.

 

Hyvin yksinkertaista, ja nyt jatkossa kaikki varmuuskopiot tapahtuvat automaattisesti. Tämä oli pieni pinta raapaisu asetusten tekemiseen, jotta varmuuskopiointi saatiin ylipäätään päälle. Asetukset kannattaa käydä viilaamassa kuntoon omien tarpeiden mukaisiksi.

On syytä muistaa aina ajoittain käydä tarkistamassa, että onhan palvelimilla kaikki kunnossa ja että varmuuskopioita tosiasiallisesti tehdään. Joskus kun voi käydä niin, että kopioiden tekeminen vain loppuu ja siitä ollaan täysin tietämättömiä, kunnes se pahin tapahtuu, jonka jälkeen taas harmittaa.

FreeNAS – osa 2: Levypakan ja datasetin luominen

Edellisessä osassa kävin läpi FreeNAS:in asentamisen sekä perusasetusten säätämisen. Asentamisessa ei ollut mitään sen erikoisempaa, itseasiassa jopa suoraviivaisempaa kuin vaikkapa Windows 7:n asentaminen.

Tälläkertaa käyn läpi kuinka FreeNAS:iin luodaan levypakka sekä datasetit. Lisäksi käyn läpi kirjoitusvälimuistin ja salauksen lisäämisen.

Levypakan luominen

Seuraavaksi luodaan tallennustilaan käytettävä levypakka. Tämä tapahtuu Storage / Volumes / Volume Manager kautta. Anna asemalla jokin nimi, laita rasti Encryption-kohtaan mikäli haluat salata koko levypakan, valitse levyt joista levypakka luodaan, sekä RAID-aseman tyyppi. Tässä tapauksessa minulla on käytössä 7 levyä, joista kaksi pyhitetään pariteettidatalle, jolloin valitsin RaidZ2, joka vastaa siis RAID 6-tasoa. Paina lopuksi Add Volume.

freenas_15

Kirjoitusvälimuistin lisääminen

Log (ZIL), eli kirjoitusvälimuistin lisääminen tapahtuu pitkälti samalla tavalla kuin levypakan luominen. Tämä tehdään samassa paikassa kuin levypakka luotiin, eli Storage / Volumes / Volume Manager. Aiempaan verrattuna asemalle ei annata nimeä, vaan pudotusvalikosta valitaan mitä asemaa halutaan laajentaa. Tässä tapauksessa haluan laajentaa data-nimistä asemaa, joka edellisessä vaiheessa luotiin. Kirjoitusvälimuistia ei salata, sillä sitä käytetään nimenomaan tiedonsiirron nopeutamiseen verkosta levypalvelimelle päin kirjoitettaessa, SSD on nopea levyasema joten sine data valuu liukkaasti ja vastaavasti tiedon siirtäminen SSD:ltävarsinaiselle levypakalle ja tiedon salaaminen ottaa aikaa. Lisätään haluttu asema(t) välimuistiksi ja valitaan tyypiksi Log (ZIL) ja painetaan lopuksi Extend Volume. Välimusitina toimivan levyn tulee olla mahdollisimman nopea SSD-levy.

freenas_16

Levyaseman laajentaminen, tässä tapauksessa kirjoitusvälimuistin lisääminen, resetoi tunnussanan sekä palautusavaimen levyaseman salauksesta. Koska näitä ei oltu vielä aiemmin määritelty, ei tällä ole väliä. Mikäli kuitenkin lisäsit aseman olemassaolevaan järjestelmään, tulee tunnussana ja palautusavain luoda uudelleen.

Salauksen lisääminen levylle

Pelkkä enctyptio -valinnan tekeminen levypakkaa luodessa ei vielä tee levyistä salattua. Salaaminen tapahtuu vasta sen jälkeen kun levylle on määrittänyt tunnuslauseen.

Tunnuslause määritellään samassa paikkaa jossa itse levyjärjestelmä luotiin, eli Storage / Volumes. Tämän jälkeen valitaan listasta luotu levy, joka tässä tapauksessa on nimeltään data. Tunnuslause määritellään painamalla avaimen kuvaa. Tunnuslause ei varsinaisesti ole salasana, mutta on toiminnan kannalta pitkälti samanlainen. Ilman oikeaa tunnuslausetta levyllä oleviin tietoihin ei pääse käsiksi. Tunnuslause voi olla vaikka elämäsi motto, mutta sen tulee kuitenkin olla sellainen jota kukaan muu ei tiedä. Tunnuslause saa sisältää välilyöntejä, esimerkiksi ’kaikki tai ei mitaan’ on toimiva tunnuslause.

freenas_17a

freenas_17b

On ehdottoman tärkeää muistaa määrittämäsi tunnuslause, sillä ilman sitä levyillä olevat tiedot on ja pysyvät salattuina, eikä niihin pääse enää millään käsiksi. Unohtamisen varalle on kuitenkin olemassa avaimen varmuuskopio, joka täytyy ladata joka kerta avaimesta jonka vieressä on nuoli alaspäin, kun tunnusanaa on muuttanut. Tämä tiedosto on pidettävä visusti tallessa jossain turvallisessa paikkaa, sillä sen avulla tiedostoihin pääsee käsiksi ilman tunnussanaa.

freenas_17c

Dataset ja sen luominen

Dataset ei suoranaisesti ole kansio levypakan juuressa, vaan sitä voidaan pitää eräänlaisena asemana aseman (levypakan) sisällä. Tämä vaikuttaa aseman/levyjaon toimintatapaan. Kun kahden kansion välillä siirtää tiedostoja, muutetaan levyllä todellisuudessa vain hakemistopolun viittausta, jolloin varsinaista dataa ei liikutella ollenkaan. Eri datasetit sitävastoin toimivat kuin fyysisesti erilliset levyt, jolloin tieto siirretään todellisuudessa levyasemalta toiselle, vaikka kummatkin datasetit sijaitsevat samassa RAID-pakassa.

Mitä hyötyä datasetistä on kansioon verrattuna? FreeNAS on hyvin monipuolinen palvelinohjelmisto, joka mahdollistaa erilaisia säätömahdollisuuksia. Levyasemaan liittyviä säätöjä ovat mm. tiedostojen pakkaamisen taso, identtisten tiedostojen viittaukset säästämään levytilaa (deduplication), levykiintiöt jne. Jo valmiiksi pakattuja tiedostoja on turha yrittää pakata uudelleen, kuten kuva ja videotiedostoja, sitävastoin tekstitiedostot pakkaantuvat merkittävästi pienemmiksi.

Koska tiedostojen pakkaaminen vie palvelimelta prosessointitehoa, siis hidastaa tiedostojen siirtämistä, erityyppisiä materiaaleja varten kannattaa luoda erilliset datasetit ja säätää asetukset dataset kohtaisesti. Erillisistä dataseteistä on myös helppoa ottaa snapshotteja, eli varmuuskopiota tietyllä ajanhetkellä. Tällaisia snapshotteja voi olla useita eri ajanhetkiltä, jolloin jälkikäteen tilanne levyllä on mahdollista palauttaa tiettyyn hetkeen, ei siis välttämättä viimeisimpään.

Jotta varsinainen levyjako voidaan tehdä lähiverkkoon, pitää ensin luoda haluttu määrä datasettejä. Dataset luodaan Storage / Volumes -kautta. Valitaan luotu levyasema, tässä tapauksessa data ja painetaan taulukko painiketta jonka oikeassa yläkulmassa on + -merkki.

freenas_19

Tämän jälkeen määritellään datasetille nimi, jolle tässä tapauksessa annoin nimeksi testisetti. Jaon tyypiksi valitsin Windows, muihin asetuksiin en koskenut. Lopuksi painetaan Add Dataset ja datasetti on valmis, levyjakoa verkkoon tästä ei kuitenkaan vielä syntynyt, vaan se on tehtävä erikseen.

freenas_20

Levyjakojen ja käyttöoikeuksien lisäämisestä juttusarjan seuraavassa osassa.

 

FreeNAS levypalvelimen raudan valinta

Vanhasta levypalvelimesta alkoi loppua tila kesken. Se koostui kahdesta erillisestä Buffalon levypalvelimesta, josta uudempi LinkStation LS-WXL toimi varsinaisena tietovarastona ja vanhempi LinkStation LS-WTGL teki kerran viikkoon varmuuskopiot. Kummankin laitteen kaksi levyä oli peilattu, jolloin tieto oli nelinkertaisesti varmistettu. Tämän takia tallennuskapasiteettia on ollut käytössä vain 500 Gt (25 % levykapasiteetista).

IMG_2462

RAID levyjärjestelmät ja tasot

RAID levyjärjestelmän huonona puolena voidaan pitää sitä, että vaikka ne selviävät levyrikosta, niin ohjainkortin leviäminen onkin kinkkisempi juttu. Jotta vanhan levypakan tiedot saisi luettua, tarvitaan identtinen laite (ohjain) johon levyt kytkeä. Vastaavan raudan hankkiminen voi kuitenkin olla hankalaa tai jopa mahdotonta kun aikaa on kulunut muutamia vuosia laitteen hankkimisesta. RAID -ohjaimen muokkaama ja tallentama data on aina valmistajakohtaista, jolloin eri valmistajan ohjain ei toimi vanhojen levyjen tietojen lukemiseen. Tämän takia vara ohjain tulisi hankkia samalla kertaa kun muuta järjestelmää on hankkimassa.

Softa RAID poistaa rautariippuvuuden, mutta koska aiemmin olen käyttänyt kaupallisia tuotteita, ongelma on aina ollut läsnä. Tästä syytä vanhassa järjestelmässä kummankin laitteen levyt oli peilattu laitekohtaisesti, sekä laitteet keskenään. Tällainen järjestely hukkaa valtavasti levytilaa, mutta sen pitäisi olla hyvin vikasietoinen sekä ohjainkortti että levyvikoja vastaan. RAID -tason valinta vaikuttaa myös tietojen luku ja kirjoitusnopeuteen.

RAID -tasoja löytyy muutamia:

  • RAID 0, eli tietojen lomitus. Tässä yhdistetään levyt yhdeksi asemaksi. Jos yksi levy hajoaa, kaikki tiedot katoavat. Tästä syystä RAID 0-tasoa ei tulisi käyttää sellaisenaan missään, ei ainakaan ilman varmuuskopiointia. Tämä vaihtoehto tarjoaa käyttöön 100 % asennetusta kapasiteetista. Tarvitsee vähintään kaksi levyä.
  • RAID 1, eli tietojen peilaus. Tässä sama data tallennetaan kahdelle levylle. Yhden levyn hajoaminen ei vaikuta tallennettuun dataan. Tämä vaihtoehto tarjoaa kahdella levyllä 50 % asennetusta kapasiteetista. Tarvitsee vähintään kaksi levyä.
  • RAID 5, vähän kuin RAID 0, mutta sisältää lisäksi pariteetti data levyn, jolloin minkä tahansa yksittäisen levyn hajoaminen ei kadota tietoja. Tämä vaihtoehto tarjoaa C * (N-1) kokoisen kapasiteetin, esimerkiksi kolmella levyllä toteutettuna 66 % asennetusta kapasiteetista saadaan hyötykäyttöön. Tarvitsee vähintään kolme levyä.
  • RAID 6 on kuten RAID 5, mutta yhden levyn sijaan siinä on kaksi pariteetti levyä, jolloin kaksi levyistä voi hajota tietojen katoamatta. Tämä vaihtoehto tarjoaa C * (N-2) kokoisen kapasiteetin, esimerkiksi neljällä levyllä toteutettuna 50 % kapasiteetista jää hyötykäyttöön, kuudella levyllä hyötysuhde nousee jo 66 %:iin. Tarvitsee vähintään neljä levyä.
  • RAID 0+1, yhdistää sekä tietojen lomituksen että peilauksen. Pelkkää 0-tasoa ei kannata käyttää, vaan käyttää esimerkiksi 0+1. Tämä vaihtoehto tarjoaa 50 % asennetusta kapasiteetista. Tarvitsee vähintään neljä levyä.
  • Lisäksi löytyy tasot 10, 50 ja 60, joita en tässä ala käymään läpi. Lisätietoa näistä ja edellä mainituista tasoista voi käydä lukemassa esimerkiksi täältä.

RAID levyjärjestelmä ei poista tietojen varmuuskopioinnin tarvetta, tästä syystä vanha järjestelmä oli toteutettu kahdella erillisellä laitteella jossa data sijaitsi. Täten myös uusi järjestelmä tulee sisältämään datat kahdessa eri järjestelmässä.

Vaatimukset uudelle levypalvelimelle:

  • Alhainen tehonkulutus
  • Nykyistä järjestelmää nopeampi (vanhassa noin 6Mbit/s)
  • Nykyistä vikasietoisempi => RAID 6 levyjärjestelmä
  • Reilusti kapasiteettia
  • Levyjen salausmahdollisuus
  • Helpompi korjata ja päivittää tarpeen tullen
  • Pitää saada sijoitettua räkkikaappiin
  • Etähallinta mahdollisuus


Vaihtoehdot

Kaupalliset isokapasiteettiset levypalvelimet ovat arvokkaita. Western Digitalin, WD My Cloud EX4 24 Tt -levypalvelin kustantaa 1710€, tukien tasoja 0, 1, 5 ja 10. RAID 5-tasolla kapasiteettia jää hyötykäyttöön 18 Tt. Tällöin varmennetun terabitin hinnaksi muodostuu 95€.

WD:n levypalvelin ei kuitenkaan tue RAID 6-tasoa, jolla seuraava levypalvelin oli tarkoitus toteuttaa. Koska tämä malli on jo näin kallis, laite joka tukisi 6-tasoa on vieläkin kalliimpi. Täten vaihtoehdoksi jää rakentaa levypalvelin itse. Näin toteutettuna levypalvelimesta saa juuri sellaisen kun haluaa ja varaosien hankkiminen on huomattavasti helpompaa ja halvempaa. Lisäksi omilla valinnoilla voi vaikuttaa järjestelmän kokonaishintaan, mutta valitettava tosiasia on että levykapasiteetti on se mikä maksaa kaikkein eniten.

Komponentit

Seuraavassa on listaus komponenteista jotka levypalvelimen osiksi lopulta valikoitui. Osa komponenteista on hankittu jo 4 vuotta sitten virtuaalipalvelinta varten, jotka jatkossa hoitavat levypalvelimen virkaa. Alle listatut hinnat ovat hankintahetkien hintoja, joten tänä päivänä saa varmasti nopeampaa ja halvempaa rautaa.

TuoteKuvausMääräá-hintaHinta yht.
KoteloSharkoon MS120 MicroATX144,90€44,90€
EmolevyAsus P7F-M1202,90€202,90€
ProsessoriIntel Core i5-760 2.8GHz1158,90€158,90€
KeskusmuistiG.Skill Ares DDR3 1333MHz 2x4Gb247,90€95,80€
TeholähdeSilentiumPC Vero L1 500W149,90€49,90€
KovalevytWestern Digital Red 3TB7113,90€797,30€
SSD-levytKingston HyperX FURY SSD 120 Gb244,90€89,80€
USB-muistiKingston DataTraveller micro 8GB17,90€7,90€
EtähallintaAsus ASMB4-iKVM1~20€~20€
RAID-ohjainLSI SAS 9211-8i164,77€64,77€
SATA-kaapelitHP Amphenol MiniSAS SFF-8087 to 4xSATA29,79€19,58€
Toimituskulut~15€
Yhteensä~1567€

Tällä kokoonpanolla kahdella pariteettilevyllä varmistetun levypalvelimen hyötykäyttö terabitin hinnaksi muodostuu 104,50€/Tt. Tässä ei selvinnyt yhtään halvemmalla kuin valmiilla kaupallisella tuotteella, mutta näin saan RAID 6 käyttöön, järjestelmä ei ole enää rautariippuvainen softa RAID:in ansiosta, sekä tietysti rakentamisen ilo. Lisäksi FreeNAS mahdollistaa julmetun määrän säätömahdollisuuksia, levyjen salauksen sekä erilaisten palveluiden ajamista, kuten iSCSI ja PLEX. Tosin vastaavia ominaisuuksia löytyy myös kaupallisista laitteista nykypäivänä.

Valintakriteerit

Levypalvelimeen ei kannata valita mitään kallista ja nopeinta rautaa. Emolevyksi kelpaa mikä tahansa emolevy, sen ei ole pakko olla palvelinkäyttöön tarkoitettu. Jos nurkissa pyörii vanha, mutta edelleen toimiva tietokone, on siinä hyvä alusta levypalvelimelle.

Koska halusin mahdollisuuden etäkäyttöön, oli ainoa vaihtoehto käyttää palvelinemolevyä. Palvelinkäyttöön tarkoitettuja microATX emolevyjä kourallisella SATA -liittimiä ei kuitenkaan ole helppo löytää ja kun sellaisen löytää, on hinta huikea (~600€). Prosessoriksi on valittu edullisin malli joka emolevyn kantaan sopii.

Koska halusin iKVM etähallinnan koneelle, enkä halunnut maksaa uudesta emolevystä järkyttäviä summia, tuli eteen levy/RAID -ohjaimen hankkiminen. Lähtökohtaisesti kaikki alle 100€ hintaiset ohjainkortit kannattaa unohtaa. LSI 9211-8i on piireissä hyväksi ja luotettavaksi kehuttu, joten päädyin itsekin samaan valintaan. Kyseinen ohjain on huomattavan kallis, noin 400€, mutta kuten laiteluettelosta voit huomata, en moista summaa ole kortista kuitenkaan maksanut. Lisää ohjainkortin hankkimisesta ja ohjelmiston päivittämisestä voi lukea toisesta blogauksestani.

ZFS -tiedostojärjestelmä on muistisyöppö, mitä enemmän keskusmuistia on, sitä parempi. Minimi muistinmäärä on 8 Gt, suositus vähintään 16 Gt. Koska entiseen virtuaalipalvelimeen olin aikoinani ostanut 16 Gt muistia, oli tämä puoli siltä osin kunnossa.

Kovalevyiksi valikoitui 7 kpl Western Digital RED 3 Tt, jotka on tarkoitettu NAS käyttöön. 3 Tt mallit valikoituivat kokonaishinnan perusteella. RAIDZ2 järjestelmässä on kaksi pariteettilevyä, halvin kombinaatio levyjen määrä suhteessa niiden hintaan muodostui 3 Tt levyistä, kun käyttökapasiteettitavoitteeksi asetti noin 15 Tt.

SSD levyt eivät ole pakollisia, mutta niillä pitäisi voida nopeuttaa levypalvelimelle kirjoittamista ja lukemista. Levyt toimivat välimuistina, mikäli keskusmuisti ei riitä. Jättämällä nämä levyt pois, saa systeemin hintaa pudotettua 90€.

Kotelo valikoitui ulkomittojen, sekä etusäleikön tuplapuhaltimien takia. Kotelo vetää vakiona tosin vain 2kpl 3,5″ kovalevyjä tai 4 kpl 2,5″ levyjä. Mikäli valmistaja olisi suunnitellut kovalevykehikon noin 5mm leveämmiksi, sekä olisi lisännyt reiät kovalevyille, olisi kotelossa ollut tilaa seitsemälle levylle, sentin ilmanvaihtoraoilla. Koska koteloa ei ollut näin toteutettu, piti sitä hieman modifioida. 5.25″ asemapaikalle saa asennettua vielä yhden kovalevyn, jota tulevaisuudessa voin hyödyntää vaikka Hot-Spare -levynä RAID -pakassa.

IMG_2266 IMG_2265

Vaikka kovalevyt ovat virtapihejä, vajaa 5W/kpl kirjoittaessa/lukiessa ja prosessori mahdollisimman pienitehoinen, valitsin hyvähyötysuhteisen 500W teholähteen. Järjestelmä syö arviolta 60W verran tehoa ollessaan päällä, joten teholähde riittää paremmin kuin hyvin. Virtalähde on mitoitettu lähinnä käynnistyshetkeä varten, sekä toimimaan mahdollisimman hiljaisesti alhaisella kuormituksella, sillä laitteisto tulee olemana päällä 24/7/365.

FreeNAS:in kotisivuilta voi lukea lisää järjestelmän minimivaatimuksista.

Jutun seuraavassa osassa käsittelen FreeNAS:in asennusta ja parametrointia.