OpenZFS - OpenZFS

OpenZFS
Vývojáři Projekt OpenZFS
Představeno 2013 ; před 8 lety ( 2013 )
Struktury
Obsah adresáře Rozšiřitelný hashovací stůl
Limity
Max. velikost svazku 256 bilionů  yobibytes (2 128  bajtů)
Max. velikost souboru 16  exbibytů (2 64  bajtů)
Max. počet souborů
Max. délka názvu souboru 255 znaků ASCII (méně pro standardy vícebajtových znaků, jako je Unicode )
Funkce
Vidlice Ano (nazývá se „rozšířené atributy“, ale jsou to plnohodnotné streamy)
Atributy POSIX
Oprávnění systému souborů POSIX, NFSv4 ACL
Průhledná komprese Ano
Transparentní šifrování Ano
Deduplikace dat Ano
Kopírování na zápis Ano
jiný
Podporované operační systémy distribuce illumos , FreeBSD a jeho deriváty, macOS , ZFS na Linuxu přes modul jádra , Microsoft Windows
Úložiště github .com /openzfs /zfs
Projekt OpenZFS
Openzfs.svg
Formace 2013 ; před 8 lety ( 2013 )
produkty OpenZFS souborový systém
Mateřská organizace
Software ve veřejném zájmu
webová stránka openzfs .org

OpenZFS je open-source úložná platforma, která zahrnuje funkce tradičních souborových systémů a správce svazků . Obsahuje ochranu před poškozením dat , podporu vysokých úložných kapacit, efektivní kompresi dat , snímky a klony kopírování při zápisu , nepřetržitou kontrolu integrity a automatické opravy, šifrování , vzdálenou replikaci s odesíláním a přijímáním ZFS a RAID-Z . Stejnojmenného projektu OpenZFS spojuje vývojáře z illumos, Linux, FreeBSD a Mac OS platformách a širokou škálu firem prostřednictvím ročního OpenZFS Developer Summit.

Mezi zakládající členy OpenZFS patří Matt Ahrens, jeden z hlavních architektů ZFS. Projekt OpenZFS je open source derivát projektu Oracle ZFS . Od roku 2019 se OpenZFS (na některých platformách, jako je FreeBSD ) postupně otáčí tak, aby byl založen na ZFS v Linuxu, který se vyvíjel rychleji než jiné varianty OpenZFS a obsahuje nové funkce, které do těchto jiných verzí ještě nebyly přeneseny. Sloučená kódová základna bude obsahovat řadu nových funkcí a vylepšení výkonu a je navrhována pod názvem OpenZFS 2.0.

Dějiny

Systém souborů ZFS byl původně vyvinut společností Sun Microsystems pro operační systém Solaris . Zdrojový kód ZFS byl vydán v roce 2005 pod licencí Common Development and Distribution License (CDDL) jako součást operačního systému OpenSolaris a později byl přenesen do jiných operačních systémů a prostředí.

Následuje seznam klíčových událostí vývoje ZFS a jeho různých implementací, které vedly k vytvoření OpenZFS jako zastřešujícího projektu:

  • 2001: Vývoj ZFS s uzavřeným zdrojem byl zahájen dvěma inženýry ve společnosti Sun Microsystems.
  • 2005: Zdrojový kód ZFS byl vydán jako součást OpenSolaris.
  • 2006: Zahájen vývoj portu FUSE ZFS pro Linux .
  • 2007: Apple zahájil přenos ZFS do Mac OS X.
  • 2008: Jako součást FreeBSD 7.0 byl vydán port pro FreeBSD.
  • 2008: Zahájen vývoj nativního portu ZFS Linux, známého jako ZFS v Linuxu.
  • 2009: Projekt Apple ZFS uzavřen a projekt MacZFS pokračoval ve vývoji kódu.
  • 2010: OpenSolaris byl ukončen, což vedlo k tomu, že další vývoj ZFS na Solarisu již nebyl open-source.
  • 2010: illumos byl vidlicový od OpenSolaris jako jeho open-source nástupce a pokračoval ve vývoji ZFS pod širým nebem. Přístavy ZFS na jiné platformy pokračovaly v tažení proti proudu od illumos.
  • 2012: Byly zavedeny příznaky funkcí, které nahrazují starší verze verzí na disku, což umožňuje snadnější distribuovanou evoluci formátu ZFS na disku pro podporu nových funkcí.
  • 2013: Spolu se stabilní verzí MacZFS jeho prototypová generace (známá jako OpenZFS na OS X nebo O3X) používá ZFS na Linuxu jako novou upstream kódovou základnu.
  • 2013: První stabilní vydání ZFS na Linuxu.
  • 2013: Oficiální oznámení projektu OpenZFS jako zastřešujícího projektu. Nové funkce a opravy jsou do OpenZFS pravidelně stahovány z Illumos a tlačeny do všech portů na jiné platformy a naopak.
  • 2016: Ubuntu 16.04 obsahuje ve výchozím nastavení variantu systému souborů ZFS s otevřeným zdrojovým kódem

