Lesk | |
---|---|
Typ | distribuovaný souborový systém a bezplatný a open source software |
Autor | Peter Braam [d] |
Vývojář | Sítě DataDirect [d] |
Zapsáno v | C [1] |
Operační systém | Linuxové jádro |
První vydání | 16. prosince 2003 |
Nejnovější verze |
|
Licence | GNU GPL 2 |
webová stránka | luster.org _ |
Luster je masivně paralelní distribuovaný souborový systém běžně používaný pro rozsáhlé clusterové výpočty . Název Luster je ztělesněním slov L inux a cl uster [3] . Projekt vydaný pod licencí GNU GPL poskytuje vysoce výkonný souborový systém pro clustery s desítkami tisíc síťových uzlů a petabajtů úložiště informací.
Souborové systémy Luster se používají v počítačových klastrech od malých klastrů pracovních skupin až po velké geograficky rozptýlené klastry. Patnáct ze superpočítačů "Top 30" světa používá souborové systémy Luster, včetně nejrychlejšího superpočítače na světě, počítače K [4] .
Souborové systémy Luster mohou podporovat desítky tisíc klientských systémů, desítky petabajtů (PB) úložiště a stovky gigabajtů za sekundu (GB/s) I/O propustnosti. Vzhledem k vysoké škálovatelnosti Lusteru instalují obchodní oblasti, jako jsou ISP, finanční instituce a ropný a plynárenský průmysl, do svých datových center souborové systémy Luster [5] .
Architektura souborového systému Luster byla vyvinuta jako součást výzkumného projektu v roce 1999 Peterem Braamem, vedoucím pracovníkem Carnegie Mellon University . Braam odešel, aby založil vlastní společnost Cluster File Systems , která vydala Luster 1.0 v roce 2003. V roce 2007 Sun Microsystems koupil Cluster File Systems [6] [7] a zahrnul Luster do svého softwarového balíku špičkových systémů s úmyslem využít technologii Luster v souborovém systému Sun ZFS a operačním systému Solaris . V listopadu 2008 Braam opustil Sun Microsystems, aby pracoval na jiném souborovém systému, přičemž návrh architektury Luster přenechal Ericu Bartonovi a Andreasi Dilgerovi .
V roce 2010 Oracle koupil Sun a převzal podporu a vývoj Luster. V dubnu 2010 Oracle oznámil svůj záměr omezit placenou podporu pro nový Luster 2.0 tak, aby byla dostupná pouze na hardwaru Oracle nebo hardwaru vyvinutém prodejci schválenými Oracle. Současně zůstal Luster dostupný všem uživatelům pod licencí GPL a stávající zákazníci Luster 1.8 nadále dostávali technickou podporu od společnosti Oracle [8] .
V prosinci 2010 Oracle oznámil, že zastavuje vývoj Luster. Vydání Luster 1.8 bylo přesunuto do služby pouze pro údržbu [9] , což vyvolalo nejistotu ohledně budoucího vývoje souborového systému. Podle tohoto oznámení jsou nové verze Lusteru vyvíjeny a podporovány komunitou vývojářů včetně Whamcloud [10] , Xyratex [11] , OpenSFS, European Open Filesystems (OFS) SCE a dalších. Ve stejném roce Eric Barton a Andreas Dilger opustili Oracle a založili Whamcloud , startup zaměřený na vývoj Luster [12] .
V červenci 2012 Whamcloud koupil Intel [13] [14] . Stalo se tak poté, co Whamcloud získal kontrakt pro americké ministerstvo energetiky na rozšíření Lusteru jako součást první fáze výpočetního projektu exaflop s názvem FastForward do roku 2018 [15] . Poté OpenSFS převedl všechny smlouvy na vývoj Luster na Intel.
Souborový systém Luster byl poprvé nainstalován pro produkční použití v březnu 2003 na MCR Linux Cluster na LLNL [16] , jednom z nejvýkonnějších superpočítačů té doby [17] .
Luster 1.2.0, vydaný v březnu 2004, podporoval linuxové jádro 2.6, funkci "size glimpse" pro zamezení zrušení zámku u zapisovatelných souborů a účtování zpětného zápisu dat na straně klienta.
Luster 1.4.0, vydaný v listopadu 2004, poskytoval protokolovou kompatibilitu mezi verzemi, podporu pro InfiniBand networking a podporu pro extends a mballoc v diskovém souborovém systému ldiskfs .
Luster 1.6.0, vydaný v dubnu 2007, podporoval konfiguraci připojení ("mountconf"), umožňující serverům konfigurovat pomocí "mkfs" a "mount", podporoval dynamické přidávání cílů pro ukládání objektů (OST), včetně škálovatelného distribuovaného zámku správce manažer Luster (Lustre Distributed Lock Manager - LDLM) pro symetrické multiprocesory (SMP), a také podporoval správu volného místa při distribuci objektů.
Luster 1.8.0, vydaný v květnu 2009, poskytoval OSS Read Cache, vylepšenou obnovu po více selháních, přidal základní heterogenní správu úložiště prostřednictvím OST Pools, adaptivní síťové časové limity a obnovu založenou na verzi. Bylo to také přechodné vydání, které poskytovalo interoperabilitu s Luster 1.6 a Luster 2.0 [18] .
Luster 2.0.0, vydaný v srpnu 2010, obsahoval přepsaný server metadat, který organizoval základ klastrových metadat (Clustered Metadata - CMD), což umožnilo distribuovat metadata Luster mezi více metadatových serverů, nový klientský I/O stack. (Client IO stack - CLIO) pro přenositelnost s jinými klientskými operačními systémy, jako je Mac OS , Microsoft Windows , Solaris , stejně jako zařízení pro ukládání abstraktních objektů (Object Storage Device - OSD) pro přenositelnost s jinými systémy souborů, jako je ZFS .
Souborový systém Luster a související software s otevřeným zdrojovým kódem přijalo mnoho organizací. Red Hat i SUSE ( Novell ) například nabízejí linuxová jádra, která běží na klientech bez doplňků, což usnadňuje nasazení.
Souborový systém Luster obsahuje tři hlavní funkční moduly:
Komponenty MDT, OST a klienti mohou být umístěny na stejném uzlu, ale při instalaci jsou obvykle umístěny na samostatných uzlech, které komunikují po síti. Vrstva Luster Network (LNET) podporuje více komunikačních platforem, včetně Infiniband , TCP/IP přes Ethernet a další sítě, Myrinet , Quadrics a proprietární síťové technologie. Luster také využívá výhod vzdáleného DMA , kde je to možné, ke zvýšení propustnosti a snížení využití procesoru.
Úložiště používané pro duplicitní souborové systémy MDT a OST je rozděleno a může být organizováno prostřednictvím správy logických svazků a/nebo RAID , obvykle formátovaných v souborovém systému ext4 . Servery Luster OSS a MDS čtou, zapisují a upravují data ve formátu zavedeném těmito systémy souborů.
OST je vyhrazený souborový systém, který exportuje rozhraní do oblastí bajtů objektů pro operace čtení/zápisu. MDT je vyhrazený souborový systém pro řízení přístupu k souborům a sdělování klientů, které objekty jsou součástí struktury souborů. MDT a OST v současnosti používají pro ukládání dat vylepšenou verzi ext4 nazvanou ldiskfs . V roce 2008 Sun zahájil projekt portování Luster na Sun ZFS /DMU pro interní úložiště [19] , který pokračuje jako open source projekt [20] .
Když klient přistupuje k souboru, název souboru je vyhledán v MDS. V důsledku toho je soubor buď vytvořen jménem klienta, nebo je klientovi vráceno umístění existujícího souboru. Při operacích čtení nebo zápisu klient interpretuje umístění logického svazku objektu , což mapuje posun a velikost na jeden nebo více objektů, z nichž každý je umístěn na samostatném OST. Klient poté uzamkne řadu souborů, se kterými bude pracovat, a provede jedno nebo více paralelních čtení nebo zápisů přímo do OST. Tento přístup odstraňuje překážku v interakci klienta s OST, takže celková šířka pásma, kterou má klient k dispozici pro čtení a zápis, se škáluje téměř lineárně s počtem OST v systému souborů.
Klienti nemodifikují objekty systému souborů OST přímo a delegují tento úkol na OSS. Tento přístup poskytuje škálovatelnost pro velké clustery a superpočítače a zlepšuje zabezpečení a spolehlivost. Naproti tomu systémy blokových sdílených souborů, jako je Global File System a OCFS, musí podporovat přímý přístup k úložišti pro všechny klienty v systému souborů, což zvyšuje riziko poškození souborového systému nesprávnými klienty.
Během typické instalace Luster na linuxového klienta je modul ovladače souborového systému Luster načten do jádra a souborový systém je připojen jako jakýkoli jiný lokální nebo síťový souborový systém. Klientské aplikace vidí jeden jednotný souborový systém, i když se může skládat z desítek tisíc jednotlivých serverů a souborových systémů MDT/OST.
Na některých Massively Parallel Processors (MPP) mohou výpočetní procesory přistupovat k systému souborů Luster přesměrováním svých I/O požadavků na vyhrazený I/O uzel nakonfigurovaný jako Luster klient. Tento přístup je použit v Blue Gene [21] instalovaném v Livermore National Laboratory .
Dalším nedávným přístupem je knihovna liblustre , která poskytuje aplikacím v uživatelském prostoru přímý přístup k systému souborů. Toto je knihovna na uživatelské úrovni, která umožňuje klientským výpočetním procesorům připojit a používat souborový systém Luster. Pomocí liblustre mohou výpočetní procesory přistupovat k systému souborů Luster, i když serverový uzel, který spustil úlohu, není klient Luster. Knihovna liblustre umožňuje přesouvat data přímo mezi aplikačním prostorem a Luster OSS bez nutnosti přechodné kopie dat přes jádro, což umožňuje procesorům přistupovat k souborovému systému Luster s nízkou latencí a vysokou propustností.
V tradičních unixových diskových souborových systémech obsahuje datová struktura inode základní informace o každém souboru, například kde jsou data obsažená v souboru uložena. Systém souborů Luster také používá inody, ale inode MDT ukazuje na jeden nebo více objektů OST spojených se souborem, nikoli na datové bloky. Tyto objekty jsou implementovány jako soubory OST. Když klient otevře soubor, operace otevření předá klientovi sadu ukazatelů na objekty a jejich umístění z MDS, načež klient může přímo interagovat s hostitelem OSS, který drží objekt, což klientovi umožňuje provádět I/O soubor bez další interakce s MDS.
Pokud je k inodu MDT přidružen pouze jeden objekt OST, tento objekt obsahuje všechna data v souboru Luster. Pokud je k souboru přidruženo více než jeden objekt, data souboru jsou „rozdělena“ mezi objekty, podobně jako u RAID 0 . Rozdělení souboru mezi více objektů poskytuje významné výhody z hlediska výkonu. Při použití rozdělení není maximální velikost souboru omezena na velikost jednoho cíle. Kapacita a celková I/O šířka pásma se mění podle počtu OST, na kterých je soubor rozdělen. Vzhledem k tomu, že zamykání každého objektu pro každý OST je spravováno nezávisle, přidávání částí (OST) úměrně přizpůsobuje možnosti uzamčení I/O souboru. Každý soubor v souborovém systému může mít jiné rozdělené umístění, takže kapacita a výkon mohou být pro každý soubor optimálně vyladěny.
Luster používá správce distribuovaných zámků ve stylu VMS k ochraně integrity dat a metadat každého souboru. Přístup a úpravy souboru Luster jsou plně koherentní napříč všemi klienty. Zámky metadat jsou spravovány MDT, které ukládá inode souboru pomocí 128bitového Luster File Identifier (FID sestávající z pořadového čísla a identifikátoru objektu) používaného jako název zdroje. Zámky metadat jsou rozděleny do několika částí, které chrání proces zjišťování souborů (vlastník a skupina souboru, oprávnění a režim, stejně jako ACL , stav inodu (velikost adresáře, obsah adresáře, počet odkazů, časová razítka) a umístění (rozdělení souboru). může získat více částí zámku metadat na jednom inodu s jediným požadavkem RPC, ale v současné době jsou povoleny pouze zámky čtení inodů MDS spravuje všechny modifikace inodů, aby se zabránilo sporům o zdroje , a pouze jeden uzel může aktuálně získat zámky zápisu inodu.
Zámky dat souboru jsou spravovány OST, na kterém je každý objekt souboru rozdělen, pomocí zámků bajtových oblastí. Klienti mohou získat překrývající se zámky čtení rozsahu na části nebo celém souboru, což umožňuje více souběžných čteček na stejném souboru a nepřekrývající se zámky zápisu rozsahu v oblastech souboru. To umožňuje mnoha klientům Luster mít souběžný přístup pro čtení/zápis k souboru, čímž se zabrání problémům se vstupem a výstupem souboru. V praxi klienti Linuxu spravují svou datovou mezipaměť v jednotkách stránek , takže budou vyžadovat zámky, které jsou vždy celočíselným násobkem velikosti stránky (u většiny klientů 4096 bajtů). Když klient požaduje zámek rozsahu, OST může udělit zámek ve větším rozsahu, aby se snížil počet požadavků na zámek ze strany klienta. Skutečná velikost uděleného zámku závisí na několika faktorech, včetně počtu již získaných zámků, přítomnosti konfliktních zámků zápisu a počtu požadavků na zámek. Nastavený zámek nebude nikdy menší než požadovaný rozsah. Zámky rozsahu OST používají Luster FID jako název prostředku k uzamčení. Vzhledem k tomu, že počet serverů uzamčení rozsahu roste s počtem OST v systému souborů, zvyšuje to také výkon kombinovaného systému souborů a uzamčení jednoho souboru, pokud je rozdělen mezi více OST.
V clusteru se souborovým systémem Luster je systémová síť spojující servery a klienty implementována prostřednictvím sítě Luster Networking (LNET), která poskytuje komunikační infrastrukturu požadovanou souborovým systémem Luster. Diskové úložiště se připojuje k MDS a OSS pomocí tradiční technologie SAN .
LNET podporuje mnoho známých typů sítí, jako je InfiniBand a IP, což umožňuje současný přístup pro sítě různých typů se směrováním mezi nimi. Vzdálené DMA je povoleno, pokud je podporováno jeho základní sítí, jako jsou Quadrics Elan, Myrinet a InfiniBand. Vysoká dostupnost a možnosti obnovy umožňují transparentní obnovu při použití serverů s přepnutím při selhání.
LNET poskytuje šířku pásma přes Ethernet (GigE) přes 100 MB/s [22] , propustnost až 3 GB/s přes InfiniBand QDR spojení, propustnost přes 1 GB/s přes 10GigE rozhraní.
Vysoká dostupnost systému souborů Luster zahrnuje robustní mechanismus převzetí služeb při selhání a obnovení, který v případě selhání transparentně restartuje servery. Interoperabilita verzí mezi menšími verzemi softwaru Luster vám umožňuje upgradovat server jeho vypnutím (nebo přepnutím na záložní server), upgradovat a restartovat server, přičemž všechny aktivní úlohy pokračují v běhu, pouze detekuje zpoždění při přenosu úložiště. na pohotovostní server.
Luster MDS jsou konfigurovány jako aktivní/pasivní pár, zatímco OSS jsou obvykle nasazeny v aktivní/aktivní konfiguraci, což poskytuje spolehlivost bez výrazného přetížení. Pohotovostní MDS je často aktivní MDS pro jiný souborový systém Luster, takže v clusteru nejsou žádné nečinné uzly.
Luster se používá v mnoha superpočítačích TOP500 a velkých clusterech . Patnáct z 30 nejvýkonnějších superpočítačů na světě používá souborový systém Luster, včetně nejrychlejšího superpočítače K na světě RIKEN [4] , a druhého nejrychlejšího superpočítače (nejvýkonnějšího od listopadu 2010 do června 2011), Tianhe-1 na Národní superpočítačové centrum v Tianjinu (Čínská lidová republika). Další superpočítače využívající souborový systém Luster jsou třetí největší Jaguar v Oak Ridge National Laboratory (ORNL) a systémy National Energy Research Scientific Computing Center umístěné v Lawrence Berkeley National Laboratory (LBNL), Lawrence Livermore National Laboratory (LLNL), Pacific Northwest National Laboratoř , Texas Advanced Computing Center a NASA [23] v Severní Americe, Tokyo Institute of Technology [24] v Asii a jeden z největších systémů v Evropě - CEA [25] .
Komerční podporu pro Luster poskytuje široká škála prodejců. Ve většině případů je podpora poskytována pro počítačový systém nebo úložný hardware prodávaný výrobcem. Částečný seznam prodejců, kteří prodávají výpočetní techniku a úložiště s Lusterem, zahrnuje Cray , Dell , Hewlett-Packard , BULL , SGI a další. Sun Microsystems již nedodává systémy obsahující Luster. Hlavními prodejci, kteří prodávají úložný hardware s podporou Luster, jsou Data Direct Networks (DDN), Dell , Terascala, Xyratex a další.
Platforma Amazon Web Services nabízí Amazon FSx for Luster, plně spravovanou službu pro zpracování Amazon S3 a nativních (on-premises) dat.
Sun Microsystems (převzatý společností Oracle ) | |
---|---|
Zařízení | |
Software |
|
Datové úložiště | |
Vysoce výkonná výpočetní technika |
|
Výzkum | |
Vzdělání |
|
Společenství |