Täällä kun on nyt ollut puhetta pooleista ja on ollut esillä vähän kaikkia ratkaisuja niin hiukan omia mietteitä aiheesta ja myös kokemuksia.
MergerFS + Snapraid oli ittellä käytössä tovin. Se on ajatuksena ihan näppärä mutta ei ongelmaton. Vahvuutena on nimenomaan se että jos tulee katastrofi tilanne ja pari levyä hojaa ja on yksi pariteetti, niin silti ei menetä kaikkea. Mutta ongelmina on pääasiassa suorituskyky koska yhden kovalevyn luku/kirjoitusnopeus riittää nippa nappa gigaselle verkolle ja kaikilla levyillä ei edes siihen kun mennään sinne levyn sisäkehälle jolloin suorituskyky on paljon huonompi kuin ulkokehällä.
Ittellä tuli ongelmia siellaisissa tapauksissa kun samban yli pooliin yritti "streamata" isompaa köntsää mitä levyllä oli tilaa. Tätä keissiä MergerFS ei hanskaa hyvin. Suurimmaksi osaksi se feilasi sitten kokonaan, ilmeisesti jonkin sortin timeouttiin. MergerFS ilmeisesti siis yrittää siirtää sen homman toiselle levylle jossa on tilaa, mutta jos on 40G vaikka kirjoitettu ja sitä aletaan sitten siirtämään niin siinähän kestää tovi.
Viimeinen ongelma joka itseni ajoi pois tämän käytöstä oli se hetki kun pooli alkoi täyttyä ja siellä oli joitakin qemu imageita dynaamisella koolla joka aiheutti lopulta tilanteen että snapraid alkoi kitistä että pariteetti tila on loppu. Syynä tähän on se että snapraid toimii tiedostotasolla ja jos tiedosto ilmoittaa kooksi vaikka 1TB kuten qemu dynaamiset imaget voivat tehdä, niin vaikka se ei itse levyltä veisi kuin 1GB niin snapraid käsittelee sitä kuin 1TB köntsää.
Stratista olen hiukan testaillut virtuaalikoneella ja lueskellut sen docuja jonkin verran. Vaikuttaa varsin kunnianhimoiselta projektilta jonka tarkoituksena on ainakin ollut ottaa hyviä puolia vähän sieltä ja täältä ja tehdä kokonaan uusi kikotin joka on helppo käyttää. Toistaiseksi on kyllä ominaisuuksiltaan aika köykäinen. Raid tuki käsittääkseni edelleen puuttuu. Hiukan jotenkin tuntuu jopa ideologiselta projektilta, yritetään tehdä samoja asioita uudelleen kun vaihtoehtona olisi käyttää ja kehittää jo olemassa olevia ratkaisuita. Stratis voisi ihan hyvin olla helppokäyttöinen käyttöliittymä joka nitoisi yhteen mdadm, lvm ja dm. Tuon kolmikon yhdiseloa jos saataisiin parannettua niin elämä helpottuisi paljon. Noi on käytettävyydeltää niin erilaisia jokainen kikkare että niiden opiskeluun tarvii uhrata aikaa jokunen tovi. Tähän siis Stratis olisi voinut mielestäni panostaa tekemällä käyttöliittymän joka nitoo noi kolme yhteen joilla saa ihmeitä aikaan kunhan osaa.
btrfs on filesysteeminä ittellä käytössä mutta sehän on paljon muutakin kuin pelkkä filesystem. Tuli myös sen raid-5 ominaisuutta kokeiltua mutta se on pahasti vielä keskeneräinen ja suurin ongelma on että poolin scub ottaa aivan tolkuttomasti aikaa. Se kun on toteutettu huonosti, tsekkaa jokaisen levyn periaatteessa erikseen. Eli pooli tsekataan yhtä monta kertaa kuin on levyjä vaikka yksi kerta riittäisi. Sitä ollaan korjaamassa.
btrfs:n raid toteutus on siitä mielenkiintoinen että poolissa voi olla eri kokoisia levyjä eikä tilaa hukata. Sen takia siihen itse alkujaan läksin, mutta kun on keskeneräisiä ominaisuuksia niin eihän sellaista voi käyttää. raid-1, raid-0 ja jbod (single) siinä toimii ihan loistavasti.
Nyt on sitten palattu taas mdadm käyttöön. Mulla on 6x3TB levyjä raid-5 ja toinen volume 5x4TB raid-5. Nämä on sitten nidottu yhteen lvm:n kanssa, jonka jälkeen luks ja lopulta btrfs.
LVM on varsin näppärä kunhan jaksaa perehtyä sen toimintaan. Tulevaisuudessa voin kasvattaa poolia helposti lisäämällä vain ihan minkä tahansa levyn, jonka jälkeen jos vaikka haluan päästä noista 3TB lätyistä eroon niin ei muuta kuin lvm komennoilla siirtää vanhalta uudelle ja poistaa vanhan.
Sitten mitä tulee mdadm vs. zfs niin olen tietoinen että zfs:ssä on varsin kova feature setti, mutta itte en sitä ala käyttää niin pitkään kuin se ei ole kernelissä suoraan tuettuna.
mdadm, lvm ja dm on sellainen kattaus että siitä löytyy nykyisin työkalut joilla päästään ihan vastaaviin fyytsöreihin, toki hallittavuus ei ole samaa tasoa juurikin kun on kolme eri kikkaretta. dm-integrity on aika kiva jos on oikein paranoidi. Sen kanssa on mahdollista rakentaa raid pakka jossa on käytännössä aika mahdotonta saaha ulos virheellistä dataa koska levyn pinnasta uhrataan pieni osa checksummeille.
Tässä taas tulee se ongelma kun käytetään montaa kikkaretta niin jos dm-integrityä haluaa käyttää niin jokainen levy on ensin ajettava tuon integrityn läpitte joka kirjoittaa koko levyn läpi, eli kestää aikaa isommilla levyillä. Koska dm-integrity on dm ominaisuus, niin tuon integrityn voi tehdä myös cryptauksen kanssa, mutta mikäli tarkoitus on taas levyn nitoa yhteen mdadm kanssa, niin siitä seuraa sellainen typerä tilanne että jokaisella levyllä pyörii sitten oma cryptaus, nyky raudalla ei tietenkään ole sinäänsä ongelma, mutta turhaahan se on.
device-mapper mahdollistaa toki myös raid tuen suoraan, mutta ittelle se on ainakin liian kryptinen alkaa opetella. Sama pätee lvm:n.
Mitä sitten tulee cacheen Itte opin vasta hiljattain että mdadm on nykyisin myös cache tuki suoraan. Sitten lvm löytyy cache ominaisuus ja sitten sellainen härveli kuin bcache. Josta päästäänkin sitten taas seuraavaan aasinsiltaa, eli tuon tekijä on aloittanut kunnianhimoisen projektin, eli bcachefs jonka pitäisi sitten joskus jos valmistuu olla se kaikkien härveleitten äiti.
bcache on tullut kokeiltua ja ihan toimiva kapistus. Ittellä vaan oli niin onnettomat SSD:t suorituskyvyltään että hirveästi apuja ei saanut, kirjoitus itseasiassa sakkasi sen kanssa mutta johtui puhtaasti kuluttaja tason SSD:stä.
Alkaa vaan mennä aika monimutkaiseksi jos kaikkia fyytsöreitä haluaa ottaa käyttöön.
fyysinen levy -> partitiointi -> dm-integrity -> mdadm -> lvm -> bcache -> luks -> filesystem; on jo sellainen layer viidakko että jotain jos/kun hajoaa niin on ihmettelemistä.
Kannattaa tosiaan pistää joku linux virtuaalikoneeseen ajoon ja siihen virtuaali koneelle sitten pulttaa vaikka 10kpl jotain 10GB virtuaalilevyjä niin pääsee leikkimään ikäänkuin "oikeilla" levyillä. 10GB on sen verran pieni että vaikka jotain rait pakkaa alustelee ja ne virtuaali levyt on fyysisesti yhdellä ja samalla levyllä niin ei siihen aikaa ihan liikaa tuhraannu.
Toki losetup on myös vaihtoehto, mutta itte tykkään leikkiä mieluummin "oikeilla" levyillä.