Přenesené verze (2005–2010)

Vzhledem k tomu, že FSF v roce 2005 tvrdil o právní neslučitelnosti s CDDL a GPL , implementace systému souborů ZFS společností Sun nebyla použita jako základ pro vývoj modulu jádra Linuxu , nebyla sloučena do hlavní řady jádra Linuxu a distribucí Linuxu nezahrnul jej jako předkompilovaný modul jádra. Jako alternativní řešení bylo v Linuxu použito FUSE , framework, který umožňuje provozování souborových systémů v uživatelském prostoru , jako separační vrstva, pro kterou problémy s licencí nejsou účinné, i když se sadou vlastních problémů, které zahrnují trest výkonu. Verze Ubuntu 16.04  LTS z dubna 2016 však obsahuje ZFS s licencí CDDL na Linuxu jako modul jádra, který je udržován jako samostatný projekt, mimo hlavní linii jádra Linuxu, a tvrdí o kompatibilitě licencí.

Apple/macOS

Ve verzi Mac OS X 10.5 byl ZFS k dispozici v režimu pouze pro čtení z příkazového řádku, kterému chybí možnost vytvářet zpools nebo do nich zapisovat. Před vydáním 10.5 vydal Apple „ZFS Beta Seed v1.1“, který umožňoval přístup pro čtení i zápis a vytváření zpoolů; instalační program pro „ZFS Beta Seed v1.1“ však údajně fungoval pouze na verzi 10.5.0 a nebyl aktualizován na verzi 10.5.1 a vyšší. V srpnu 2007 Apple otevřel projekt ZFS na svých webových stránkách Mac OS Forge. Na tomto webu Apple poskytl zdrojový kód a binární soubory svého portu ZFS, který zahrnuje přístup pro čtení i zápis, ale nebyl k dispozici žádný instalační program, dokud jej nevytvořil vývojář třetí strany. V říjnu 2009 společnost Apple oznámila ukončení projektu ZFS v systému Mac OS Forge. To znamená, že jejich vlastní hostování a zapojení do ZFS bylo souhrnně ukončeno. Nebylo podáno žádné vysvětlení. Apple nakonec uvolnil zákonem požadovanou část zdrojového kódu odvozeného z CDDL jejich finální veřejné beta verze ZFS s kódovým označením „10a286“. Kompletní podpora ZFS byla kdysi inzerována jako funkce serveru Snow Leopard ( Mac OS X Server 10.6). V době, kdy byl operační systém vydán, však byly všechny odkazy na tuto funkci ze stránky funkcí odstraněny. Apple se k vynechání nevyjádřil.

Verze zdrojového kódu „10a286“ společnosti Apple a verze dříve vydaných zdrojových a binárních souborů byly zachovány a projekt MacZFS přijal nový vývoj, aby obnovil vývoj jinde. Od července 2012 MacZFS implementuje zpool verze 8 a ZFS verze 2, od vydání systému Solaris z října 2008 . Další historické informace a komentáře lze nalézt na webových stránkách MacZFS a FAQ.

Implementace

Solaris

OpenSolaris

OpenSolaris 2008.05, 2008.11 a 2009.06 používají jako výchozí souborový systém ZFS. Existuje více než tucet distribucí třetích stran.

OpenIndiana

OpenIndiana používá OpenZFS s příznaky funkcí, jak jsou implementovány v Illumosu . ZFS verze 28 používal až do verze 151a3.

