Arkisto: joulukuu 2015

Puolen Petan Fugu

tiistaina 15. joulukuuta 2015

Kirjoittajat: Henri Strand ja Jesse Hulkko.

Yhdistyksen uusi storage lähenee tuotannollista käyttöönottoaan. Tässä kohti on hyvä hieman istahtaa alas ja käydä läpi Kapsin tähän asti suurimman, toiminnallisesti kriittisimmän (ja hintavimman) infrauudistuksen tavoitteita, projektin eri vaiheita ja tämänhetkistä tilaa näin blogin välityksellä.

Jokaisella Kapsin jäsenellä on käytössään 500 gigatavua erikseen varmentamatonta tallennustilaa varmuuskopioille. Tätä tallennustilaa kutsutaan Siiloksi ja se on ollut käytettävissä jokaisen jäsenen kotihakemistosta kansiosta ”~/siilo/”.

Kuten yllä olevasta kuvasta näkyy, Siilo-levytila on ollut aktiivisessa ja alati kasvavassa käytössä. Kapasiteettia on lisätty tarpeen vaatiessa.

Kuten yllä olevasta kuvasta näkyy, Siilo-levytila on ollut aktiivisessa ja alati kasvavassa käytössä. Kapasiteettia on lisätty tarpeen vaatiessa.

Nyt eteen on tullut kriittinen tilanne; Siilo-levytila on käytännössä täynnä. Noin viisi vuotta sitten käyttöön otettu Siika-levypalvelin on lastattu täyteen kiintolevyjä ja se on palvelusikänsä päätteessä. Tilannetta ei helpota se, että Siika-palvelimen Solaris-pohjainen ZFS-järjestelmä on rajusti muokattu sekä useita major-versioita vanha. Siihen ei uskalleta enää tehdä suuria muutoksia. Ylläpidossa pidettiin jopa pienenä ihmeenä sitä, että Siika selvisi syyskuun alussa tapahtuneesta uudelleenkäynnistyksestä hengissä.

Siika-palvelimen käyttöönotosta voi lukea viiden vuoden takaisesta blogipostauksesta: https://blog.kapsi.fi/2010/09/29/270-teran-siika/

Uusi levyjärjestelmä — Fugu

Keväällä hankimme pitkällisen tallennusjärjestelmän uudistamisprojektin päätteeksi Dell Compellent SC8000 -levypalvelimen, jonka nimesimme japanilaisen pallokalalajin mukaan Fuguksi. Ensialkuun Fugussa on 504 teratavua eli noin puoli petatavua levytilaa. RAID-tekniikkojen käytön jälkeen käytettävää tallennustilaa jää noin 486 teratavua. Tämän arvioidaan riittävän nykyisen kasvun ja projektien puitteissa riittävän pitkään. Järjestelmä on myöskin laajennettavissa edelleen lisäämällä siihen levyhyllyjä.

Fugu koostuu useasta eri osasta: kahdesta toisiaan varmentavasta kontrollerista, SSD-levyhyllystä ja HDD-levyhyllystä. HDD-kiintolevyhyllyssä on 84 kpl 6 Tt NLSAS-kiintolevyjä ja SSD-hyllyyn on kalustettu nyt 8 kpl 1,9 Tt SSD-kiintolevyä. Käytännön räkkitilaa Fugu vie 42 räkkiunitin kaapistamme tällä hetkellä 11 räkkiunittia eli käytännön mitoissa vajaa puoli metriä.

Fugu-levypalvelin sisältää kaksi ohjainyksikköä, SSD-hyllyn ja aluksi yhden varsinaisen 5U kokoisen levyhyllyn. Yhdistyksen muuhun infrastruktuuriin liittytään yhdistyksen 10GE verkkoinfran kautta.

Fugu-levypalvelin sisältää kaksi ohjainyksikköä, SSD-hyllyn ja aluksi yhden varsinaisen 5U kokoisen levyhyllyn. Yhdistyksen muuhun infrastruktuuriin liittytään yhdistyksen 10GE verkkoinfran kautta.

Fugu saapui Nebulan konesaliin toukokuun lopussa, jonka jälkeen alkoi työmaa.

