Luster (netværksfilsystem)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 11. juli 2019; checks kræver 10 redigeringer .
Glans
Type distribueret filsystem og gratis og open source-software
Forfatter Peter Braam [d]
Udvikler DataDirect-netværk [d]
Skrevet i C [1]
Operativ system Linux kerne
Første udgave 16. december 2003
nyeste version
Licens GNU GPL 2
Internet side luster.org

Luster  er et massivt parallelt distribueret filsystem, der almindeligvis bruges til storskala cluster computing . Navnet Luster er en sammensætning af ordene L inux og cl uster [3] . Udgivet under GNU GPL giver projektet et højtydende filsystem til klynger med titusindvis af netværksknuder og petabytes informationslagring.

Luster-filsystemer bruges i computerklynger lige fra små arbejdsgruppeklynger til store geografisk spredte klynger. Femten af ​​verdens "Top 30" supercomputere bruger Luster-filsystemer, inklusive verdens hurtigste supercomputer, K-computeren [4] .

Luster-filsystemer kan understøtte titusindvis af klientsystemer , titusindvis af petabyte (PB'er) lagerplads og hundredvis af gigabyte pr. sekund (GB/s) I/O-gennemstrømning. På grund af Lusters høje skalerbarhed installerer forretningsområder som internetudbydere, finansielle institutioner og olie- og gasindustrien Luster-filsystemer i deres datacentre [5] .

Historie

Luster-filsystemarkitekturen blev udviklet som en del af et forskningsprojekt i 1999 af Peter Braam, en senior fellow ved Carnegie Mellon University . Braam rejste for at starte sit eget firma, Cluster File Systems , som udgav Luster 1.0 i 2003. I 2007 købte Sun Microsystems Cluster File Systems [6] [7] og inkluderede Luster i sin avancerede systemsoftwarepakke, med det formål at drage fordel af Lusters teknologi i Suns ZFS -filsystem og Solaris-operativsystemet . I november 2008 forlod Braam Sun Microsystems for at arbejde på et andet filsystem, og overlod designet af Luster-arkitekturen til Eric Barton og Andreas Dilger .

I 2010 købte Oracle Sun og overtog Luster support- og udviklingsforretningen. I april 2010 annoncerede Oracle sin hensigt om at begrænse betalt support til den nye Luster 2.0 til kun at være tilgængelig på Oracle hardware eller hardware udviklet af Oracle-godkendte leverandører. Samtidig forblev Luster tilgængelig for alle brugere under GPL-licensen, og eksisterende kunder af Luster 1.8 modtog fortsat teknisk support fra Oracle [8] .

I december 2010 meddelte Oracle, at det stoppede udviklingen af ​​Luster. Udgivelsen af ​​Luster 1.8 er flyttet til service, der kun er vedligeholdelse [9] , hvilket skabte usikkerhed om den fremtidige udvikling af filsystemet. Ifølge denne meddelelse er nye versioner af Luster udviklet og understøttet af et fællesskab af udviklere, herunder Whamcloud [10] , Xyratex [11] , OpenSFS, European Open Filesystems (OFS) SCE og andre. Samme år forlod Eric Barton og Andreas Dilger Oracle for at stifte Whamcloud , en startup med fokus på at udvikle Luster [12] .

I juli 2012 blev Whamcloud opkøbt af Intel [13] [14] . Dette skete efter, at Whamcloud vandt en kontrakt for det amerikanske energiministerium om at udvide Luster som en del af den første fase af et exaflop computing- projekt kaldet FastForward gennem 2018 [15] . Derefter overførte OpenSFS alle kontrakter om udvikling af Luster til Intel.

Udgivelseshistorik

Luster-filsystemet blev først installeret til produktionsbrug i marts 2003 på MCR Linux Cluster på LLNL [16] , en af ​​tidens mest kraftfulde supercomputere [17] .

Luster 1.2.0, udgivet i marts 2004, understøttede Linux 2.6-kernen, "size glimpse"-funktionen for at undgå tilbagekaldelse af låse på skrivbare filer, og klientsidens data-tilbageskrivningscacheregnskab.

Luster 1.4.0, udgivet i november 2004, gav protokolkompatibilitet mellem versioner, understøttelse af InfiniBand -netværk og understøttelse af omfang og mballoc i ldiskfs -diskfilsystemet .

Luster 1.6.0, udgivet i april 2007, understøttede mount-konfiguration ("mountconf"), der tillader servere at blive konfigureret med "mkfs" og "mount", understøttet dynamisk tilføjelse af objektlagermål (OST), inkluderet en skalerbar manager-distribueret lås manager Luster (Lustre distributed lock manager - LDLM) til symmetriske multiprocessorer (SMP), og understøttede også håndteringen af ​​ledig plads ved distribution af objekter.

Luster 1.8.0, udgivet i maj 2009, gav OSS Read Cache, forbedret gendannelse af flere fejl, tilføjet grundlæggende heterogen lagerstyring via OST-pools, adaptive netværkstimeouts og versionsbaseret gendannelse. Det var også en overgangsudgivelse, der gav interoperabilitet med både Luster 1.6 og Luster 2.0 [18] .

Luster 2.0.0, udgivet i august 2010, indeholdt en omskrevet metadataserverstak, der organiserede grundlaget for klyngede metadata (Clustered Metadata - CMD), hvilket gjorde det muligt at distribuere Luster-metadata på tværs af flere metadataservere, en ny klient I/O-stak (Client IO stack - CLIO) til portabilitet med andre klientoperativsystemer, såsom Mac OS , Microsoft Windows , Solaris , samt en abstrakt objektlagerenhed (Object Storage Device - OSD) til portabilitet med andre filsystemer, såsom ZFS .

Luster-filsystemet og dets tilhørende open source-software er blevet vedtaget af mange organisationer. For eksempel tilbyder både Red Hat og SUSE ( Novell ) Linux-kerner, der kører på klienter uden tilføjelser, hvilket gør implementeringen nemmere.

Arkitektur

Luster-filsystemet indeholder tre hovedfunktionsmoduler:

MDT-, OST- og klientkomponenterne kan ligge på den samme node, men når de er installeret, placeres de normalt på separate noder, der kommunikerer over netværket. Luster Network (LNET) laget understøtter flere kommunikationsplatforme, inklusive Infiniband , TCP/IP over Ethernet og andre netværk, Myrinet , Quadrics og proprietære netværksteknologier. Luster udnytter også ekstern DMA , hvor det er muligt, for at øge gennemløbet og reducere CPU-brug.

Lageret, der bruges til de duplikerede MDT- og OST-filsystemer, er underopdelt og kan organiseres gennem logisk volumen- og/eller RAID- styring , typisk formateret i ext4- filsystemet . Luster OSS- og MDS-servere læser, skriver og ændrer data i det format, som disse filsystemer introducerer.

OST er et dedikeret filsystem, der eksporterer en grænseflade til objektbyteregioner til læse/skrive-operationer. MDT er et dedikeret filsystem til at kontrollere adgangen til filer og fortælle klienter, hvilke objekt(er) der er en del af filstrukturen. MDT og OST bruger i øjeblikket en forbedret version af ext4 kaldet ldiskfs til datalagring . I 2008 startede Sun et projekt for at portere Luster til Sun ZFS /DMU til intern lagring [19] , der fortsatte som et open source-projekt [20] .

Når en klient får adgang til en fil, slås filnavnet op i MDS. Som følge heraf oprettes filen enten på vegne af klienten, eller placeringen af ​​den eksisterende fil returneres til klienten. Ved læse- eller skriveoperationer fortolker klienten objektets logiske volumenplacering , som kortlægger forskydningen og størrelsen til et eller flere objekter, hver placeret på en separat OST. Klienten låser derefter en række filer til at arbejde med og udfører en eller flere parallelle læsninger eller skrivninger direkte til OST. Denne tilgang fjerner flaskehalsen i klientens interaktion med OST'en, så den samlede båndbredde, der er tilgængelig for klienten til læsning og skrivning, skaleres næsten lineært med antallet af OST'er i filsystemet.

Klienter ændrer ikke OST-filsystemobjekter direkte og uddelegerer denne opgave til OSS. Denne tilgang giver skalerbarhed for store klynger og supercomputere og forbedrer sikkerheden og pålideligheden. I modsætning hertil skal blokdelte filsystemer såsom Global File System og OCFS understøtte direkte adgang til lager for alle klienter på filsystemet, hvilket øger risikoen for korruption af filsystemet af de forkerte klienter.

Implementering

Under en typisk installation af Luster på en Linux-klient indlæses Luster filsystemdrivermodulet i kernen, og filsystemet monteres som ethvert andet lokalt eller netværksfilsystem. Klientapplikationer ser ét samlet filsystem, selvom det kan være sammensat af titusindvis af individuelle servere og MDT/OST-filsystemer.

På nogle Massively Parallel Processorer (MPP'er) kan computerprocessorer få adgang til Luster-filsystemet ved at omdirigere deres I/O-anmodninger til en dedikeret I/O-node, der er konfigureret som en Luster-klient. Denne tilgang bruges i Blue Gene [21] installeret på Livermore National Laboratory .

En anden nyere tilgang er liblustre- biblioteket , som giver brugerrumsapplikationer direkte adgang til filsystemet. Dette er et bibliotek på brugerniveau, der gør det muligt for klientcomputere at montere og bruge Luster-filsystemet. Ved at bruge liblustre kan computerprocessorer få adgang til Luster-filsystemet, selvom servernoden, der startede jobbet, ikke er en Luster-klient. Liblustre-biblioteket gør det muligt at flytte data direkte mellem applikationsplads og Luster OSS uden behov for en mellemkopi af data gennem kernen, hvilket giver processorer mulighed for at få adgang til Luster-filsystemet med lav latenstid og høj gennemstrømning.

Dataobjekter og datadeling

I traditionelle UNIX-diskfilsystemer indeholder inodedatastrukturen grundlæggende information om hver fil, såsom hvor dataene i filen er gemt. Luster-filsystemet bruger også inoder, men en MDT-inode peger på et eller flere OST-objekter forbundet med en fil, ikke datablokke. Disse objekter er implementeret som OST-filer. Når en klient åbner en fil, sender åbningsoperationen et sæt objektpointere og deres placering fra MDS til klienten, hvorefter klienten direkte kan interagere med OSS-værten, der holder objektet, hvilket giver klienten mulighed for at udføre I/O til filen uden yderligere interaktion med MDS.

Hvis der kun er ét OST-objekt tilknyttet MDT-inoden, indeholder det objekt alle data i Luster-filen. Hvis mere end ét objekt er knyttet til en fil, "deles" filens data mellem objekterne, svarende til RAID 0 . At opdele en fil på tværs af flere objekter giver betydelige ydeevnefordele. Når der bruges opdeling, er den maksimale filstørrelse ikke begrænset til størrelsen af ​​et enkelt mål. Kapaciteten og den samlede I/O-båndbredde skaleres med antallet af OST'er, hvorpå filen er opdelt. Da låsningen af ​​hvert objekt for hver OST styres uafhængigt, skalerer tilføjelse af dele (OST) I/O-låsefunktionerne til filen proportionalt. Hver fil i filsystemet kan have en forskellig delt placering, så kapacitet og ydeevne kan indstilles optimalt til hver fil.

Blokering

Luster bruger en distribueret låsemanager i VMS -stil til at beskytte dataintegriteten og metadataene for hver fil. Adgang og ændring af Luster-filen er fuldstændig sammenhængende på tværs af alle klienter. Metadatalåse administreres af MDT, der gemmer inoden af ​​filen ved hjælp af en 128-bit Luster File Identifier (FID bestående af et sekvensnummer og objektidentifikator), der bruges som ressourcenavn. Metadatalåse er opdelt i flere dele, der beskytter filopdagelsesprocessen (filejer og -gruppe, tilladelser og tilstand, samt ACL , inodetilstand (mappestørrelse, mappeindhold, linkantal, tidsstempler) og placering (filopdeling). kan erhverve flere dele af en metadatalås på en enkelt inode med en enkelt RPC-anmodning, men i øjeblikket tildeles kun inodelæselåse. MDS administrerer alle inodemodifikationer for at undgå ressourcekonflikt, og kun én node har i øjeblikket tilladelse til at erhverve inodeskrivelåse.

Filens datalåse styres af den OST, som hvert filobjekt er partitioneret på, ved hjælp af byte-udstrækningslåse. Klienter kan erhverve overlappende læselåse på en del af eller hele en fil, hvilket tillader flere samtidige læsere på den samme fil, og ikke-overlappende skrivelåse på områder af en fil. Dette gør det muligt for mange Luster-klienter at have samtidig læse-/skriveadgang til filen, hvilket undgår fil-I/O-problemer. I praksis administrerer Linux-klienter deres datacache i enheder af sider , så de vil anmode om låse, der altid er et heltalsmultipel af sidestørrelsen (4096 bytes på de fleste klienter). Når en klient anmoder om en omfangslås, kan OST tildele en lås i større omfang for at reducere antallet af låseanmodninger foretaget af klienten. Den faktiske størrelse af en tildelt lås afhænger af flere faktorer, herunder antallet af låse, der allerede er erhvervet, tilstedeværelsen af ​​modstridende skrivelåse og antallet af låseanmodninger. Den indstillede lås vil aldrig være mindre end det ønskede omfang. OST-udstrækningslåse bruger Luster FID som navnet på den ressource, der skal låses. Da antallet af omfangslåseservere vokser med antallet af OST'er i filsystemet, øger dette også ydeevnen for det kombinerede filsystem og enkeltfillåse, hvis det er opdelt på tværs af flere OST'er.

Netværk

I en klynge med et Luster-filsystem implementeres systemets netværk, der forbinder servere og klienter, gennem Luster Networking (LNET), som leverer den kommunikationsinfrastruktur, der kræves af Luster-filsystemet. Disklager opretter forbindelse til MDS og OSS med traditionel SAN-teknologi .

LNET understøtter mange velkendte netværkstyper, såsom InfiniBand og IP, hvilket giver mulighed for samtidig adgang for netværk af forskellige typer med routing mellem dem. Remote DMA er aktiveret, når det understøttes af dets underliggende netværk såsom Quadrics Elan, Myrinet og InfiniBand. Høj tilgængelighed og gendannelsesfunktioner giver mulighed for gennemsigtig gendannelse ved brug af failover-servere.

LNET giver båndbredde over Ethernet (GigE) over 100 MB/s [22] , gennemløb op til 3 GB/s gennem InfiniBand QDR-links, gennemløb over 1 GB/s gennem 10GigE-grænseflader.

Høj tilgængelighed

Luster-filsystemets høje tilgængelighed inkluderer en robust failover- og gendannelsesmekanisme, der transparent genstarter servere i tilfælde af en fejl. Versionsinteroperabilitet mellem mindre versioner af Luster-software giver dig mulighed for at opgradere serveren ved at lukke den ned (eller skifte til en standby-server), opgradere og genstarte serveren, hvor alle aktive job fortsætter med at køre, og detekterer kun en forsinkelse, når lageret overføres til standby-serveren.

Luster MDS er konfigureret som et aktivt/passivt par, mens OSS'er typisk implementeres i en aktiv/aktiv konfiguration, hvilket giver pålidelighed uden væsentlig overbelastning. Ofte er standby-MDS den aktive MDS for et andet Luster-filsystem, så der er ingen ledige noder i klyngen.

Installationer

Luster bruges i mange TOP500 supercomputere og store klynger . Femten af ​​de 30 mest kraftfulde supercomputere i verden bruger Luster-filsystemet, herunder verdens hurtigste supercomputer K-computer på RIKEN [4] , og den næsthurtigste supercomputer (den kraftigste fra november 2010 til juni 2011), Tianhe-1 kl. National Supercomputing Center i Tianjin (Kinesisk Folkerepublik). Andre supercomputere , der bruger Luster-filsystemet, er den tredjestørste Jaguar ved Oak Ridge National Laboratory (ORNL) og National Energy Research Scientific Computing Center -systemerne placeret ved Lawrence Berkeley National Laboratory (LBNL), Lawrence Livermore National Laboratory (LLNL), Pacific Northwest National Laboratory , Texas Advanced Computing Center og NASA [23] i Nordamerika, Tokyo Institute of Technology [24] i Asien og et af de største systemer i Europa - CEA [25] .

Kommerciel support

Kommerciel support til Luster leveres af en lang række leverandører. I de fleste tilfælde ydes support til computersystemet eller lagerhardwaren, der sælges af producenten. En delvis liste over leverandører, der sælger computer og storage med Luster, omfatter Cray , Dell , Hewlett-Packard , BULL , SGI og andre. Sun Microsystems sender ikke længere systemer, der indeholder Luster. De vigtigste leverandører, der sælger Luster-aktiveret lagringshardware, er Data Direct Networks (DDN), Dell , Terascala, Xyratex og andre.

Amazon Web Services- platformen tilbyder Amazon FSx for Luster, en fuldt administreret tjeneste til behandling af Amazon S3 og native (on-premises) data.

Noter

  1. Det glansfulde Open Source-projekt på Open Hub: Languages-side - 2006.
  2. https://www.mail-archive.com/[email protected]/msg00221.html
  3. Luster Home (downlink) . Arkiveret fra originalen den 23. august 2000. 
  4. 1 2 En oversigt over Fujitsus Luster-baserede filsystem (link utilgængeligt) . Fujitsu Limited. Hentet 24. juni 2011. Arkiveret fra originalen 3. marts 2012. 
  5. Præsentation af Luster File System (ikke tilgængeligt link) . Google video. Dato for adgang: 28. januar 2008. Arkiveret fra originalen 3. marts 2012. 
  6. Sun assimilerer glansfilsystem (downlink) . Linux Magazine (13. september 2007). Arkiveret fra originalen den 3. marts 2012. 
  7. Sun byder Cluster File Systems-kunder og -partnere velkommen (link ikke tilgængeligt) . Sun Microsystems Inc. (2. oktober 2007). Arkiveret fra originalen den 3. marts 2012. 
  8. Luster 2.0-understøttelse begrænset til Oracle-hardwarekunder (link ikke tilgængeligt) . Infostor (28. april 2010). Arkiveret fra originalen den 3. marts 2012. 
  9. Oracle har sparket Luster til kantstenen (downlink) . Inde i HPC (10. januar 2011). Arkiveret fra originalen den 3. marts 2012. 
  10. Whamcloud sigter mod at sikre, at Luster har en fremtid i HPC (downlink) . Inde i HPC (20. august 2010). Arkiveret fra originalen den 3. marts 2012. 
  11. Xyratex erhverver ClusterStor, Luster File System Expertise/ (link utilgængeligt) . HPCwire (9. november 2010). Arkiveret fra originalen den 3. marts 2012. 
  12. Whamcloud bemander sig til Brighter Luster (link ikke tilgængeligt) . Inde i HPC. Arkiveret fra originalen den 3. marts 2012. 
  13. Joab Jackson. Intel køber Luster Purveyor Whamcloud . PC World (16. juli 2012). Hentet 7. januar 2015. Arkiveret fra originalen 6. maj 2017.
  14. Timothy Prickett Morgan. Intel gobbles Luster filsystem ekspert Whamcloud . Registret (16. juli 2012). Hentet 29. september 2017. Arkiveret fra originalen 8. juli 2017.
  15. Timothy Prickett Morgan. DOE uddeler kontanter til AMD, Whamcloud for exascale forskning . Registret (11. juli 2012). Hentet 29. september 2017. Arkiveret fra originalen 19. august 2016.
  16. Glans hjælper med at drive den tredje hurtigste supercomputer . dsstar. Arkiveret fra originalen den 3. februar 2013.
  17. MCR Linux Cluster Xeon 2,4 GHz - Quadrics (utilgængeligt link) . Top500.Org. Arkiveret fra originalen den 3. marts 2012. 
  18. Luster køreplan og fremtidsplaner (link utilgængeligt) . Sun Microsystems. Hentet 21. august 2008. Arkiveret fra originalen 18. maj 2011. 
  19. Luster til at køre på ZFS (downlink) . Regeringens computernyheder (26. oktober 2008). Arkiveret fra originalen den 3. marts 2012. 
  20. ZFS på Luster (downlink) (10. maj 2011). Arkiveret fra originalen den 12. marts 2016. 
  21. DataDirect valgt som lagerteknologi, der driver BlueGene/L (linket er ikke tilgængeligt) . HPC Wire , 15. oktober 2004: Vol. 13, nr. 41. Arkiveret fra originalen den 3. december 2007. 
  22. Lafoucrière, Jacques-Charles. Luster Experience hos CEA/DIF (link utilgængeligt) . HEPiX Forum, april 2007. Arkiveret fra originalen den 3. marts 2012. 
  23. Pleiades Supercomputer (utilgængeligt link) . www.nas.nasa.gov (18. august 2008). Arkiveret fra originalen den 3. marts 2012. 
  24. TOP500-liste - november 2006 (utilgængeligt link) . TOP500.Org. Arkiveret fra originalen den 3. marts 2012. 
  25. TOP500-liste - juni 2006 (utilgængeligt link) . TOP500.Org. Arkiveret fra originalen den 3. marts 2012. 

Links