Díky upgradu z OpenSolaris snv_134 na OpenIndiana i Solaris 11 Express je také možné upgradovat a samostatně spustit Solaris 11 Express na stejném fondu ZFS.

BSD

Operační Systém Mac

OpenZFS na OSX (zkráceně O3X ) je implementace ZFS pro macOS . O3X je v aktivním vývoji, s úzkým vztahem k ZFS na Linuxu a implementaci ZFS illumos, při zachování kompatibility příznaků funkcí se ZFS v Linuxu. O3X implementuje zpool verze 5000 a obsahuje Solaris Porting Layer (SPL) původně napsaný pro MacZFS, který byl dále vylepšen o vrstvu správy paměti založenou na alokátorech illumos kmem a vmem. O3X je plně vybaven, podporuje kompresi LZ4, deduplikaci, ARC, L2ARC a SLOG.

MacZFS je bezplatný software poskytující podporu pro ZFS v systému macOS. Stabilní starší pobočka poskytuje až 8 fondů ZFS a souborový systém ZFS verze 2. Vývojová větev, založená na ZFS v Linuxu a OpenZFS, poskytuje aktualizované funkce ZFS, například až do verze ZFS zpool verze 5000 a příznaky funkcí.

Proprietární implementace ZFS (Zevo) byla bezplatně k dispozici od společnosti GreenBytes, Inc., implementující až do systému souborů ZFS verze 5 a fondu ZFS verze 28. Zevo nabízelo omezenou sadu funkcí ZFS, čeká se na další komerční vývoj; v roce 2014 byl prodán společnosti Oracle s neznámými plány do budoucna.

DragonFlyBSD

Edward O'Callaghan zahájil počáteční port ZFS na DragonFlyBSD .

NetBSD

Port NetBSD ZFS byl spuštěn jako součást Google Summer of Code 2007 a v srpnu 2009 byl kód sloučen do zdrojového stromu NetBSD .

FreeBSD

Paweł Jakub Dawidek portoval ZFS na FreeBSD a od verze 7.0 je součástí FreeBSD. To zahrnuje zfsboot, který umožňuje bootování FreeBSD přímo z datové sady ZFS.

Implementace ZFS FreeBSD je plně funkční; jediné chybějící funkce jsou server CIFS jádra a iSCSI , ale ten druhý lze přidat pomocí externě dostupných balíčků. Samba lze použít k zajištění serveru CIFS v uživatelském prostoru.

FreeBSD 7-STABLE (pro které jsou závazné aktualizace řady 7.x) používá zpool verze 6.

FreeBSD 8 obsahuje velmi aktualizovanou implementaci ZFS a je podporována zpool verze 13. podpora zpool verze 14 byla přidána do větve 8-STABLE 11. ledna 2010 a je součástí verze FreeBSD 8.1. zpool verze 15 je podporován ve verzi 8.2. Větev 8-STABLE získala podporu pro zpool verze v28 a zfs verze 5 na začátku června 2011. Tyto změny byly vydány v polovině dubna 2012 s FreeBSD 8.3.

FreeBSD 9.0-RELEASE používá ZFS Pool verze 28.

FreeBSD 9.2-RELEASE je první verzí FreeBSD, která používá novou implementaci založenou na „funkčních vlajkách“, tedy verzi Pool 5000.

FreeBSD 13.0-RELEASE přepíná implementaci ZFS z kódové základny založené na illumosu na unifikovanou kódovou základnu OpenZFS 2. Tato změna umožňuje FreeBSD přijímat vylepšení OpenZFS mnohem rychleji.

MidnightBSD

MidnightBSD , desktopový operační systém odvozený od FreeBSD, podporuje úložný fond ZFS verze 6 od 0,3-RELEASE. To bylo odvozeno z kódu obsaženého ve FreeBSD 7.0-RELEASE. Probíhá aktualizace úložiště 28 v 0,4-AKTUÁLNĚ a na základě 9-STABILNÍCH zdrojů kolem kódu FreeBSD 9.1-RELEASE.

TrueOS (dříve PC-BSD)

TrueOS (dříve známý jako PC-BSD, nyní zaniklý) byla distribuce FreeBSD orientovaná na stolní počítače, která zdědila podporu ZFS.