Työmaan suurin ongelma on nykyisten datojen siirto Fugulle. Suurin osa Siian datasta on jäsenten käyttöön tarkoitetun Siilo-tallennustilan tiedostoja. Toisiksi suurin yksittäinen datamassa koostuu Maanmittauslaitoksen avoimesta paikkatietoaineistosta, jota julkaistaan osoitteessa kartat.kapsi.fi.

ZFS jää myös uuden järjestelmän pääasialliseksi tiedostojärjestelmäksi. Itse Fugu tarjoaa ulospäin ainoastaan iSCSI-blokkilevyjä, joten tiedostojärjestelmä täytyy toteuttaa muulla tavoin. Kapsin käytössä on pitkään ollut NFS-pohjainen palvelinten välille jaettu levytila, joka on vanha, mutta toimiva teknologia. Puutteena on kuitenkin erityisesti metadata-tietojen hitaus suuria tiedostomääriä käsitellessä. Tämä tuli vastaan myös pyrkiessämme virtualisoimaan ZFS:ää toteuttavan NAS-koneen jakamaan NFS:ää yhdistyksen jäsenten käytössä oleville koneille. Tässä kohti varsin iso prioriteetti on kuitenkin saada Siilon varaama osa Siika-levyjärjestelmää poistettua käytöstä.

Fugun looginen topologia

Fugun looginen topologia: Fugu itsessään tarjoaa blokkilevyä iSCSI:n ylitse. Siilo on esimerkki jaetusta isokokoisesta yksittäisestä tiedostojärjestelmästä, jota käytetään yhtäaikaisesti useammalta koneelta. Toteutuksena Kapsilla käytetään ZFS:ää, joka on virtualisoituna nyt siilo.kapsi.fi -palvelimella.

Haluaisimme siirtää kaiken datan nopeasti Fugulle. Tämä ei tietenkään onnistu nopeasti tai varsinkaan yksinkertaisesti. Ensimmäinen yritys oli siirtää koko siilo-datamassa kerralla hyödyntäen ZFS:n tiedostojärjestelmätason lähetys- ja vastaanotto-ominaisuutta (zfs send ja zfs recv). Ongelmaksi muodostui juurikin datan pirstaloitumisesta aiheutunut erittäin hidas siirtonopeus, jonka puitteissa siirto olisi vienyt noin 3 kuukautta aikaa. Tämä ei aikataulullisesti käynyt päinsä, vaan migraatio päätettiin tehdä tiedostotasolla käyttäen perinteisempää rsync-menetelmää.

Rsync-menetelmän etu on siinä, että käyttäjät voidaan siirtää uutteen järjestelmään yksitellen, jolloin yhden käyttäjän kokema palvelukatko on hyvin lyhyt, vain jotain minuutteja. Lisäksi pystyimme käyttämään yhdistyksen toimihenkilöiden siilo-levytiloja koekaniinina ja korjaamaan varsinaisen migraation aikana tulleita virhetilanteita jo hyvin aikaisessa vaiheessa.

Tämän hetken tilanne – Siilon migraatio

Nyt uusi Siilo-levytila Fugu-palvelimen tarjoamana on käytössä jo 4/5 käyttäjistä eli tämän hetken käyttäjämäärällä noin 4800 käyttäjää ja sisältäen noin 137 teratavua dataa. Migraatio ei ole mennyt täysin ilman ongelmia. Uusi virtualisoitu ZFS-tiedostojärjestelmää tarjoava siilo-virtuaalikone on odotettua hitaampi ja vie huomattavan määrän CPU-aikaa suhteessa vanhaan järjestelmään.  Seuraavaksi parannamme virtualisoidun siilo.kapsi.fi -palvelimen suorituskykyä päivittämällä ZFS on Linux -ajurin sekä verkkoajurit uudempaan ja lisäämällä koneen käyttöön CPU coreja.

Suorituskykyyn liittyvien ongelmien ratkomisen jälkeen jatkamme migraatiota siirtämällä myös nykyiset käyttäjien varsinaiset kotihakemistot vastaavaan virtualisoidun ZFS on Linux -palvelimen palveltavaksi. Itse Fugu on osoittautunut erittäin nopeaksi ja toimivaksi ratkaisuksi. Kapsin ympäristössä haasteena on nimenomaisesti isokokoinen ja monelle koneelle jaettu yksittäinen tiedostojärjestelmä. Tästä on joka tapauksessa hyvä jatkaa ja kehittää yhdistyksen palveluita edelleen.