Kiilto | |
---|---|
Tyyppi | hajautettu tiedostojärjestelmä ja ilmainen ja avoimen lähdekoodin ohjelmisto |
Tekijä | Peter Braam [d] |
Kehittäjä | DataDirect-verkot [d] |
Sisään kirjoitettu | C [1] |
Käyttöjärjestelmä | Linux-ydin |
Ensimmäinen painos | 16. joulukuuta 2003 |
uusin versio |
|
Lisenssi | GNU GPL 2 |
Verkkosivusto | luster.org _ |
Luster on massiivisesti rinnakkain hajautettu tiedostojärjestelmä, jota käytetään yleisesti suuren mittakaavan klusterilaskentaan . Nimi Luster on portmanteau sanoista L inux ja cl uster [3] . GNU GPL :llä julkaistu projekti tarjoaa tehokkaan tiedostojärjestelmän klustereille, joissa on kymmeniä tuhansia verkkosolmuja ja petatavuja tiedon tallennustilaa.
Luster-tiedostojärjestelmiä käytetään tietokoneklustereissa pienistä työryhmäklustereista suuriin maantieteellisesti hajallaan oleviin klustereihin. Viisitoista maailman "Top 30" -supertietokoneesta käyttää Luster-tiedostojärjestelmiä, mukaan lukien maailman nopein supertietokone, K-tietokone [4] .
Luster-tiedostojärjestelmät voivat tukea kymmeniä tuhansia asiakasjärjestelmiä , kymmeniä petatavuja (PB) tallennustilaa ja satoja gigatavuja sekunnissa (GB/s) I/O-suorituskykyä. Lusterin suuren skaalautuvuuden vuoksi liiketoiminta-alueet, kuten Internet-palveluntarjoajat, rahoituslaitokset sekä öljy- ja kaasuteollisuus, asentavat Luster-tiedostojärjestelmiä datakeskuksiinsa [5] .
Luster-tiedostojärjestelmäarkkitehtuurin kehitti Carnegie Mellonin yliopiston vanhempi tutkija Peter Braam osana tutkimusprojektia vuonna 1999 . Braam lähti perustamaan oman yrityksen, Cluster File Systemsin , joka julkaisi Luster 1.0:n vuonna 2003. Vuonna 2007 Sun Microsystems osti Cluster File Systemsin [6] [7] ja sisällytti Lusterin huippuluokan järjestelmäohjelmistopakettiinsa aikoen hyödyntää Lusterin teknologiaa Sunin ZFS - tiedostojärjestelmässä ja Solaris-käyttöjärjestelmässä . Marraskuussa 2008 Braam jätti Sun Microsystemsin työskentelemään toisen tiedostojärjestelmän parissa ja jätti Luster-arkkitehtuurin suunnittelun Eric Bartonille ja Andreas Dilgerille .
Vuonna 2010 Oracle osti Sunin ja otti haltuunsa Lusterin tuki- ja kehitysliiketoiminnan. Huhtikuussa 2010 Oracle ilmoitti aikovansa rajoittaa uuden Luster 2.0:n maksullisen tuen olevan saatavilla vain Oraclen laitteille tai Oraclen hyväksymien toimittajien kehittämille laitteille. Samaan aikaan Luster pysyi kaikkien käyttäjien saatavilla GPL-lisenssin alaisina, ja Luster 1.8:n nykyiset asiakkaat saivat edelleen teknistä tukea Oraculta [8] .
Joulukuussa 2010 Oracle ilmoitti lopettavansa Lusterin kehittämisen. Luster 1.8:n julkaisu on siirretty ylläpitopalveluun [9] , mikä aiheutti epävarmuutta tiedostojärjestelmän tulevasta kehityksestä. Tämän ilmoituksen mukaan uusia Lusterin versioita kehittää ja tukee kehittäjäyhteisö, mukaan lukien Whamcloud [10] , Xyratex [11] , OpenSFS, European Open Filesystems (OFS) SCE ja muut. Samana vuonna Eric Barton ja Andreas Dilger jättivät Oraclen perustamaan Whamcloudin , Lusterin kehittämiseen keskittyneen startup-yrityksen [12] .
Heinäkuussa 2012 Intel osti Whamcloudin [13] [14] . Tämä tapahtui sen jälkeen, kun Whamcloud voitti Yhdysvaltain energiaministeriön kanssa sopimuksen Lusterin laajentamisesta osana FastForward-nimisen exaflop-laskentaprojektin ensimmäistä vaihetta vuoteen 2018 asti [15] . Sen jälkeen OpenSFS siirsi kaikki Lusterin kehityssopimukset Intelille.
Luster-tiedostojärjestelmä asennettiin ensimmäisen kerran tuotantokäyttöön maaliskuussa 2003 MCR Linux Clusteriin LLNL:ssä [16] , joka oli yksi aikansa tehokkaimmista supertietokoneista [17] .
Luster 1.2.0, joka julkaistiin maaliskuussa 2004, tuki Linux 2.6 -ydintä, "size glimpse" -ominaisuutta, joka estää kirjoitettavien tiedostojen lukituksen kumoamisen, ja asiakaspuolen tietojen takaisinkirjoitusvälimuistin kirjanpitoa.
Marraskuussa 2004 julkaistu Luster 1.4.0 tarjosi protokollien yhteensopivuuden versioiden välillä, tuen InfiniBand -verkkotoiminnalle ja tuen laajuuksille ja mballocille ldiskfs -levytiedostojärjestelmässä .
Luster 1.6.0, joka julkaistiin huhtikuussa 2007, tuettu asennuskokoonpanoa ("mountconf"), joka mahdollistaa palvelimien määrittämisen "mkfs"- ja "mount"-määritteillä, tuettu objektitallennuskohteiden (OST) dynaamista lisäämistä sekä skaalautuvan hallinnan hajautettu lukitus manager Luster (Lustre distributed lock manager - LDLM) symmetrisille moniprosessoreille (SMP) ja tuki myös vapaan tilan hallintaa objekteja jaettaessa.
Toukokuussa 2009 julkaistu Luster 1.8.0 sisälsi OSS-lukuvälimuistin, parannetun useiden vikojen palautuksen, lisäsi heterogeenisen perustallennushallinnan OST-poolien kautta, mukautuvia verkon aikakatkaisuja ja versiopohjaisen palautuksen. Se oli myös siirtymävaiheen julkaisu, joka tarjosi yhteentoimivuuden sekä Luster 1.6:n että Luster 2.0:n kanssa [18] .
Luster 2.0.0, joka julkaistiin elokuussa 2010, sisälsi uudelleen kirjoitetun metatietopalvelinpinon, joka järjesti klusteroitujen metatietojen (Clustered Metadata - CMD) perustan, mikä mahdollisti Lusterin metatietojen jakamisen useille metatietopalvelimille, uusi asiakas I/O-pino. (Client IO-pino - CLIO) siirrettäviksi muiden asiakaskäyttöjärjestelmien kanssa, kuten Mac OS , Microsoft Windows , Solaris , sekä abstrakti objektitallennuslaite (Object Storage Device - OSD) siirrettäviksi muiden tiedostojärjestelmien, kuten ZFS :n kanssa .
Luster-tiedostojärjestelmä ja siihen liittyvät avoimen lähdekoodin ohjelmistot ovat omaksuneet monet organisaatiot. Esimerkiksi sekä Red Hat että SUSE ( Novell ) tarjoavat Linux-ytimiä, jotka toimivat asiakaskoneissa ilman lisäosia, mikä helpottaa käyttöönottoa.
Luster-tiedostojärjestelmä sisältää kolme pääasiallista toiminnallista moduulia:
MDT-, OST- ja asiakaskomponentit voivat sijaita samassa solmussa, mutta asennettuna ne sijoitetaan yleensä erillisiin solmuihin, jotka kommunikoivat verkon yli. Luster Network (LNET) -kerros tukee useita viestintäalustoja, mukaan lukien Infiniband , TCP/IP over Ethernet ja muut verkot, Myrinet , Quadrics ja omat verkkoteknologiat. Luster hyödyntää myös etä-DMA :ta mahdollisuuksien mukaan lisätäkseen suorituskykyä ja vähentääkseen suorittimen käyttöä.
Kaksoiskappaleiden MDT- ja OST-tiedostojärjestelmien tallennustila on jaettu alaosiin, ja se voidaan järjestää loogisen taltion ja/tai RAID -hallinnan avulla, joka on tyypillisesti alustettu ext4 -tiedostojärjestelmään . Luster OSS- ja MDS-palvelimet lukevat, kirjoittavat ja muokkaavat tietoja näiden tiedostojärjestelmien käyttöön ottamassa muodossa.
OST on omistettu tiedostojärjestelmä, joka vie rajapinnan objektin tavualueille luku-/kirjoitustoimintoja varten. MDT on omistettu tiedostojärjestelmä, jonka avulla voit hallita tiedostojen käyttöä ja kertoa asiakkaille, mitkä objektit ovat osa tiedostorakennetta. MDT ja OST käyttävät tällä hetkellä ext4 : n parannettua versiota nimeltä ldiskfs tietojen tallentamiseen . Vuonna 2008 Sun aloitti projektin Lusterin siirtämiseksi Sun ZFS /DMU:han sisäistä tallennustilaa varten [19] , joka jatkui avoimen lähdekoodin projektina [20] .
Kun asiakas käyttää tiedostoa, tiedoston nimi etsitään MDS:stä. Tämän seurauksena tiedosto joko luodaan asiakkaan puolesta tai olemassa olevan tiedoston sijainti palautetaan asiakkaalle. Luku- tai kirjoitusoperaatioissa asiakas tulkitsee objektin loogisen aseman sijainnin , mikä kartoittaa poikkeaman ja koon yhteen tai useampaan objektiin, joista jokainen sijaitsee erillisessä OST:ssa. Tämän jälkeen asiakas lukitsee joukon tiedostoja käytettäväksi ja suorittaa yhden tai useamman rinnakkaisen lukemisen tai kirjoittamisen suoraan OST:iin. Tämä lähestymistapa poistaa pullonkaulan asiakkaan vuorovaikutuksesta OST:n kanssa, joten asiakkaan lukemiseen ja kirjoittamiseen käytettävissä oleva kokonaiskaistanleveys skaalautuu lähes lineaarisesti tiedostojärjestelmän OST:ien määrän kanssa.
Asiakkaat eivät muokkaa OST-tiedostojärjestelmän objekteja suoraan, vaan delegoivat tämän tehtävän OSS:lle. Tämä lähestymistapa tarjoaa skaalautuvuuden suurille klusteille ja supertietokoneille ja parantaa turvallisuutta ja luotettavuutta. Sitä vastoin jaettujen tiedostojärjestelmien, kuten yleisen tiedostojärjestelmän ja OCFS:n, on tuettava kaikkien tiedostojärjestelmän asiakkaiden suoraa pääsyä tallennustilaan, mikä lisää väärien asiakkaiden aiheuttaman tiedostojärjestelmän vioittumisen riskiä.
Tyypillisen Lusterin asennuksen aikana Linux-asiakkaaseen Lusterin tiedostojärjestelmän ohjainmoduuli ladataan ytimeen ja tiedostojärjestelmä asennetaan kuten mikä tahansa muu paikallinen tai verkkotiedostojärjestelmä. Asiakassovellukset näkevät yhden yhtenäisen tiedostojärjestelmän, vaikka se voi koostua kymmenistä tuhansista yksittäisistä palvelimista ja MDT/OST-tiedostojärjestelmistä.
Joissakin Massively Parallel Processor (MPP) -prosessoreissa laskentaprosessorit voivat käyttää Luster-tiedostojärjestelmää ohjaamalla I/O-pyyntönsä omistettuun I/O-solmuun, joka on määritetty Luster-asiakkaaksi. Tätä lähestymistapaa käytetään Blue Genessä [21] , joka on asennettu Livermoren kansalliseen laboratorioon .
Toinen viimeaikainen lähestymistapa on liblustre -kirjasto, joka tarjoaa käyttäjätilan sovelluksille suoran pääsyn tiedostojärjestelmään. Tämä on käyttäjätason kirjasto, jonka avulla asiakaslaskentaprosessorit voivat liittää ja käyttää Luster-tiedostojärjestelmää. Liblustren avulla laskentaprosessorit voivat käyttää Luster-tiedostojärjestelmää, vaikka työn aloittanut palvelinsolmu ei olisi Luster-asiakas. Liblustre-kirjasto mahdollistaa tietojen siirtämisen suoraan sovellustilan ja Luster OSS:n välillä ilman välikopiota tiedoista ytimen kautta, jolloin prosessorit voivat käyttää Luster-tiedostojärjestelmää alhaisella viiveellä ja suurella suorituskyvyllä.
Perinteisissä UNIX-levytiedostojärjestelmissä inode-tietorakenne sisältää perustiedot kustakin tiedostosta, kuten missä tiedoston sisältämä data on tallennettu. Luster-tiedostojärjestelmä käyttää myös inodeja, mutta MDT-inodi osoittaa yhteen tai useampaan tiedostoon liittyvään OST-objektiin, ei tietolohkoihin. Nämä objektit on toteutettu OST-tiedostoina. Kun asiakas avaa tiedoston, avaustoiminto välittää joukon objektiosoittimia ja niiden sijaintia MDS:stä asiakkaalle, minkä jälkeen asiakas voi olla suoraan vuorovaikutuksessa objektia pitävän OSS-isäntäkoneen kanssa, jolloin asiakas voi suorittaa I/O:n tiedosto ilman muuta vuorovaikutusta MDS:n kanssa.
Jos MDT-inodiin liittyy vain yksi OST-objekti, tämä objekti sisältää kaikki Luster-tiedoston tiedot. Jos tiedostoon liittyy useampi kuin yksi objekti, tiedoston tiedot "jaetaan" objektien kesken, kuten RAID 0 . Tiedoston jakaminen useisiin objekteihin tarjoaa merkittäviä suorituskykyetuja. Kun käytetään jakamista, tiedostojen enimmäiskokoa ei ole rajoitettu yksittäisen kohteen kokoon. Kapasiteetti ja kokonaisI/O-kaistanleveys skaalautuvat niiden OST:iden lukumäärän mukaan, joilla tiedosto on jaettu. Lisäksi, koska jokaisen objektin lukitsemista jokaiselle OST:lle hallitaan itsenäisesti, osien lisääminen (OST) skaalaa I/O-lukitusominaisuudet tiedostoon suhteellisesti. Jokaisella tiedostojärjestelmän tiedostolla voi olla erilainen jaettu sijainti, jotta kapasiteetti ja suorituskyky voidaan säätää optimaalisesti kullekin tiedostolle.
Luster käyttää VMS - tyylistä hajautettua lukitushallintaa suojaamaan jokaisen tiedoston tietojen eheyttä ja metatietoja. Luster-tiedoston käyttö ja muokkaaminen on täysin johdonmukaista kaikilla asiakkailla. MDT hallitsee metatietolukot tallentamalla tiedoston inodin käyttämällä resurssin nimenä 128-bittistä Luster File Identifier -tunnusta (FID, joka koostuu järjestysnumerosta ja objektitunnisteesta). Metatietolukot on jaettu useisiin osiin, jotka suojaavat tiedostojen etsintäprosessia (tiedoston omistaja ja ryhmä, käyttöoikeudet ja tila sekä ACL , inode-tila (hakemiston koko, hakemiston sisältö, linkkien määrä, aikaleimat) ja sijainti (tiedoston jakaminen). voi hankkia useita metatietolukon osia yhdellä inodilla yhdellä RPC-pyynnöllä, mutta tällä hetkellä myönnetään vain inode-lukulukit. MDS hallitsee kaikki inodin muutokset välttääkseen resurssikilpailua , ja tällä hetkellä vain yksi solmu saa hankkia inoden kirjoituslukot.
Tiedoston datalukkoja hallitsee OST, johon jokainen tiedostoobjekti on osioitu, käyttämällä tavujen laajuuden lukkoja. Asiakkaat voivat hankkia päällekkäisiä lukulukituksia tiedoston osiin tai koko tiedostoon, mikä mahdollistaa useiden samanaikaisten lukijoiden käytön samassa tiedostossa ja ei-päällekkäisiä kirjoituslukituksia tiedoston alueilla. Tämä mahdollistaa tiedoston samanaikaisen luku-/kirjoitusoikeuden monille Luster-asiakkaille välttäen tiedoston I/O-ongelmat. Käytännössä Linux-asiakkaat hallitsevat tietovälimuistiaan sivuyksiköissä , joten ne pyytävät lukituksia, jotka ovat aina sivun koon kokonaislukukerrannaisia (useimmissa asiakaskoneissa 4096 tavua). Kun asiakas pyytää laajuuslukkoa, OST voi myöntää lukon suuremmassa määrin vähentääkseen asiakkaan tekemien lukituspyyntöjen määrää. Myönnetyn lukon todellinen koko riippuu useista tekijöistä, mukaan lukien jo hankittujen lukkojen määrä, ristiriitaisten kirjoituslukkojen olemassaolo ja lukituspyyntöjen määrä. Asetettu lukko ei koskaan ole pienempi kuin vaadittu laajuus. OST-laajuuden lukot käyttävät Luster FID:tä lukittavan resurssin nimenä. Koska laajuuslukkopalvelimien määrä kasvaa tiedostojärjestelmän OST:iden määrän myötä, tämä lisää myös yhdistetyn tiedostojärjestelmän ja yksittäisen tiedoston lukituksen suorituskykyä, jos se jaetaan useisiin OST:ihin.
Luster-tiedostojärjestelmällä varustetussa klusterissa palvelimia ja asiakkaita yhdistävä järjestelmäverkko toteutetaan Luster Networkingin (LNET) kautta, joka tarjoaa Luster-tiedostojärjestelmän edellyttämän viestintäinfrastruktuurin. Levymuisti yhdistetään MDS:ään ja OSS:ään perinteisellä SAN-tekniikalla .
LNET tukee monia tunnettuja verkkotyyppejä, kuten InfiniBand ja IP, mikä mahdollistaa samanaikaisen pääsyn erityyppisiin verkkoihin niiden välisen reitityksen kanssa. Etä-DMA on käytössä, kun sen taustalla oleva verkko, kuten Quadrics Elan, Myrinet ja InfiniBand, tukee sitä. Korkea saatavuus- ja palautusominaisuudet mahdollistavat läpinäkyvän palautuksen vikasietopalvelimia käytettäessä.
LNET tarjoaa Ethernetin (GigE) kaistanleveyden yli 100 MB/s [22] , suorituskyvyn jopa 3 Gt/s InfiniBand QDR-linkkien kautta ja yli 1 Gt/s 10GigE-liitäntöjen kautta.
Luster-tiedostojärjestelmän korkea saatavuus sisältää vankan vikasieto- ja palautusmekanismin, joka käynnistää palvelimet läpinäkyvästi uudelleen vian sattuessa. Luster-ohjelmiston pienempien versioiden versioiden yhteensopivuus mahdollistaa palvelimen päivittämisen sammuttamalla sen (tai vaihtamalla valmiuspalvelimeen), päivittämisen ja käynnistämällä palvelimen uudelleen, jolloin kaikki aktiiviset työt jatkuvat ja havaitsevat vain viiveen, kun tallennustila siirretään. valmiuspalvelimelle.
Luster MDS on määritetty aktiiviseksi/passiiviseksi pariksi, kun taas OSS:t otetaan yleensä käyttöön aktiivisessa/aktiivisessa kokoonpanossa, mikä tarjoaa luotettavuuden ilman merkittävää ylikuormitusta. Usein valmiustilan MDS on aktiivinen MDS toiselle Luster-tiedostojärjestelmälle, joten klusterissa ei ole käyttämättömiä solmuja.
Lusteria käytetään monissa TOP500 supertietokoneissa ja suurissa klustereissa . Viisitoista maailman 30 tehokkaimmasta supertietokoneesta käyttää Luster-tiedostojärjestelmää, mukaan lukien maailman nopein supertietokone K-tietokone RIKENissä [4] ja toiseksi nopein supertietokone (tehokkain marraskuusta 2010 kesäkuuhun 2011), Tianhe-1 klo. National Supercomputing Center Tianjinissa (Kiinan kansantasavalta). Muita Luster-tiedostojärjestelmää käyttäviä supertietokoneita ovat kolmanneksi suurin Jaguar Oak Ridge National Laboratoryssa (ORNL) ja National Energy Research Scientific Computing Center -järjestelmät, jotka sijaitsevat Lawrence Berkeley National Laboratoryssa (LBNL), Lawrence Livermore National Laboratory (LLNL), Pacific Northwest National . Laboratory , Texas Advanced Computing Center ja NASA [23] Pohjois-Amerikassa, Tokyo Institute of Technology [24] Aasiassa ja yksi suurimmista järjestelmistä Euroopassa - CEA [25] .
Lusterin kaupallista tukea tarjoavat laaja valikoima toimittajia. Useimmissa tapauksissa tukea tarjotaan valmistajan myymälle tietokonejärjestelmälle tai tallennuslaitteistolle. Osittainen luettelo toimittajista, jotka myyvät laskentaa ja tallennusta Lusterin kanssa, sisältävät Cray , Dell , Hewlett-Packard , BULL , SGI ja muut. Sun Microsystems ei enää toimita Lusteria sisältäviä järjestelmiä. Tärkeimmät Luster-yhteensopivia tallennuslaitteita myyvät toimittajat ovat Data Direct Networks (DDN), Dell , Terascala, Xyratex ja muut.
Amazon Web Services -alusta tarjoaa Amazon FSx for Lusterin, täysin hallitun palvelun Amazon S3 : n ja alkuperäisten (on-premises) tietojen käsittelyyn.
Sun Microsystems ( Oraclen haltuunotto ) | |
---|---|
Laitteet | |
Ohjelmisto |
|
Tietovarasto | |
Suorituskykyinen tietojenkäsittely |
|
Tutkimus | |
koulutus |
|
Yhteisö |