Avainsana-arkisto: RAID

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 USB käynnistyslevyn peilaus (11.2 U1)

Mikään tallennusmedia ei ole ikuinen. Kovalevyissä on liikkuvia osia, SSD-levyjen ja USB muistien Flash-muistisolut kestävät rajoitetun määrän kirjoittamista. Varmuuskopioiden tekeminen on siis tärkeää.

Olen asentanut FreeNAS:in 8GB USB muistiin, kuten hyvin moni muukin FreeNAS käyttäjä. Syynä tällaiseen hieman ehkä outoon ratkaisuun on hinta ja pieni koko, lisäksi säästyy SATA väyläpaikka. USB muistit kestävät kuitenkin kaikkein vähiten kirjoituskertoja. FreeNAS:in tapauksessa käyttöjärjestelmälevyn hajoaminen ei haittaa, koska varsinainen levypalvelimen tietosisältö sijaitsee eri levyillä.

Boot aseman hajoamisesta palautuminen kestää noin 20 minuuttia, jos hyllystä löytyy valmiiksi uusi USB muisti sekä vanhan käyttöjärjestelmän konfiguraatio. Jos konfiguraatio puuttuu, ei sekään ole katastrofi, silloin joutuu vain tekemään kaikki asetukset alusta lähtien uusiksi. Lopuksi importataan levyt sisään ja kaikki on valmista uuteen alkuun.

Tähän päivään asti minulla on ollut käyttöjärjestelmä asennettuna yhdelle USB muistille. FreeNAS mahdollistaa kuitenkin peilatun boot-aseman (joskaan se ei osaa vaihtaa ehjää vioittuneen paikalle automattisesti). Jokin aika sitten levypalvelin alkoi lähettämään sähköpostia, jossa se varottaa levyllä havaitusta korjauskelvottomasta virheestä. Muutamia viikkoja kului, eikä virheiden määrä kasvanut. Kun aikaa kului pari kuukautta, alkoi virheiden määrä kasvamaan. Yksittäiset muistisolut ovat todennäköisesti tulleet tiensä päähän.

Tällaista virheilmoitusta ei kannata jättää huomiotta, vaan viimeistään tässä vaiheessa on syytä ottaa varmuuskopio asetuksista. Myöskään tuleen ei kannata jäädä makaamaan, vaan vaihtaa suosiolla uusi asema tilalle, sillä USB muistit eivät ole hinnalla pilattuja, mallista riippuen alkaen ~8€.

Ennen kuin alat tekemään peilausta, on syytä muistaa, että mikäli asema on jo valmiiksi DEGRADED -tilassa, ei peilaus todennäköisesti tule onnistumaan. Minulla peilaus prosessi alkoi aina alusta buutin yhteydessä, eikä kopiosta tullut toimivaa milloinkaan. Viallista asemaa ei pysty irrottamaan (detach) ennen kuin resilvering on valmistunut. Irrotusta ei pysty tekemään vahingossa, sillä siitä tulee virheilmoitus.

Jotta edellä kuvatuilta ongelmilta vältytään, on pelaus syytä säätää kuntoon mahdollisimman aikaisessa vaiheessa.

Buutti-levyn peilaaminen on yksinkertainen operaatio:

  1. Avaa FreeNAS:in hallintasivu webbiselaimeen
  2. Valitse System => Boot Enviroments => Boot Pool Status
  3. Paina … freenas-boot -riviltä ja valitse Attach
  4. Valitse levy, jota halutaan käyttää peilaamiseen (minulla da8). Use all disk spacea ei tarvitse rastittaa
  5. Paina save

Tämän jälkeen boot-asema alkaa kopiotumaan asemalta toiselle. Operaatio on hidas USB muisteilla. Peilaukseen kulu aikaa noin 30 minuuttia. Operaation (resilvering) keskeneräisyydestä annetaan kriittinen varoitus (The boot volume state is ONLINE: One or more devices is currently being resilvered…). Kun operaatio on valmis, ilmoitus katoaa.

Edistymistä saa seurattua kätevästi yläpalkin pyörivää tuplanuolta painamalla. Sivun alareunaan avautuu pieni dialogi, jossa edistyminen esitetään prosentteina.