TrueNAS Core, (dříve FreeNAS)

TrueNAS Core, integrovaná distribuovaná distribuovaná síťová úložiště (NAS) s otevřeným zdrojovým kódem založená na FreeBSD , má stejnou podporu ZFS jako FreeBSD a PC-BSD .

pfSense

pfSense , open source BSD router , podporuje ZFS, včetně instalace a bootování do fondů ZFS, od verze 2.4.

XigmaNAS

XigmaNAS (dříve NAS4Free), vestavěná distribuovaná distribuovaná síťová úložiště (NAS) s otevřeným zdrojovým kódem (NAS) založená na FreeBSD , má stejnou podporu ZFS jako FreeBSD, úložný fond ZFS verze 5000. Tento projekt je pokračováním projektu řady FreeNAS 7.

Debian GNU/kFreeBSD

Na základě jádra FreeBSD má Debian GNU/kFreeBSD podporu ZFS od jádra. Vyžadují se však další nástroje uživatelské země, přičemž je možné mít ZFS jako kořenový nebo /bootovací souborový systém. V takovém případě provádí instalační program Debianu požadovanou konfiguraci GRUB od vydání Wheezy .

K 31. lednu 2013 je dostupná verze ZPool 14 pro vydání Squeeze a 28 pro vydání Wheezy-9 .

Linux

Ačkoli ZFS souborový systém podporuje Linux založené operační systémy, obtíže pro linuxové distribuce správců, kteří chtějí poskytovat nativní podporu pro ZFS ve svých výrobcích z důvodu možných právních nesouladů mezi CDDL licenci používané ZFS kódu, a GPL licencí používaných Linux jádro. Chcete-li povolit podporu ZFS v systému Linux, musí být zkompilován a načten do jádra modul jádra, který lze načíst, obsahující kód ZFS s licencí CDDL. Podle Free Software Foundation formulace licence GPL legálně zakazuje redistribuci výsledného produktu jako odvozeného díla , ačkoli tento pohled vyvolal určité kontroverze.

ZFS na FUSE

V roce 2006 bylo vyzkoušeno jedno potenciální řešení nekompatibility licencování s experimentálním portem kódu ZFS do systému Linux FUSE . Souborový systém běžel výhradně v uživatelském prostoru místo toho, aby integrovaný do linuxového jádra, a proto se nepovažuje za dílem odvozeným od jádra. Tento přístup byl funkční, ale ve srovnání s integrací souborového systému jako modulu nativního jádra běžícího v prostoru jádra trpěl značnými sankcemi za výkon . Od roku 2016 se zdá, že projekt ZFS na FUSE je zaniklý.

Nativní ZFS v Linuxu

Nativní port ZFS pro Linux produkovaný Lawrence Livermore National Laboratory (LLNL) byl vydán v březnu 2013 po těchto klíčových událostech:

  • 2008: prototyp k určení životaschopnosti
  • 2009: počáteční podpora ZVOL a Luster
  • 2010: vývoj přesunut na GitHub
  • 2011: Přidána vrstva POSIX
  • 2011: Komunita raných osvojitelů
  • 2012: produkční využití ZFS
  • 2013: stabilní vydání GA

V srpnu 2014 používá ZFS v systému Linux fond OpenZFS číslo verze 5000, což znamená, že funkce, které podporuje, jsou definovány pomocí příznaků funkcí . Tato verze fondu je neměnné číslo, u kterého se očekává, že nikdy nebude v rozporu s čísly verzí udávanými společností Oracle.

KQ InfoTech

Další nativní port pro Linux vyvinula společnost KQ InfoTech v roce 2010. Tento port použil jako výchozí bod implementaci zvol z Národní laboratoře Lawrence Livermore. Vydání podporující zpool v28 bylo oznámeno v lednu 2011. V dubnu 2011 společnost KT Infotech získala společnost sTec, Inc. a jejich práce na ZFS skončila. Zdrojový kód tohoto portu najdete na GitHubu .

Práce KQ InfoTech byla nakonec integrována do nativního portu ZFS pro Linux LLNL.

Distribuce zdrojového kódu

