Avainsana-arkisto: levypalvelin

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 – 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.