Kun resilvering on valmis, molemmat (da7p ja da8p) USB asemat näkyvät ONLINE -tilassa.

FreeNAS – osa 1: Levypalvelimen asentaminen ja perusasetukset

FreeNAS on täysin ilmainen palvelinohjelmisto, jonka voi asentaa lähes kaikenlaisen raudan päälle jakamaan tiedostoja lähiverkkoon. Lyhyesti sanottuna kyse on levypalvelimesta, eli NAS:sta (Netowork Attached Storage).

FreeNAS hoitaa ja tekee samoja asioita kuin kaupalliset levypalvelimet, ainoa ero on että FreeNAS:in tapauksessa käyttäjä voi itse valita järjestelmän komponentit ja tehdä järjestelmästä omia tarpeitaan vastaavan.

Ohjelmiston asentamisen jälkeen kaikki asetukset tehdään web käyttöliittymän kautta. FreeNAS kykenee jakelemaan tiedostoja niin Windows (SMB/CIFS), Unix/Linux (NFS) kuin Apple (AFP) käyttöjärjestelmille. FreeNAS kykenee jakelemaan tiedostoja myös mm. FTP, iSCSI, WebDAV protokollilla. Mukana tulee luonnollisesti kattavat varmuuskopiointi mahdollisuudet, joihin kuuluvat tuki windows backup, rsync, Apple Time Machine ja PC-BSD Life Preserver.

FreeNAS:iin on saatavilla myös liuta erilaisia plugineja, joista ainakin elokuvaharrastajana minua kiinnostaa PLEX mediaserver. Myös oman pilvipalvelun pystyttäminen onnistuu.

FreeNAS käyttää ZFS tiedostojärjestelmää, joka on Sun Microsystemsin kehittämä. ZFS:n ominaisuuksiin kuuluvat suojaus tietojen korruptoitumisen estämiseksi, tuki suurelle tallennuskapasiteetille, tehokas tietojen pakkaus, jatkuva virheentarkistus ja automaattinen korjaus, ohjelmallinen RAID sekä tietojen salaaminen, muutamia mainitakseni. Huonona puolena voidaan pitää suurta muistintarvetta, mitä enemmän keskusmuistia on, sen parempi. 8 Gt on ehdoton minimi, suositeltava 16 Gt.  Joidenkin lähteiden mukaan itse käyttöjärjestelmä tarvitsee 4 Gt RAM, ja jokainen tallennus teratavu 512 Mt RAM. Toinen nyrkkisääntö on 1 Gt RAM / 1 Tt tallennuskapasiteettia. Toteuttamani järjestelmän osalta kummatkin ehdot täyttyvät, joten muistin määrän ei pitäisi olla pullonkaula.

Esittelyt saavat riittää ja siirrytään itse asiaan, eli FreeNAS:in asentamiseen.

FreeNAS lataaminen ja asentaminen

Ensimmäiseksi haetaan uusin versio FreeNAS:sta, joka jutun kirjoitushetkellä oli 9.10.1.  Tämän jälkeen luodaan asennusmedia (CD) tai lisätään levykyva suoraan iKVM:n kautta virtuaali CD-asemaksi. Myös USB muistilta buuttaus on mahdollinen.