I když nekompatibilita licence může nastat s distribucí kompilovaných binárních souborů obsahujících kód ZFS, obecně se souhlasí, že distribuce samotného zdrojového kódu tím není ovlivněna. V Gentoo je konfigurace kořenového souborového systému ZFS dobře zdokumentována a požadované balíčky lze nainstalovat z jeho úložiště balíčků. Slackware také poskytuje dokumentaci k podpoře ZFS, a to jak jako modul jádra, tak při zabudování do jádra.

Integrace Ubuntu

Otázka kompatibility licence CDDL s licencí GPL se znovu objevila v roce 2015, kdy distribuce Linuxu Ubuntu oznámila, že má v úmyslu zpřístupnit předkompilované binární moduly OpenZFS koncovým uživatelům přímo z oficiálních repozitářů balíčků distribuce. V roce 2016 Ubuntu oznámilo, že právní kontrola vyústila v závěr, že poskytování podpory pro ZFS prostřednictvím modulu binárního jádra neporušuje ustanovení licence GPL. Ostatní, například Centrum pro svobodu softwaru, následovali závěr Ubuntu, zatímco FSF a SFC zopakovaly svůj opačný názor.

Ubuntu 16.04 LTS („Xenial Xerus“), vydaný 21. dubna 2016, umožňuje uživateli instalovat binární balíčky OpenZFS přímo z úložišť softwaru Ubuntu. Od roku 2019 nebyla proti společnosti Canonical vznesena žádná právní námitka ohledně distribuce těchto balíčků.

Od roku 2019 podporuje Ubuntu experimentální instalaci ZFS jako kořenového souborového systému, počínaje verzí 19.10 („Eoan Ermine“), aby podporoval koexistenci téměř čistého ZFS OS s GRUBem a dalšími operačními systémy na stejném disku.

Měřítko TrueNAS

Verze TrueNAS od iXsystems, ale založená na Debianu Linux. Stále používá OpenZFS pro hlavní úložiště. Přidává však určitou podporu kontejnerů prostřednictvím Kubernetes & Docker. Dále to umožní seskupený Docker a ZFS prostřednictvím glusteru. V beta verzi od 22. června 2021.

Microsoft Windows

V roce 2010 byl vyzkoušen port ZFS s otevřeným zdrojovým kódem, ale po přestávce více než ročního vývoje v roce 2012 přestal. V říjnu 2017 oznámil Jörgen Lundman na Summitu vývojářů OpenZFS nový port OpenZFS.

Vydání a historie funkcí

V rámci illumos a (od 2013) OpenZFS

  • 2010: Illumos založen jako open source nástupce a pokračoval v rozvoji ZFS pod širým nebem. Porty ZFS na jiné platformy pokračovaly v přenesení změn proti proudu z Illumos.
  • 2013: Založen projekt OpenZFS, zaměřený na koordinovaný open-source vývoj ZFS. Projekt OpenZFS poskytuje společný základ všem zainteresovaným skupinám a organizacím, aby přispívaly a spolupracovaly na vytvoření společného jádra ZFS s otevřeným zdrojovým kódem, a kromě toho také udržovaly jakýkoli specifický kód a ověřovací procesy potřebné k tomu, aby základní kód ZFS fungoval s jejich vlastními individuálními systémy .

Další porty a vidlice

Následuje seznam portů a vidlic ZFS s otevřeným zdrojovým kódem:

Podrobná historie vydání

Se ZFS v Oracle Solaris: jak jsou představeny nové funkce, čísla verzí fondu a souborového systému se zvyšují, aby se určil formát a dostupné funkce. Funkce, které jsou k dispozici v konkrétních verzích systému souborů, vyžadují konkrétní verzi fondu.

Distribuovaný vývoj OpenZFS zahrnuje příznaky funkcí a fond verze 5000, neměnné číslo, u kterého se očekává, že nikdy nebude v rozporu s čísly verzí udávanými společností Oracle. Čísla starších verzí stále existují pro verze 1–28, implikované verzí 5000. Illumos k tomu používá fond verze 5000. Budoucí změny formátu na disku jsou povoleny / zakázány nezávisle pomocí příznaků funkcí.

Historie verzí

