Avainsana-arkisto: RAIDZ2

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.