Asentaminen

  1. Varmista BIOS-asetuksista, että kone buuttaa valitsemasi median kautta. Tämän jälkeen asentaminen on hyvin suoraviivaista. Asentaja lähtee käyntiin 15 sekunnin kuluttua automaattisesti.
    freenas_1
  2. Valitse 1, Install/Upgrade. Tämä vaihtoehto asentaa tai päivittää vanhan FreeNAS version.
    freenas_2
  3. Tämän jälkeen valitaan mille levylle palvelinohjelmisto asennetaan. Valmistajan suositus on USB muisti, jonka tulee olla kooltaan vähintään 8 Gt. Tässä tapauksessa USB muisti löytyy asemasta da7.
    freenas_3
  4. Tämän jälkeen tulee varoitus valitun levyn tyhjentämisestä.
    freenas_4 freenas_5
  5. Lopuksi annetaan pääkäyttäjän salasana, joka on syytä muistaa jatkossa. Tämän jälkeen alkaa varsinainen asennus, jossa vierähtää noin 5-10 min.
    freenas_6
  6. Kun asenus on valmis,  asennusmedian voi poistaa. Lopuksi käynnistä kone uudelleen painamalla OK ja valitsemalla 3, Reboot system.
    freenas_7
  7. Jos saat virheilmoituksen puuttuvasta järjestelmälevystä, tarkista BIOS asetukset.
    freenas_7b
  8. Asus P7F-M emolevyn BIOS:ssa piti ensin käydä Hard Disk Drives valikosta valitsemassa 1st Drive asemeksi USB: Kingston DT ja tämän jälkeen vielä Boot Device Prioritystä 1st Boot Deviseksi USB: Kingston DT.
    freenas_8 freenas_9
  9. Buutin jälkeen varsinainen asentaminen on valmis. Konsolissa ilmoitetaan palvelimen saama IP-osoite DHCP:ltä, joka tässä tapauksessa on 192.168.4.102. Kun tämän osoitteen kirjoittaa web selaimeen, avautuu ensimmäisenä salasanakysely, jonka jälkeen pääsee tekemään varsinaista palvelimen konfigurointia. Seuraavassa osioissa käyn ensin läpi IP-osoitteen muuttamisen ennen muiden asetusmuutosten tekemistä.
    freenas_10

Perusasetusten säätäminen

  1. Ensimmäiseksi vaihdetaan palvelimen IP-osoite staattiseksi, sillä dynaamisesti vaihteleva osoite ei ole käytännöllinen. Toki DHCP palvelimen voi määrittää antamaan osoitteen aina samaksi MAC-osoitteen perusteella, mutta itse pidän saattisista osoitteista enemmän. Osoitteen muutos tapahtuu kätevimmin konsolissa:
      • Paina 1 (Configure Network Interface) ja enter
      • Valitse oikea verkkosovitin, minun tapauksessa 1, em0
      • Reset network configuration? (y/n) => n
      • Configure interface for DHCP? (y/n) => n
      • Configure IPv4? (y/n) => y
      • Interface name: kirjoita tähän kohtaan sen verkkosovittimen tunnus jonka asetuksia olet muuttamassa, minun tapauksessa em0
      • Syötä uusi IP-osoite ja aliverkon peite esimerkiksi CIDR notaatiolla, minun tapauksessa 192.168.4.11/24 (/24 => 255.255.255.0)
      • Configure IPv6? (y/n) => n

    Tämän jälkeen FreeNAS päivittää  verkkosovittimen tiedot ja uusi osoite on hetken päästä käytössä. Päivittynyt osoite näkyy komentokehotteessa.
    freenas_12

  2. Kirjaudutaan web selaimen kautta käytten päivitettyä IP-osoitetta. Käyttäjätunnus on root ja salasana aiemmin määrittämäsi.

    freenas_11
  3. Seuraavaksi muutetaan System / General -välilehdeltä WebGUI IPv4 osoitteeksi 192.168.4.11, konsolin näppäimistökartta (Finnish ISO-8859-1) ja aikavyöhykkeeksi Europe/Helsinki.
    freenas_13
  4. Määritellään pääkäyttäjälle, eli root:lle sähköpostiosoite, jonne kaikki palvelimen tilaviestit toimitetaan. Tämä tapahtuu valikon Account / Users kautta, valitse käyttäjä root ja sen jälkeen Change E-mail. Anna sähköpostiosoite jonne ilmoitusten halut menevän.
    freenas_14
    freenas_14b
  5. Tämän jälkeen määritellään varsinaiset sähköpostiasetukset, joka tapahtuu valikon System / Email kautta. Syötettävät tiedot ovat peruskamaa, eli lähettäjän (palvelimen) sähköpostiosoite, sähköpostipalvelimen osoite, portti (salaamaton = 25, SSL = 465), salauksen tyyppi (Plain/TLS/SSL). rasti ruutuun Use SMTP Authentication mikäli lähtevän postin palvelin tarvitsee käyttäjätunnukset, sekä postipalvelimen käyttäjätunnus ja salasana kahteen kertaan. Paina lopuksi Save. Tämän jälkeen voit kokeilla sähköpostin toimivuutta Send Test Mail painikkeella. Sähköpostilaatikkoon pitäisi kolahtaa postia hetken kuluttua.
    freenas_14c