Legenda:
Nejnovější stabilní verze FOSS
Číslo verze fondu ZFS Datum vydání Významné změny
5 000 OpenZFS Změna verze fondu na znamení, že fond označuje nové funkce po verzi fondu 28 pomocí příznaků funkcí ZFS, nikoli zvýšením verze fondu

Verze fondu a vlajky funkcí

Původně byla čísla verzí fondu a systému souborů zvyšována, protože byly zaváděny nové funkce, aby se určil formát systému souborů na disku a dostupné funkce. To fungovalo dobře, když jedna entita řídila vývoj ZFS a toto schéma verzí je stále používáno se ZFS v Oracle Solaris .

V distribuovanějším vývojovém modelu není mít číslo jedné verze zdaleka ideální, protože všechny implementace OpenZFS by se musely shodnout na všech změnách formátu systému souborů na disku. Řešení zvolené OpenZFS bylo zavést příznaky funkcí jako nový verzovací systém, který značí změny formátu na disku jedinečnými názvy a podporuje jak zcela nezávislé změny formátu, tak změny formátu, které na sobě navzájem závisí. Fond lze přesouvat a používat mezi implementacemi OpenZFS, pokud obě vlajky podporují všechny příznaky funkcí, které fond používá.

V OpenZFS je verze fondu trvale nastavena na 5000, což znamená, že fond označuje nové funkce nastavením nebo zrušením nastavení příznaků funkcí ZFS, nikoli zvýšením verze fondu. Číslo 5000 bylo vybráno, protože se očekává, že nikdy nebude v rozporu s čísly verzí udávanými společností Oracle. Čísla starších verzí stále existují pro verze 1–28. Budoucí změny formátu na disku jsou povoleny / zakázány nezávisle prostřednictvím těchto příznaků funkcí.

Čísla starších verzí stále existují pro verze 1–28 a jsou implikovány verzí fondu 5000; původní návrh byl použít 1000 jako verzi fondu. Budoucí změny formátu na disku jsou povoleny a zakázány nezávisle pomocí příznaků funkcí.

Příznaky funkcí jsou vystaveny jako vlastnosti fondu podle těchto pravidel schématu pojmenování:

  • Formát názvu vlastnosti je funkce@<název_org>: <název funkce>
  • <org-name> je obrácený název DNS organizace, která tuto funkci vyvinula, a zajišťuje jedinečné názvy vlastností.
  • Názvy vlastností lze zkrátit na funkce@<název-funkce>, pokud zůstanou jednoznačné.

Například feature@com.foocompany: async_destroy je platný název vlastnosti a lze jej zkrátit na feature@async_destroy .

Každá funkce fondu může být v deaktivovaném , povoleném nebo aktivním stavu. Zakázané funkce jsou ty, které nebudou použity, a nebudou provedeny žádné změny formátu na disku; v důsledku toho jsou tyto funkce zpětně kompatibilní . Povolené funkce jsou ty, které budou použity, zatím nebyly provedeny žádné změny formátu na disku, ale software může změny provést kdykoli; takové funkce jsou stále zpětně kompatibilní. Aktivní funkce jsou ty, které provedly zpětně nekompatibilní změny formátu disku na disku ve fondu.

Když je povolena jakákoli funkce fondu, starší verze fondu se automaticky upgraduje na 5000 a povolí se také všechny další nezbytné funkce. Ve výchozím nastavení se vytvářejí nové fondy se všemi podporovanými funkcemi. Obecně lze stav funkce změnit z aktivního zpět na povolený , vrácením zpět tímto způsobem provedené změny formátu na disku a opětovná kompatibilita fondu se starší implementací OpenZFS; u některých funkcí to však nemusí být možné.

Změny formátu na disku mohou být spojeny buď s funkcemi pro zápis, nebo s funkcemi pro čtení . První z nich jsou funkce, které musí implementace OpenZFS podporovat, aby bylo možné zapisovat do fondu, zatímco podpora těchto funkcí není povinná pro otevření fondu v režimu jen pro čtení. Poslední jmenované jsou funkce, které implementace OpenZFS musí podporovat, aby bylo možné číst z fondu nebo jej pouze otevřít, protože otevření fondu není možné, aniž byste z něj skutečně četli.

