Kuten vähän arvelinkin ja näissä projekteissa toisinaan tuppaa käymään, NAS-projekti taitaa olla laajentumassa kotiserveriksi. Ei siinä mitään, sen kautta juttujen opiskelu on ihan hyvä tapa kartuttaa omaa osaamista.
Todettakoon nyt vielä, että kaupalliset NAS-ratkaisut koen myös palloksi jalassa, koska niissä sitoudutaan joko propriety datankäsittelyyn tai standardoituun datan käsittelyyn, jota ei voi korvata muutoin, kuin kopioimalla data ensin RAIDista pois, jotta sen voi ladata uudelle setupille. Alun alkaen ajattelin, että RAID5 olisi oikea ratkaisu. Sen heikkous on, että kun kerralla hankkii levyt ja kun ensimmäinen levy pettää niin loputkaan levyt eivät ole kaukana perässä. RAIDin palautus parityltä on niin iso kuorma jäljelle jääville levyille, että voi aiheuttaa toisen levyrikon. Seurauksena täysin menetetty data.
Syy miksi SnapRAID alkoi kuulostaa paremmalta on, että 1) useampia data-levyjä voi tuhoutua ja silti kaikki on palautettavissa parity-levyltä. Toisaalta, 2) jos parity-levy hajoaa, kaikki data on tallessa ja sen kuin tuuppaa uuden levyn tilalle ja synkkaa parityn.
SnapRAIDin etuja on edellä mainitun lisäksi, että 3) ratkaisussa levyt voivat olla keskenään eri kokoisia ja 4) vaikkapa sekoitus SSD ja HDD-levyjä. 5) Levyjä voi koska tahansa konffata setuppiin lisää. Tyypillisesti suosituksena on, että parity-levy kierrätetään data-levyksi ja uusimmasta levystä tehdään aina uusi parity-levy. Reunaehtona on, että parity-levyn tulee olla vähintään saman kokoinen kuin isoin data-levy. 6) Minkä tahansa data-levyn voi irrottaa setupista ja sen levyn data on luettavissa. 7) Dataa luettaessa tai kirjoitettaessa vain se levy pyörii, miltä dataa luetaan tai mille tallennetaan, mikä vähentää perinteisiin RAIDeihin verrattuna levyjen käyttötunteja. 8) SnapRAIDissa luku- ja kirjoitusnopeudet on juuri sen verran, mitä kyseisellä levyllä on, mikä voi olla hitaampaa, mutta SnapRAIDiin voi rakentaa SSD:n cacheksi, joka voi nopeuttaa järjestelmän käyttöä perinteistä HDD-pohjaista RAIDia nopeammaksi. 9) SnapRAIDissa ei ole live-paritylaskentaa tai peilausta, mikä hidastaa merkittävästi perinteisiä RAIDeja.
RAID0 olisi luultavasti aivan riittävä ratkaisu minulle, eli datan peilaaminen 2 levyn välillä. RAID0 on kuitenkin myös suhteellisen rajoittava malli, koska levyparin tulee olla aina identtinen. Levyjärjestelmän laajentaminen edellyttää myös aina uusien levyjen hankkimista pareittain, eli tuplakustannus.
Suurimmasta osasta näistä hyödyistä minä en välttämättä tule koskaan hyötymään, mutta tärkeimpänä on RAID5:n straippaamisen välttäminen, joka näyttäytyy minun silmiini riskialttiilta ratkaisulta. Ja kuten todettua, haluan tässä prosessissa haastaa itseäni oppimaan uutta sen lisäksi, että vanhan peliPC:n päälle rakennettu setuppi tukee paremmin laajentamista serverikäyttöön.
Edit. Meni RAID0 ja 1 sekaisin.
Snapraidista ei ole itsellä suoraan kokemusta, mutta osa yo. tekstistä kuulostaa vähän jonkinlaiselta myyntipuheelta missä kehutaan oma tuote ja moititaan kilpailijat maan rakoon. Yleensä koko totuus ei ole ihan näin mustavalkoinen.
Esimerkiksi Linuxin perinteinen softaraid ei lähtökohtaisesti ole mitenkään erityisen riskialtis viritys, vaan aikojen saatossa ihan toimivaksi testattu ratkaisu - ehkä jopa luotettavampi kuin jotkin eksoottisemmat toteutukset. Toisen levyn hajoaminen RAID5-pakan rebuildissa on tietysti teoriassa mahdollinen, joskaan ei välttämättä ihan niin todennäköinen riski kuin internetin kommenteissa annetaan ymmärtää. Jos rebuild-riski kovasti huolettaa, RAID6 kahdella pariteettilevyllä mahdollistaa tietysti jo kahden levyn hajoamisen dataa menettämättä, tosin taas tallennustilan kustannuksella. Toisaalta levyjen määrän lisääntyessä yksittäisen levyrikon absoluttinen todennäköisyys kasvaa kuten myös hankintakustannukset, joten jokainen ratkaisu on pohjimmiltaan kompromissi eri tekijöiden välillä.
Jos Linux-serveriin olet kuitenkin päätymässä, suosittelisin vielä nopeasti harkitsemaan tiedostojärjestelmäksi ZFS:ää. Muistaakseni esim. Ubuntun LTS-versiosta taitaa edelleen löytyä ZFS-tuki suoraan installerista. ZFS merkittävimmät edut lienee tarkistussummat datalle ja metadatalle, sekä snapshotit.
ZFS – Linux.fi
Itsellä on ollut useamman vuoden RAIDz1 pakka (ZFS:n nimitys RAID5:lle) käytössä useammassakin levyserverissä ja olen ollut näihin erittäin tyytyväinen.
Jos miinuksia pitää etsiä, ZFS:n pyörittely komentoriviltä vaatii alkuun vähän opettelua, mutta toisaalta opastusta löytyy kyllä netistä yllin kyllin ja tuloksena on erittäin vakaa ja luotettava järjestelmä.
Ehkä kuitenkin tässä vaiheessa kannattaisi vielä zoomata vähän ulospäin ja tiedostojärjestelmien sijaan miettiä hetki kokonaiskuvaa. Montako erillistä kopiota datasta sulla tulee olemaan?
Jos talouden puhelimet, tabletit ja pöytäkoneet sisältää kukin sen oman datansa ja niistä ajetaan varmistukset serverille, sullahan on kaikesta kaksi kopiota. Jos tähän lisätään vielä serverin ajoittainen varmistus esim. fyysisesti erilliselle, ulkoiselle levylle, meillä on kolme kopiota ja pullat aika hyvin uunissa.
Kaiken datan voi tietysti säilyttää myös keskitetysti serverillä, mutta silloin on aivan ehdottomasti oltava vähintään se yksi kokonaan erillinen varmuuskopio; joko ulkoinen levy, pilvi tai periaatteessa jopa toinen serveri/NAS-purkki.
Erityisesti suosittelen välttämään sellaista ajatusmallia, missä kaikki data varastoidaan yhteen "jumalboksiin", mutta mitään ei ole varmistettu mihinkään koska luotetaan siihen että joku snapraidin hienous tarkoittaa ettei varmuuskopioita koskaan tarvita.
Älä mene tähän vipuun. Mieti toimiva varmuuskopiostrategia. Tärkeästä datasta vähintään kaksi, mielellään kolme fyysisesti erillistä kopiota.
Lisätään nyt vielä käyttötapaukset:
1) kaikilla laitteilla pääsy tallennustilaan, eli kuvat ja muun datan voi dumpata puhelimilta, tableteilta ja tietokoneilta. Laitteita on tällä hetkellä 8kpl.
2) kotiserveri pyörittämään taloautomaatiota, kuten pörssisähköoptinointeja, autojen latauksia, valaistuksia ym.
3) peliserverikäyttö
4) mediaserveri (tämä voi olla epätodennäköisin toteutuvista skenaarioista)
Tällä hetkellä olen kallistumassa hankkimaan 3x4TB levytilaa, josta SnapRAIDissa efektiivistä tallennustilaa 8TB. Vaikka aiemmin selvisinkon kuva-arkiston osalta alle 1TB käytöllä, odotan että uudet käyttötapaukset voivat alkaa kasvattaa tarvetta selvästi nopeammin.
Sen sanon että kaikkia näitä ei varmaan kannata rynnätä toteuttamaan yhtä aikaa.
Suositelen aloittamaan perusteista, eli pystytä vaikka alkuun pelkkä serveri levyjakoineen, snapshotteineen ja varmuuskopioineen. Kun nämä on testattu toimivaksi, sen jälkeen voit hiljalleen ruveta miettimään mitä muita palveluita haluat samalla koneella ajaa, haluatko pyörittää niitä natiivina, virtuaalikoneissa tai ehkä konteissa? Tämä mahdollistaisi niiden helpomman siirtelyn tulevaisuudessa jopa serveriltä toiselle ilman uudelleenasennuksia jne. Foorumilta löytyy näistäkin enemmän juttua jos kiinnostaa.