Seuraavassa osassa käydään läpi levypakan sekä datasettien luominen.

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.

LSI SAS 9211-8i levyohjain ja P20 IT firmwaren päivittäminen

Hankin Kiinasta levypalvelinta varten PCIe-liitäntäisen LSI SAS 9211-8i -levyohjaimen, sillä emolevyssä ei ollut riittävästi SATA-portteja tarpeisiini. Kyseinen kortti on ns. OEM-tuote ja näyttää täysin identtiseltä kuin Avago SAS 9211-8i (Avago on entinen LSI). Avagon sivuilta löytyvät ohjekirjat, ohjelmistot jne. soveltuvat suoraan OEM-ohjaimelle. Eroa on ainoastaan paketoinnissa sekä hinnassa.

Siinä missä LSI/Avago SAS 9211-8i maksaa suomessa 335-470€, maksoi se Kiinasta tilattuna vain 64€. Tätä juttua kirjoitettaessa hinta on pudonnut 48€ paikkeille toimituskuluineen. Myyjänä toimi eBayssä käyttäjä alex_xu10, joka vastasi kyselyihin nopeasti ja hoiti postittamisen ym. kommervenkit kunnialla, joita matkalla oli Kiinan turvatarkastusten kanssa. Kokemusteni perusteella luotettava ja hyvä myyjä, suosittelen. Linkki ohjainkorttiin myyjän sivuille. Mukana seuraa ohjainkortti, matalan ja korkean pofiliin kiinnitysrauta sekä ajurilevy, josta löytyy aika vanhahkot (P14) ajuriversiot.

IMG_2319 IMG_2321

Pelkkä ohjainkortti ei kuitenkaan riitä, vaan tarvitaan myös kaapelit kovalevyjen kytkemiseksi ohjainkorttiin. Kaapelin tulee olla oikean tyyppinen, jotta halutun tyyppiset kovalevyt toimivat ohjaimen kanssa. Tässä tapauksessa ohjainkortin päässä on 2 kpl MiniSAS SFF-8087 liittimiä, jotka tarvitsee saada muutetuksi SATA-liittimiksi SATA-levyille (ei SAS-levyille).

IMG_2320

Tilasin kaapeleita kaksi kappeletta eBaystä. Myyjänä qbtl, tuote HP Amphenol MiniSAS SFF-8087 to 4xSATA, hintaa toimituskuluineen kahdelle kaapelille yhteensä vajaa 20€. Tämäkin myyjä oli nopea ja luotettava, suosittelen. Suomessa yksittäinen vastaavan tyyppinen kaapeli maksaa valmistajasta riippuen 20-60€/kpl.

IMG_2264

Sitten itse asiaan, eli ohjelmiston version tarkistaminen, esivalmistelut sekä päivittäminen.

FreeNAS:in asennuksen jälkeen järjestelmä antoi varotuksen väärästä ohjelmaversiosta ohjainkortilla. Tähän osasin varautua, sillä kortit toimitetaan IR ohjelmistolla (Integrated RAID), joka tarkoittaa kortin sisäistä RAID toimintoa. Ohjelmisto pitää päivittää IT-versioon (Initiator Target), jotta ohjainta voi käyttää softa raidin kanssa. Levyt löytyvät ja näkyvät FreeNAS:ssa väärästä ohjelmaversiosta huolimatta, joten tämän ei pidä antaa hämätä.

lsi_versio

FreeNAS 9.10-STABLE versiossa on bugi, sillä P21 ohjelmistoversiota ei ole olemassa ohjainkortille. Uusin versio on P20, jonka kanssa FreeNAS toimii vaikka versio virhettä kiljuukin vielä päivityksen teon jälkeenkin.

lsi_versio2

