Ceph (mjukvara)
Originalförfattare | Inktank Storage ( Sage Weil , Yehuda Sadeh Weinraub, Gregory Farnum, Josh Durgin, Samuel Just, Wido den Hollander) |
---|---|
Utvecklare | Red Hat , Intel , CERN , Cisco , Fujitsu , SanDisk , Canonical och SUSE |
Stabil frisättning | |
Förvar | |
Skrivet i | C++ , Python |
Operativ system | Linux , FreeBSD |
Typ | Distribuerat objektlager |
Licens | LGPLv2.1 |
Hemsida |
Ceph (uttalas / ˈ s ɛ f / ) är en mjukvarudefinierad lagringsplattform med öppen källkod som implementerar objektlagring på ett enda distribuerat datorkluster och tillhandahåller 3-i-1-gränssnitt för objekt- , block- och fillagring . Ceph syftar främst till fullständigt distribuerad drift utan en enda felpunkt , skalbarhet till exabytenivå och att vara fritt tillgänglig. Sedan version 12 förlitar sig Ceph inte på andra filsystem och kan direkt hantera hårddiskar och SSD:er med sin egen lagringsbackend BlueStore och kan helt självständigt exponera ett POSIX - filsystem .
Ceph replikerar data och gör den feltolerant , använder råvaruhårdvara och Ethernet IP och kräver inget specifikt hårdvarustöd. Cephs system erbjuder katastrofåterställning och dataredundans genom tekniker som replikering, raderingskodning, ögonblicksbilder och lagringskloning. Som ett resultat av sin design är systemet både självläkande och självhanterande , i syfte att minimera administrationstid och andra kostnader.
På så sätt har administratörer ett enda, konsoliderat system som samlar lagringen inom ett gemensamt hanteringsramverk. Ceph konsoliderar flera lagringsanvändningsfall och förbättrar resursutnyttjandet. Det låter också en organisation distribuera servrar där det behövs. [ citat behövs ]
Några av de stora Ceph-utbyggnaderna inkluderar CERN , OVH och DigitalOcean .
Design
Ceph använder fem olika sorters demoner :
- Klustermonitorer ( ceph-mon ) som håller reda på aktiva och misslyckade klusternoder, klusterkonfiguration och information om dataplacering och globalt klustertillstånd.
- Objektlagringsenheter ( ceph-osd ) som använder en direkt, journaliserad disklagring (som heter BlueStore, som sedan v12.x-versionen ersätter FileStore som skulle använda ett filsystem)
- Metadataservrar ( ceph-mds ) som cachelagrar och förmedlar åtkomst till inoder och kataloger i ett CephFS-filsystem.
- HTTP- gateways ( ceph-rgw ) som exponerar objektlagringslagret som ett gränssnitt som är kompatibelt med Amazon S3 eller OpenStack Swift API :er
- Chefer ( ceph-mgr ) som utför klusterövervakning, bokföring och underhållsuppgifter, och gränssnitt till externa övervakningssystem och hantering (t.ex. balancer, instrumentpanel, Prometheus , Zabbix plugin)
Alla dessa är helt distribuerade och kan köras på samma uppsättning servrar. Klienter med olika behov kan direkt interagera med olika delmängder av dem.
Ceph gör striping av enskilda filer över flera noder för att uppnå högre genomströmning, liknande hur RAID0 stripar partitioner över flera hårddiskar . Adaptiv lastbalansering stöds där ofta åtkomliga objekt replikeras över fler noder. [ citat behövs ] Från och med september 2017 är BlueStore standard och rekommenderad lagringstyp för produktionsmiljöer, vilket är Cephs egen lagringsimplementering som ger bättre latens och konfigurerbarhet än filarkivets backend, och undviker bristerna i den filsystembaserade lagringen som involverar ytterligare bearbetning och cachelagren. Backend för filarkivet anses fortfarande vara användbart och mycket stabilt; XFS brukade vara den rekommenderade underliggande filsystemtypen för produktionsmiljöer, medan Btrfs rekommenderades för icke-produktionsmiljöer. ext4- filsystem rekommenderades inte på grund av resulterande begränsningar av den maximala RADOS-objektlängden. Även med BlueStore används XFS för en liten partition av metadata.
Från 2019 pågår ett projekt för att återimplementera OSD i Ceph, kallat Crimson. Huvudmålet med Crimson är att minimera CPU-overhead och latens, eftersom moderna lagringsenheter som NVMe blev mycket snabbare än HDD och till och med SSD , men CPU:er hinner inte med den förändringen. Dessutom crimson-osd tänkt att vara bakåtkompatibel drop-in-ersättning för ceph-osd . Medan Crimson kan arbeta med BlueStore, utvecklas också en ny ObjectStore-implementation kallad SeaStore.
Objektlagring S3
Ceph implementerar distribuerad objektlagring - BlueStore. RADOS-gateway ( ceph-rgw ) exponerar objektlagringslagret som ett gränssnitt som är kompatibelt med Amazon S3 .
Dessa är ofta kapacitiva diskar som är associerade med Cephs S3-objektlagring för användningsfall: Big Data (datalake), Backup & Archives, IOT , media, videoinspelning, etc.
Cephs mjukvarubibliotek ger klientapplikationer direkt åtkomst till det pålitliga RADOS-objektbaserade lagringssystemet (autonomic distributed object store) och utgör också en grund för några av Cephs funktioner, inklusive RADOS Block Device (RBD), RADOS Gateway och Ceph . Filsystem . På så sätt kan administratörer underhålla sina lagringsenheter som ett enhetligt system, vilket gör det lättare att replikera och skydda data.
"Librados" -programbiblioteken ger åtkomst i C , C++ , Java , PHP och Python . RADOS Gateway exponerar också objektarkivet som ett RESTful- gränssnitt som kan presenteras som både inbyggda Amazon S3 och OpenStack Swift API:er.
Blockera lagring
Cephs objektlagringssystem tillåter användare att montera Ceph som en tunnförsedd blockenhet . När en applikation skriver data till Ceph med hjälp av en blockenhet, strippar och replikerar Ceph automatiskt data över klustret. Cephs RADOS Block Device (RBD) integreras också med Kernel-baserade virtuella maskiner (KVM).
Dessa är ofta snabba diskar (NVMe, SSD) som är associerade med Cephs blocklagring för användningsfall, inklusive databaser, virtuella maskiner, dataanalys, artificiell intelligens och maskininlärning.
"Ceph-RBD" gränssnitt med samma Ceph-objektlagringssystem som tillhandahåller librados-gränssnittet och CephFS-filsystemet, och det lagrar blockenhetsbilder som objekt. Eftersom RBD är byggt på Librados, ärver RBD Librados förmågor, inklusive skrivskyddade ögonblicksbilder och återgå till ögonblicksbild. Genom att stripa bilder över klustret förbättrar Ceph läsåtkomstprestanda för bilder med stora blockenheter.
"Ceph-iSCSI" är en gateway som möjliggör åtkomst till distribuerad, högtillgänglig blocklagring från vilken Microsoft Windows- och VMware vSphere -server eller klient som helst som kan tala iSCSI - protokollet. Genom att använda ceph-iscsi på en eller flera iSCSI-gatewayvärdar blir Ceph RBD-bilder tillgängliga som logiska enheter (LUs) associerade med iSCSI-mål, som kan nås på ett valfritt lastbalanserat, mycket tillgängligt sätt.
Eftersom all ceph-iscsi-konfiguration lagras i Ceph RADOS-objektminnet, är ceph-iscsi-gateway-värdar i sig utan beständigt tillstånd och kan därför ersättas, utökas eller reduceras efter behag. Som ett resultat gör Ceph Storage det möjligt för kunder att köra en verkligt distribuerad, högtillgänglig, motståndskraftig och självläkande företagslagringsteknik på råvaruhårdvara och en helt öppen källkodsplattform.
Blockenheten kan virtualiseras, vilket ger blocklagring till virtuella maskiner, i virtualiseringsplattformar som Openshift , OpenStack , Kubernetes , OpenNebula , Ganeti , Apache CloudStack och Proxmox Virtual Environment .
Lagring av filsystem
Cephs filsystem (CephFS) körs ovanpå samma objektlagringssystem som tillhandahåller objektlagring och blockenhetsgränssnitt. Ceph-metadataserverklustret tillhandahåller en tjänst som mappar filsystemets kataloger och filnamn till objekt lagrade i RADOS-kluster. Metadataserverklustret kan expandera eller dra ihop sig, och det kan balansera om filsystemet dynamiskt för att fördela data jämnt mellan klustervärdar. Detta säkerställer hög prestanda och förhindrar tunga belastningar på specifika värdar inom klustret.
Klienter monterar det POSIX -kompatibla filsystemet med en Linux- kärnklient. En äldre FUSE -baserad klient är också tillgänglig. Servrarna körs som vanliga Unix- demoner .
Cephs fillagring är ofta associerad med logginsamling, meddelandehantering och fillagring.
Historia
Ceph skapades ursprungligen av Sage Weil för sin doktorsavhandling , som rådgavs av professor Scott A. Brandt vid Jack Baskin School of Engineering , University of California, Santa Cruz (UCSC), och sponsrad av Advanced Simulation and Computing Program ( ASC ) ), inklusive Los Alamos National Laboratory (LANL), Sandia National Laboratories (SNL) och Lawrence Livermore National Laboratory (LLNL). Den första kodraden som blev en del av Ceph skrevs av Sage Weil 2004 när han var på en sommarpraktik på LLNL, där han arbetade med skalbar filsystemmetadatahantering (i dag känd som Cephs MDS). År 2005, som en del av ett sommarprojekt initierat av Scott A. Brandt och ledd av Carlos Maltzahn, skapade Sage Weil en fullt fungerande filsystemsprototyp som antog namnet Ceph. Ceph gjorde sin debut med Sage Weil och gav två presentationer i november 2006, en på USENIX OSDI 2006 och en annan på SC '06.
Efter sin examen hösten 2007 fortsatte Weil att arbeta på Ceph på heltid, och kärnutvecklingsteamet utökades med Yehuda Sadeh Weinraub och Gregory Farnum. Den 19 mars 2010 Linus Torvalds ihop Ceph-klienten till Linux-kärnversion 2.6.34 som släpptes den 16 maj 2010. 2012 skapade Weil Inktank Storage för professionella tjänster och support för Ceph.
I april 2014 köpte Red Hat Inktank, vilket förde merparten av Ceph-utvecklingen internt för att göra den till en produktionsversion för företag med support (hotline) och kontinuerligt underhåll (nya versioner).
I oktober 2015 bildades Ceph Community Advisory Board för att hjälpa samhället att driva riktningen mot mjukvarudefinierad lagringsteknik med öppen källkod. Den rådgivande styrelsen för charter inkluderar medlemmar från Ceph-gemenskapen från globala IT-organisationer som är engagerade i Ceph-projektet, inklusive personer från Red Hat , Intel , Canonical , CERN , Cisco , Fujitsu , SanDisk och SUSE .
I november 2018 lanserade Linux Foundation Ceph Foundation som en efterträdare till Ceph Community Advisory Board. Grundande medlemmar av Ceph Foundation inkluderade Amihan, Canonical , China Mobile , DigitalOcean , Intel , OVH , ProphetStor Data Services, Red Hat , SoftIron, SUSE , Western Digital , XSKY Data Technology och ZTE .
I mars 2021 avbröt SUSE sin Enterprise Storage-produkt med Ceph till förmån för Longhorn. och den tidigare Enterprise Storage-webbplatsen uppdaterades med att "SUSE har omfokuserat lagringsinsatserna kring att betjäna våra strategiska SUSE Enterprise Storage-kunder och säljer inte längre aktivt SUSE Enterprise Storage."
Releasehistorik
namn | Släpp | Första släppet |
Slutet på livet |
Milstolpar |
---|---|---|---|---|
Argonaut | 0.48 | 3 juli 2012 | Första stora "stabila" release | |
Bobtail | 0.56 | 1 januari 2013 | ||
Bläckfisk | 0.61 | 7 maj 2013 | ceph-deploy är stabil | |
Klimp | 0.67 | 14 augusti 2013 | maj 2015 | namnområde, region, övervakning av REST API |
Kejsare | 0.72 | 9 november 2013 | maj 2014 | replikering av flera datacenter för radosgw |
Eldfluga | 0.80 | 7 maj 2014 | april 2016 | raderingskodning, cachenivå, primär affinitet, nyckel/värde OSD-backend (experimentell), fristående radosgw (experimentell) |
Jätte | 0.87 | 29 oktober 2014 | april 2015 | |
Hammare | 0.94 | 7 april 2015 | augusti 2017 | |
Infernalis | 9.2.0 | 6 november 2015 | april 2016 | |
Juvel | 10.2.0 | 21 april 2016 | 2018-06-01 | Stabil CephFS, experimentell RADOS-backend med namnet BlueStore |
Kraken | 11.2.0 | 20 januari 2017 | 2017-08-01 | BlueStore är stabil |
Lysande | 12.2.0 | 29 augusti 2017 | 2020-03-01 | |
Härma | 13.2.0 | 1 juni 2018 | 2020-07-22 | ögonblicksbilder är stabila, Beast är stabila |
Nautilus | 14.2.0 | 19 mars 2019 | 2021-06-01 | |
Bläckfisk | 15.2.0 | 23 mars 2020 | 2022-06-01 | |
Stilla havet | 16.2.0 | 31 mars 2021 | 2023-06-01 | |
Quincy | 17.2.0 | 19 april 2022 | 2024-06-01 | |
Rev | TBA | TBA |
Etymologi
Namnet "Ceph" är en förkortning av " bläckfisk ", en klass av blötdjur som inkluderar bläckfisken. Namnet (betonat av logotypen) antyder det mycket parallella beteendet hos en bläckfisk och valdes för att associera filsystemet med "Sammy", banansnigelmaskoten från UCSC . Både bläckfiskar och banansniglar är blötdjur.
Se även
- BeeGFS
- Distribuerat filsystem
- Distribuerade parallella feltoleranta filsystem
- Gfarm filsystem
- GlusterFS
- IBM General Parallel File System (GPFS)
- Kubernetes
- LizardFS
- Lyster
- MapR FS
- Älg filsystem
- OrangeFS
- Parallellt virtuellt filsystem
- Quantcast filsystem
- RozoFS
- Mjukvarudefinierad lagring
- XtreemFS
- ZFS
- Jämförelse av distribuerade filsystem
Vidare läsning
- M. Tim Jones (2010-05-04). "Ceph: Ett distribuerat filsystem i petabyteskala i Linux" . DeveloperWorks > Linux > Tekniskt bibliotek . Hämtad 2010-05-06 .
-
Jeffrey B. Layton (2010-04-20). "Ceph: The Distributed File System Creature from the Object Lagoon" . Linux Magazine . Arkiverad från originalet den 23 april 2010 . Hämtad 2010-04-24 .
{{ citera journal }}
: CS1 underhåll: olämplig URL ( länk ) - Carlos Maltzahn; Esteban Molina-Estolano; Amandeep Khurana; Alex J. Nelson; Scott A. Brandt; Sage Weil (augusti 2010). "Ceph som ett skalbart alternativ till Hadoop Distributed File System" . ;logga in: . 35 (4) . Hämtad 2012-03-09 .
- Martin Loschwitz (24 april 2012). "RADOS Object Store och Ceph Filesystem" . HPC ADMIN Magazine . Hämtad 2012-04-25 .