Například funkce async_destroy přidává novou datovou strukturu na disku, aby sledovala uvolněné datové sady, ale implementace OpenZFS nemusí o této datové struktuře vědět, aby měla přístup do fondu v režimu jen pro čtení. Kromě toho zápis do fondu, který má některé funkce v aktivním stavu, není možný pomocí implementace OpenZFS, která nepodporuje stejné funkce.

Seznam příznaků funkcí a operačních systémů, které je podporují, je k dispozici na webu Open-ZFS.org

OpenZFS 2.0

Historicky byl OpenZFS implementován jako základní kód ZFS, přičemž tým každého operačního systému jej přizpůsobil tak, aby odpovídal jeho projektům. To vedlo v některých případech ke stagnaci a divergenci funkcí a příkazových řádků, protože různé operační systémy vyvinuly odlišné funkce a opravy chyb, často pro jednu platformu, nikoli pro všechny platformy. Časem se vývoj nových funkcí přesunul z Illumosu na Linux . Tyto nové funkce a opravy pak musely být zpětně přeneseny na Illumos, než mohly být znovu přeneseny do FreeBSD. To však bylo obtížné, protože verze pro Linux také obsahovala mnoho menších změn, které bylo těžké rozmotat.

V roce 2018 bylo dohodnuto, že vývoj OpenZFS bude přepracován, aby tyto problémy napravil. Spíše než se snažit importovat všechny změny Linuxu na jiné platformy po částech, celý kód Linux ZFS by byl 'pivoted' jako celek, přičemž jiné platformy by byly založeny na aktivněji vyvinuté verzi Linuxu. Rovněž bude zavedena nebo přenesena široká škála přenesených a nových funkcí, včetně mnoha dlouho požadovaných vylepšení, a budou přeneseny napříč platformami a budoucí implementace budou projednány napříč platformami. Plány zahrnovaly vhodné portovací vrstvy, které zabraňují zavedení kódu shim Linuxu, GPL nebo Linux-KPI do jiných jader platforem .

Probíhající funkce nebo portované pro OpenZFS 2.0 jsou dlouhé a zahrnují:

  • Rychlejší zavádění vylepšení a nových funkcí napříč platformami.
  • Standardizace příkazového řádku
  • Vylepšená přenositelnost fondu (fondy ZFS vytvořené na jednom systému mohou být stejně použity jiným)
  • Širší funkce mezi platformami a paritou a nezávislostí na platformě
  • Ve výchozím nastavení jsou akceptována překrytí (spojení)
  • Opravy chyb a vylepšení
  • ZTS a různé další funkce pracující na FreeBSD
  • Vylepšení TRIM a ACL MODE
  • Pozdržení ZFS (od FreeBSD)
  • Vylepšené nativní ACL NFSv4 (FreeBSD)
  • Vylepšený výkon AES-GCM pro šifrované fondy
  • Upravené odesílání/příjem
  • Log spacemap a další vylepšení správy metaslab - projekt na re -implementaci správy volného prostoru a „metaslabs“ ZFS pro mnohem vyšší efektivitu
  • Rychlé odstranění klonu
  • Komprese dat Zstd jako nová možnost
  • Dědičnost vlastností programu kanálu
  • AltiVec RAID-Z
  • Podpora záložek a kopírování
  • Přímá podpora IO
  • Trvalý L2ARC (L2ARC zachován při restartu)
  • Sekvenční (vysokorychlostní) čištění a resilver
  • Čištění pozastavit/obnovit
  • Resilver restart
  • Odstranění zařízení (VDEV)
  • Inicializace Zpoolu a kontrolní bod
  • Programy kanálu
  • Velký Dnode
  • Třídy přidělení (umožňující určit konkrétní vysokorychlostní úložiště pro tabulky metadat a deduplikace)
  • Paralelní montáž bazénu
  • Vlastnosti per-vdev
  • Vylepšení deduplikace - dedup -log (vysokorychlostní deduplikace), limity velikosti dedupovací tabulky a předběžné načítání deduplikační tabulky (plně načtené najednou, nikoli po částech podle potřeby), uvedené jako „příjemné“ v roce 2018, byly uvedeny v dubnu 2020 být „hezky spolu“ nebo z velké části kompletní

Viz také

Reference

externí odkazy