Ohjelmiston päivittämisen kanssa tulee olla varovainen, sillä buuttaus tai sähkökatko kesken firmwaren päivittämisen saa aikaan kortin hajoamisen.


Mitä tarvitaan:

  • LSI SAS 9211-8i ohjain
  • USB muisti, koolla ei väliä
  • Rufus, USB-tikun formatoimiseksi
  • Uusin versio kortin firmwaresta ja asentaja ohjelmasta
    • 9211-8i_Package_P20_IR_IT_Firmware_BIOS_for_MSDOS_Windows
    • Installer_P20_for_MSDOS_and_Windows


USB-muistin luominen:

Formatoi USB-muisti alla olevan kuvan asetuksilla.

rufus_lsi_usb_format

Kopioi USB-muistiin seuraavat tiedostot lataamistasi paketeista:

  • sas2flsh.exe (asentaja paketin hakemistosta \sas2flash_dos_rel\)
  • 2118it.bin (P20 firmis paketin hakemistosta \Firmware\HBA_9211_8i_IT\)
  • mptsas2.rom (P20 firmis paketin hakemistosta \sasbios_rel\)

Tämän jälkeen varmista BIOS asetuksista, että kone buuttaa USB muistilta.

Firmwaren päivittäminen:

    1. Ensimmäiseksi tarkistetaan, että päivitysohjelma näkee oikean ohjainkortin. Tähän käytetään komentoa sas2flsh.exe -listall. Operaatio kestää noin minuutin.lsi_2_listall

      Vaikka kyseessä on SAS 9211-8i ohjain, syystä tai toisesta ohjelma näyttää valitun ohjaimen olevan SAS2008(B2). Kyseessä on yksi ja sama ohjain, nimeäminen voisi vain olla loogisempaa. Tämän nimen näkee koneen buutin yhteydessä, samassa listassa johon ohjain luettelee liitetyt kovalevyt. Jutun lopussa palaan asiaan lyhyesti. Ongelmien välttämiseksi kaikki muut ohjaimet ja lisäkortit kannattaa poistaa koneesta ennen päivityksen tekemistä.

    2. Kun oikea ohjain on varmuudella löydetty, voidaan jatkaa ohjaimen firmwaren poistamisella. Poistaminen tapahtuu komennolla sas2flsh.exe -o -e 6. Tyhjentämisessä menee hetki. Tämän komennon suorittamisen jälkeen koneen sammuminen on ohjaimen kannalta katastrofaalista.lsi_3_erase
    3. Onnistuneen tyhjennyksen jälkeen on aika ajaa uusi ohjelmaversio sisälle. Tämä tapahtuu komennolla sas2flsh.exe -o -f 2118it.bin -b mptsas2.rom. Päivityksen aikana vilisee pari ruudullista päivitykseen liittyvää statustietoa.lsi_4_update2
    4. Lopuksi tarkistetaan sas2flsh.exe -listall komennolla, että ohjelmaversio on päivittynyt.lsi_5_listall
    5. Päivitys on valmis ja koneen voi käynnistää uudelleen.

Koneen käynnistymisen yhteydessä ohjain luettelee siihen liitetyt levyt, mutta myös itsensä. Kun aiemmin puhuin ohjaimen epäloogisesta nimeämisestä, niin ensimmäiseltä listan riviltä löytyy tämä mystinen nimi, joka vahvistaa kyseessä olevan yksi ja sama ohjain.

lsi_6_buutti

Kun buutin yhteydessä paina Ctrl-C, voi käydä vielä asetusohjelman kautta tarkistamassa asennetun ohjelmaversion, joka tässä tapauksessa on siis 20.00.07.00-IT.  Tätä kautta tarkasteltuna ohjaimen nimi vastaa sen tyyppiä.

lsi_7_versio

Vaihtoehtoisesti päivittämisessä voisi käyttää EFI shell:iä, mutta koska Asuksen lankku ei tätä menetelmää tukenut, turvauduin DOS vaihtoehtoon. Myös versiot VMwarelle, Solarikselle, Linuxille ja FreeBSD:lle on tarjolla, joista voi valita haluamansa. Ylläolevat ohjeet pätevät, käytit sitten mitä asentajaa tahansa.