OpenZFS - OpenZFS
Fejlesztő (k) | OpenZFS projekt |
---|---|
Bemutatott | 2013 |
Szerkezetek | |
A könyvtár tartalma | Bővíthető hash tábla |
Korlátok | |
Max. hangerő mérete | 256 billió yobibájt (2 128 bájt) |
Max. fájl méret | 16 exbibájt (2 64 bájt) |
Max. fájlok száma | |
Max. fájlnév hossza | 255 ASCII karakter (kevesebb többbájtos karakteres szabványokhoz, például Unicode ) |
Jellemzők | |
Villák | Igen ("kiterjesztett attribútumoknak" nevezik, de ezek teljes körű adatfolyamok) |
Tulajdonságok | POSIX |
Fájlrendszer -engedélyek | POSIX, NFSv4 ACL -ek |
Átlátszó tömörítés | Igen |
Átlátszó titkosítás | Igen |
Az adatok deduplikációja | Igen |
Másolás-írás | Igen |
Egyéb | |
Támogatott operációs rendszerek | illumos disztribúciók, FreeBSD és származékai, macOS , ZFS Linuxon kernelmodulon keresztül , Microsoft Windows |
Adattár | GitHub |
Képződés | 2013 |
---|---|
Termékek | OpenZFS fájlrendszer |
Szülői szervezet |
Közérdekű szoftver |
Weboldal | openzfs |
Az OpenZFS egy nyílt forráskódú tárolási platform, amely magában foglalja a hagyományos fájlrendszerek és a kötetkezelő funkcióit . Tartalmazza az adatok sérülése elleni védelmet , a nagy tárolókapacitások támogatását, a hatékony adattömörítést , a pillanatfelvételeket és az írásra való másolás klónokat, a folyamatos integritás-ellenőrzést és az automatikus javítást, a titkosítást , a távoli replikációt a ZFS küldéssel és fogadással, valamint a RAID-Z-t . A névadó OpenZFS projekt összehozza az illumos, a Linux, a FreeBSD és a macOS platformok fejlesztőit, valamint a vállalatok széles körét az éves OpenZFS Developer Summit keretében.
Az OpenZFS alapító tagjai közé tartozik Matt Ahrens, a ZFS egyik fő építésze. Az OpenZFS projekt az Oracle ZFS projekt nyílt forráskódú származéka . 2019 -től az OpenZFS (egyes platformokon, például a FreeBSD -n ) fokozatosan a ZFS Linuxon alapul, amely gyorsabban fejlődött, mint az OpenZFS más változatai, és olyan új funkciókat tartalmaz, amelyek még nem kerültek át a többi verzióra. Az egyesített kódbázis számos új funkciót és teljesítményfejlesztést tartalmaz, és OpenZFS 2.0 néven ismert.
Történelem
A ZFS fájlrendszert eredetileg a Sun Microsystems fejlesztette ki a Solaris operációs rendszerhez. A ZFS forráskódját 2005 -ben adták ki a Common Development and Distribution License (CDDL) alatt az OpenSolaris operációs rendszer részeként, majd később más operációs rendszerekre és környezetekre is átvitték.
Az alábbiakban felsoroljuk a ZFS és annak különböző megvalósításai fejlesztésének legfontosabb eseményeit, amelyek az OpenZFS mint esernyő projekt létrehozásához vezettek:
- 2001: A ZFS zárt forrású fejlesztése a Sun Microsystems két mérnökével kezdődött.
- 2005: A ZFS forráskódja megjelent az OpenSolaris részeként.
- 2006: Megkezdődött a FUSE ZFS port fejlesztése Linuxra .
- 2007: Az Apple megkezdte a ZFS átvitelét a Mac OS X rendszerbe.
- 2008: A FreeBSD portja megjelent a FreeBSD 7.0 részeként.
- 2008: Megkezdődött egy natív ZFS Linux port fejlesztése, amelyet ZFS néven ismernek Linuxon.
- 2009: Az Apple ZFS projektje lezárult, és a MacZFS projekt folytatta a kód fejlesztését.
- 2010: Az OpenSolaris megszűnt, így a ZFS továbbfejlesztése a Solaris-on már nem nyílt forráskódú.
- 2010: az illumos elágazott az OpenSolaris-tól, mint nyílt forrású utódja, és folytatta a ZFS fejlesztését a szabadban. A ZFS portjai más platformokra tovább húzták az illumos felfelé irányuló változásokat.
- 2012: Funkciójelzők kerültek bevezetésre a korábbi, lemezen levő verziószámok helyett, lehetővé téve a ZFS lemezes formátum könnyebb elosztott fejlesztését az új funkciók támogatása érdekében.
- 2013: Együtt a MacZFS stabil verziójával, prototípusgenerációja ( OpenZFS néven ismert OS X -en vagy O3X -en) a ZFS -t használja Linuxon az új upstream kódbázisként.
- 2013: A ZFS első stabil kiadása Linuxon.
- 2013: Az OpenZFS hivatalos bejelentése ernyőprojektként. Az illumosból rendszeresen új funkciókat és javításokat húznak be az OpenZFS -be, és minden portba más platformokra tolják, és fordítva.
- 2016: Az Ubuntu 16.04 alapértelmezés szerint tartalmazza a nyílt forráskódú ZFS fájlrendszer-változatot
Hordozott verziók (2005–2010)
Mivel az FSF azzal a CDDL GPL jogi inkompatibilitás 2005 Sun végrehajtása a ZFS fájlrendszer nem használható alapként a fejlődés egy Linux kernel modult , azt nem beolvadt a Linux kernel fővonal , és a Linux disztribúciók nem tartalmazta előre lefordított kernelmodulként. Megkerülő megoldásként a FUSE -t, a fájlrendszerek felhasználói térben történő futtatását lehetővé tevő keretrendszert használták Linuxon elválasztó rétegként, amelyhez a licencproblémák nem érvényesek, bár saját problémakörrel, amelyek teljesítménybüntetést is tartalmaznak. Az Ubuntu 16.04 LTS 2016. áprilisi kiadása azonban tartalmazza a CDDL-engedéllyel rendelkező ZFS-t Linuxon kernelmodulként, amelyet külön projektként tartanak fenn, a Linux kernel fővonalán kívül, licenckompatibilitást követelve.
Apple/macOS
A Mac OS X 10.5 kiadási verziójában a ZFS csak olvasható módban volt elérhető a parancssorból, amelyből hiányzik a zpool-ok létrehozásának vagy írásának lehetősége. A 10.5-ös kiadás előtt az Apple kiadta a "ZFS Beta Seed v1.1" -t, amely lehetővé tette az olvasási-írási hozzáférést és a zpoolok létrehozását; a "ZFS Beta Seed v1.1" telepítője azonban csak a 10.5.0 verziónál működik, és nem frissült a 10.5.1 és újabb verziókhoz. 2007 augusztusában az Apple megnyitott egy ZFS projektet a Mac OS Forge weboldalán. Ezen a webhelyen az Apple megadta a ZFS portjának forráskódját és bináris fájljait, amelyek olvasási-írási hozzáférést tartalmaznak, de telepítő nem volt elérhető, amíg egy harmadik fél fejlesztője nem hozta létre. 2009 októberében az Apple bejelentette, hogy leállítja a ZFS projektet a Mac OS Forge rendszeren. Ez azt jelenti, hogy a saját tárhelyük és a ZFS -ben való részvételük véglegesen megszűnt. Nem adtak magyarázatot. Az Apple végül kiadta a törvényileg előírt, CDDL-ből származó, a ZFS végső nyilvános bétaverziójának forráskódját, kódja "10a286". A teljes ZFS támogatást egyszer a Snow Leopard Server ( Mac OS X Server 10.6) szolgáltatásaként hirdették meg . Mire azonban az operációs rendszer megjelent, az erre a funkcióra vonatkozó összes hivatkozás eltávolításra került a szolgáltatásoldaláról. Az Apple nem nyilatkozott a kihagyással kapcsolatban.
Az Apple "10a286" forráskód -kiadását, valamint a korábban kiadott forrás és bináris fájlok verzióit megőrizték, és a MacZFS projekt új fejlesztést fogadott el, hogy máshol is folytathassa a fejlesztést. 2012 júliusától a MacZFS a zpool 8 -as és a ZFS 2 -es verzióját valósítja meg a Solaris 2008. októberi kiadásából . További történelmi információk és kommentárok a MacZFS weboldalán és a GYIK -ban találhatók.
Megvalósítások
Solaris
OpenSolaris
Az OpenSolaris 2008.05, 2008.11 és 2009.06 a ZFS -t használja alapértelmezett fájlrendszerként. Több mint egy tucat harmadik féltől származó disztribúció létezik.
OpenIndiana
OpenIndiana használ OpenZFS a szolgáltatás megjelöli megvalósított Illumos . A ZFS 28. verziója a 151a3 verzióig használatos.
Az OpenSolaris snv_134 -ről OpenIndiana -ra és Solaris 11 Express -re történő frissítéssel lehetőség van a Solaris 11 Express frissítésére és külön indítására ugyanazon a ZFS -készleten.
BSD
Mac operációs rendszer
Az OpenZFS az OSX rendszeren (rövidítve O3X ) a ZFS megvalósítása a macOS számára . Az O3X aktív fejlesztés alatt áll, szoros kapcsolatban a ZFS -el Linuxon és az illumos ZFS implementációjával, miközben fenntartja a szolgáltatásjelző -kompatibilitást a ZFS -el Linuxon. Az O3X a zpool 5000 -es verzióját valósítja meg, és magában foglalja az eredetileg MacZFS -hez írt Solaris Porting Layer -t (SPL), amelyet tovább fejlesztettek az illumos kmem és vmem allokátorokon alapuló memóriakezelő rétegre. Az O3X teljes funkcionalitású, támogatja az LZ4 tömörítést, a deduplikációt, az ARC, az L2ARC és a SLOG funkciót.
A MacZFS egy ingyenes szoftver, amely támogatja a ZFS használatát a macOS rendszeren. A stabil örökölt ág akár ZFS készlet 8 -as és ZFS fájlrendszer 2 -es verzióját is biztosítja. A Linux és OpenZFS ZFS -en alapuló fejlesztési ág frissített ZFS -funkciókat biztosít, például a ZFS zpool 5000 -es verzióját és a szolgáltatás jelzőit.
A ZFS (Zevo) szabadalmaztatott megvalósítása ingyenesen elérhető volt a GreenBytes, Inc. -től, amely a ZFS fájlrendszer 5. verzióját és a ZFS készlet 28. verzióját is megvalósította. A Zevo korlátozott ZFS szolgáltatáskészletet kínált a további kereskedelmi fejlesztésekig; 2014 -ben eladták az Oracle -nek, ismeretlen jövőbeli tervekkel.
DragonFlyBSD
Edward O'Callaghan elindította a ZFS kezdeti portját a DragonFlyBSD -hez .
NetBSD
A NetBSD ZFS port a 2007 -es Google Summer of Code részeként indult, és 2009 augusztusában a kódot egyesítették a NetBSD forrásfájával.
FreeBSD
Paweł Jakub Dawidek átvitte a ZFS -t a FreeBSD -re , és a 7.0 verzió óta a FreeBSD része. Ide tartozik a zfsboot, amely lehetővé teszi a FreeBSD indítását közvetlenül egy ZFS adatkészletből.
A FreeBSD ZFS implementációja teljesen működőképes; az egyetlen hiányzó szolgáltatás a kernel CIFS szerver és az iSCSI , de ez utóbbi hozzáadható külső csomagok használatával. A Samba felhasználható felhasználói térbeli CIFS szerver biztosítására.
A FreeBSD 7-STABLE (ahol a 7.x verziók frissítéseit kötelezik el) a zpool 6. verziót használja.
A FreeBSD 8 a ZFS sokat frissített implementációját tartalmazza, és a zpool 13-as verziója támogatott. 2010. január 11-én a 8-STABLE ághoz hozzáadásra került a zpool 14-es verzió támogatása, amely a FreeBSD 8.1-es kiadásában is megtalálható. A zpool 15 -ös verziója támogatott a 8.2 -es kiadásban. A 8-STABLE ág 2011. június elején támogatást kapott a zpool v28 és zfs 5 verzióihoz. Ezeket a módosításokat 2012. április közepén tették közzé a FreeBSD 8.3 verziójával.
A FreeBSD 9.0-RELEASE a ZFS Pool 28-as verzióját használja.
A FreeBSD 9.2-RELEASE az első FreeBSD-verzió, amely az új "feature flags" alapú megvalósítást használja, így a Pool verzió 5000.
A FreeBSD 13.0-RELEASE átváltja a ZFS megvalósítását az illumos alapú kódbázisról az egységes OpenZFS 2 kódbázisra. Ez a módosítás lehetővé teszi, hogy a FreeBSD sokkal gyorsabban fogadja az OpenZFS fejlesztéseket.
MidnightBSD
A MidnightBSD , a FreeBSD-ből származó asztali operációs rendszer, támogatja a ZFS tároló 6. verzióját a 0.3-RELEASE-től. Ez a FreeBSD 7.0-RELEASE- ben található kódból származik . A 28-as tárolókészlet frissítése folyamatban van 0.4-CURRENT alatt, és 9-STABLE forrásokon alapul a FreeBSD 9.1-RELEASE kódja körül.
TrueOS (korábban PC-BSD)
A TrueOS (korábban PC-BSD néven ismert, mára megszűnt) a FreeBSD asztali központú disztribúciója volt, amely örökölte ZFS támogatását.
TrueNAS Core, (korábban FreeNAS)
A TrueBAS Core, a FreeBSD-n alapuló , beágyazott nyílt forráskódú, hálózathoz csatlakoztatott tároló (NAS) , ugyanazzal a ZFS támogatással rendelkezik, mint a FreeBSD és a PC-BSD .
pfSense
A pfSense nyílt forráskódú BSD -alapú útválasztó a 2.4 -es verziótól támogatja a ZFS -t , beleértve a telepítést és a ZFS -készletekbe való indítást.
XigmaNAS
Az XigmaNAS (korábban NAS4Free), a FreeBSD-n alapuló , beágyazott nyílt forráskódú, hálózathoz csatlakoztatott tároló (NAS) disztribúciója ugyanazt a ZFS támogatást nyújtja, mint a FreeBSD, a ZFS tárolókészlet 5000-es verziója. Ez a projekt a FreeNAS 7 sorozat projektjének folytatása.
Debian GNU/kFreeBSD
A FreeBSD kernelre épülő Debian GNU/kFreeBSD ZFS támogatással rendelkezik a kerneltől. Azonban további userland eszközökre van szükség, míg a ZFS root vagy /boot fájlrendszerként is használható, ebben az esetben a szükséges GRUB konfigurációt a Debian telepítő hajtja végre a Wheezy kiadása óta .
2013. január 31-től a ZPool verzió a Squeeze kiadáshoz 14, a Wheezy -9 kiadáshoz pedig 28 verzió.
Linux
Bár a ZFS fájlrendszer támogatja a Linux alapú operációs rendszereket, nehézségek merülnek fel a Linux disztribúció -karbantartók számára, akik natív támogatást kívánnak nyújtani a ZFS -hez termékeikben, mivel a ZFS -kód által használt CDDL -licenc és a Linux által használt GPL -licenc között lehetséges jogi összeférhetetlenség áll fenn. kernel. A ZFS támogatás Linuxon belüli engedélyezéséhez egy CDDL-licencű ZFS kódot tartalmazó betölthető kernel modult kell fordítani és betölteni a kernelbe. A Szabad Szoftver Alapítvány szerint a GPL licenc megfogalmazása törvényileg tiltja a kapott termék származtatott műként történő újraelosztását , bár ez a nézet némi vitát váltott ki.
ZFS a FUSE -on
A licenc -inkompatibilitás egyik lehetséges megoldását 2006 -ban próbálták ki, a ZFS -kód kísérleti portjával a Linux FUSE -rendszeréhez. A fájlrendszer teljes egészében a felhasználói térben futott ahelyett, hogy a Linux kernelbe lett volna integrálva, ezért nem tekintették a kernel származékos munkájának. Ez a megközelítés volt működőképes, de szenvedett jelentős teljesítmény büntetéseket képest integrálja a fájlrendszer natív kernel modul fut kernel térben . 2016 -tól úgy tűnik, hogy a ZFS on FUSE projekt megszűnt.
Natív ZFS Linuxon
A ZFS for Linux natív portja, amelyet a Lawrence Livermore National Laboratory (LLNL) készített, 2013 márciusában jelent meg, a következő kulcsfontosságú eseményeket követően:
- 2008: prototípus az életképesség meghatározásához
- 2009: kezdeti ZVOL és Luster támogatás
- 2010: a fejlesztés átkerült a GitHub -ra
- 2011: POSIX réteg hozzáadva
- 2011: a korai örökbefogadók közössége
- 2012: ZFS gyártási felhasználása
- 2013: stabil GA kiadás
Mivel augusztus 2014. ZFS Linux használja OpenZFS pool verziószám 5000, ami azt jelzi, hogy a funkciók Támogatja határozza keresztül szolgáltatás megjelöli . Ez a készlet változatlan szám, amely várhatóan soha nem ütközik az Oracle által megadott verziószámokkal.
KQ InfoTech
Egy másik natív portot fejlesztett ki a KQ InfoTech 2010 -ben. Ez a port a Lawrence Livermore National Laboratory zvol implementációját használta kiindulópontként. A zpool v28 -at támogató kiadást 2011 januárjában jelentették be. 2011 áprilisában a KQ Infotech -t megvásárolta az sTec, Inc. , és a ZFS -rel kapcsolatos munkájuk megszűnt. Ennek a portnak a forráskódja megtalálható a GitHubon .
A KQ InfoTech munkáját végül integrálták az LLNL natív ZFS for Linux portjába.
Forráskód -eloszlás
Míg a ZFS kódot tartalmazó fordított bináris fájlok terjesztésével a licenc inkompatibilitás felmerülhet, általánosan elfogadott, hogy ez magát a forráskód terjesztését nem érinti. A Gentoo -ban a ZFS gyökér fájlrendszerének konfigurálása jól dokumentált, és a szükséges csomagok telepíthetők a csomagtárból. A Slackware dokumentációt is tartalmaz a ZFS támogatásáról, mind kernelmodulként, mind a kernelbe építve.
Ubuntu integráció
A CDDL licencnek a GPL licenccel való kompatibilitásának kérdése 2015-ben újból felmerült, amikor a Linux disztribúciós Ubuntu bejelentette, hogy előre lefordított OpenZFS bináris kernel modulokat kíván a végfelhasználók rendelkezésére bocsátani közvetlenül a terjesztés hivatalos csomagtárából. 2016 -ban az Ubuntu bejelentette, hogy egy jogi felülvizsgálat azt a következtetést vonta le, hogy a ZFS támogatása bináris kernel modulon keresztül nem sérti a GPL licenc rendelkezéseit. Mások, például a Software Freedom Law Center követte az Ubuntu következtetését, míg az FSF és az SFC megismételte ellentétes álláspontját.
A 2016. április 21 -én megjelent Ubuntu 16.04 LTS ("Xenial Xerus") lehetővé teszi a felhasználó számára az OpenZFS bináris csomagok telepítését közvetlenül az Ubuntu szoftvertárházakból. 2019 -től nem indítottak jogi támadást a Canonical ellen e csomagok forgalmazásával kapcsolatban.
2019 -től az Ubuntu támogatja a ZFS kísérleti telepítését gyökér fájlrendszerként, kezdve a 19.10 -es kiadással ("Eoan Ermine"), hogy támogassa a közel tiszta ZFS operációs rendszer GRUB és más operációs rendszerekkel való együttélését ugyanazon a lemezen.
TrueNAS skála
A TrueNAS iXsystems verziója, de Debian Linuxon alapul. Továbbra is OpenZFS -t használ a fő tároláshoz. De ad hozzá némi konténer támogatást a Kubernetes & Docker segítségével. Ezenkívül lehetővé teszi a fürtözött Docker és ZFS csillogást. Béta verzióban 2021. június 22 -től.
Microsoft Windows
2010 -ben megkísérelték a nyílt forráskódú ZFS kikötőjét, de 2012 -ben több mint egy éves szünet után megszűnt. 2017 októberében Jörgen Lundman az OpenZFS fejlesztői csúcstalálkozóján bejelentette az OpenZFS új portját.
Kiadások és funkció előzmények
Illumoson belül és (2013 -tól) OpenZFS
- 2010: az illumos nyílt forráskódú utódként alapult, és folytatta a ZFS fejlesztését a szabadban. A ZFS portjai más platformokra tovább továbbították az illumos felfelé irányuló változásokat.
- 2013: megalapították az OpenZFS projektet, amelynek célja a ZFS nyílt forráskódú összehangolt fejlesztése. Az OpenZFS projekt közös alapot nyújt minden érdekelt csoportnak és szervezetnek, hogy hozzájáruljanak és együttműködjenek a közös nyílt forráskódú ZFS -mag létrehozásában, emellett fenntartanak minden olyan speciális kódot és érvényesítési folyamatot, amelyek szükségesek ahhoz, hogy a ZFS -alapkód saját egyéni rendszereikkel működjön. .
Egyéb portok és villák
Az alábbiakban felsoroljuk a nyílt forráskódú ZFS portokat és villákat:
- 2006: Megkezdődött a FUSE port fejlesztése Linuxra .
- 2007: Az Apple megkezdte a ZFS átvitelét a Mac OS X rendszerbe .
- 2008: A FreeBSD portja megjelent a FreeBSD 7.0 részeként.
- 2008: Megkezdődött egy natív Linux port fejlesztése .
- 2009: Az Apple ZFS projektje lezárult. A MacZFS projekt folytatta a kód fejlesztését.
Részletes kiadási előzmények
A ZFS az Oracle Solaris rendszerben: az új szolgáltatások bevezetésekor a készlet és a fájlrendszer verziószámait megnövelik, hogy meghatározzák a rendelkezésre álló formátumot és szolgáltatásokat. Az egyes fájlrendszer -verziókban elérhető szolgáltatásokhoz egy adott készletverzió szükséges.
Az OpenZFS elosztott fejlesztése magában foglalja a szolgáltatásjelzőket és a készlet 5000 -es változatát, amely változatlan szám, amely várhatóan soha nem ütközik az Oracle által megadott verziószámokkal. A korábbi verziószámok továbbra is léteznek az 1–28 -as készletverziókhoz, amelyekre az 5000 -es verzió utal. Az Illumos erre a célra az 5000 -es változatot használja. A jövőbeni formátumváltoztatások a funkciójelzőkön keresztül függetlenül engedélyezhetők / letilthatók.
Verziótörténet
A legújabb FOSS stabil kiadás |
ZFS Pool verziószáma | Kiadási dátum | Jelentős változások |
---|---|---|
5000 | OpenZFS | A készlet változatlan változata annak jelzésére, hogy a készlet új szolgáltatásokat jelez a 28 -as változat után, a ZFS szolgáltatás jelzőit használva, nem pedig a készlet verziójának növelésével |
Medence változatok és jellemző zászlók
Eredetileg a készlet és a fájlrendszer verziószámait növelték az új szolgáltatások bevezetésével, hogy kijelölhessék a lemezes fájlrendszer formátumát és az elérhető szolgáltatásokat. Ez jól működött, amikor egyetlen entitás irányította a ZFS fejlesztését, és ez a verziószámítási rendszer még mindig használatban van az Oracle Solaris ZFS -ével .
Egy elosztottabb fejlesztési modellben az egyetlen verziószámmal való szereplés távolról sem ideális, mivel az OpenZFS minden megvalósításának meg kell egyeznie a lemezes fájlrendszer formátumának minden módosításával. A megoldás által kiválasztott OpenZFS bevezetése volt jellemző zászlók , mint egy új verzióképzés rendszert , hogy a címkéket a lemezen méret változik egyedi nevek, és támogatja mind teljesen független méret változások és méret változások függenek egymástól. Egy készlet áthelyezhető és használható az OpenZFS megvalósítások között, amennyiben a készlet által használt összes szolgáltatásjelzőt mindkét megvalósítás támogatja.
Az OpenZFS rendszerben a készlet verziója véglegesen 5000 -re van állítva, ami azt jelenti, hogy a készlet új funkciókat jelez a ZFS szolgáltatás jelzőinek beállításával vagy visszaállításával, nem pedig a készlet verziójának növelésével. Az 5000 -es számot azért választották, mert várhatóan soha nem ütközik az Oracle által megadott verziószámokkal. A korábbi verziószámok továbbra is léteznek az 1–28. A jövőbeni lemezformátum-módosítások ezeken a funkciójelzőkön keresztül függetlenül engedélyezhetők / letilthatók.
A korábbi verziószámok továbbra is léteznek az 1–28 -as készletverziókhoz, és ezek az 5000 -es verzióból következnek; az eredeti javaslat az volt, hogy az 1000 -t használják a pool változatként. A jövőbeni lemezformátum-módosítások a funkciójelzőkön keresztül függetlenül engedélyezhetők és letilthatók.
A funkciójelzők készletkészletként jelennek meg, az alábbi elnevezési séma szabályait követve:
- A tulajdonság nevének formátuma a tulajdonság @<org-name>: <feature-name>
- Az <org-name> a szolgáltatást kifejlesztő szervezet fordított DNS neve, amely biztosítja az egyedi tulajdonságneveket.
- A tulajdonságnevek lerövidíthetők a @<feature-name> elemre, ha egyértelműek maradnak.
Például a feature@com.foocompany: async_destroy érvényes tulajdonságnév, és lerövidíthető a @async_destroy feature -re .
Minden egyes készlet lehet letiltott , engedélyezett vagy aktív állapotban. A letiltott funkciók azok, amelyeket nem használnak, és nem módosulnak a lemezen lévő formátumok; ennek eredményeként az ilyen funkciók visszafelé kompatibilisek . Engedélyezett funkciók azok, amelyeket használni fognak, a lemez formátumának módosítása még nem történt meg, de a szoftver bármikor elvégezheti a módosításokat; az ilyen funkciók még mindig visszafelé kompatibilisek. Az aktív funkciók azok, amelyek visszafelé inkompatibilis változásokat hajtottak végre a készletben.
Ha bármely készlet funkció engedélyezve van, a készlet korábbi verziója automatikusan 5000 -re frissül, és minden más előfeltétel funkció is engedélyezve van. Alapértelmezés szerint új készletek jönnek létre az összes támogatott funkció engedélyezésével. Általánosságban elmondható, hogy egy szolgáltatás állapota aktív állapotról visszakapcsolható engedélyezettre , így visszavonható a lemezen végrehajtott formátumváltás, és a készlet újra kompatibilis lesz egy régebbi OpenZFS implementációval; azonban egyes funkciók esetében, amelyek esetleg nem lehetségesek.
A lemezen megjelenő formátumváltozásokhoz írási vagy olvasási funkciók társíthatók . Az előbbiek azok a szolgáltatások, amelyeket az OpenZFS implementációnak támogatnia kell, hogy képes legyen a készletbe írni, míg az ilyen funkciók támogatása nem kötelező a készlet írásvédett módban történő megnyitásához. Ez utóbbiak azok a jellemzők, amelyeket az OpenZFS implementációnak támogatnia kell, hogy olvasni tudjon a készletből, vagy csak megnyissa, mert a készlet megnyitása nem lehetséges anélkül, hogy ténylegesen olvasnánk belőle.
Például az async_destroy szolgáltatás új lemezes adatstruktúrát ad hozzá a felszabadított adatkészletek nyomon követéséhez, de az OpenZFS implementációnak nem kell tudnia erről az adatstruktúráról, hogy csak olvasható módban érje el a készletet. Ezenkívül egy olyan készletbe írni, amely bizonyos funkciókat tartalmaz aktív állapotban, nem teszi lehetővé az OpenZFS megvalósítás, amely nem támogatja ugyanazokat a szolgáltatásokat.
A szolgáltatásjelzők listája és az azokat támogató operációs rendszerek az Open-ZFS.org webhelyen érhetők el
OpenZFS 2.0
Történelmileg az OpenZFS -t alapvető ZFS -kódként valósították meg, és minden operációs rendszer csapata úgy alakította át, hogy illeszkedjen a projektjeikhez. Ez bizonyos esetekben a szolgáltatások stagnálásához és a szolgáltatások és parancssorok eltéréséhez vezetett, mivel a különböző operációs rendszerek eltérő funkciókat és hibajavításokat fejlesztettek ki, gyakran egyetlen platformra, nem pedig minden platformra. Idővel az új funkciók fejlesztése az Illumos -ról Linuxra vált . Ezeket az új funkciókat és javításokat vissza kellettportálni az Illumosra, mielőtt újra átvihetnék őket a FreeBSD-re. De ez nehéz volt, mert a Linux verzió számos kisebb változtatást is tartalmazott, amelyeket nehéz volt szétválasztani.
2018 -ban megállapodtak abban, hogy az OpenZFS fejlesztését felülvizsgálják ezen problémák orvoslása érdekében. Ahelyett, hogy az összes Linux -változtatást töredékesen importálná más platformokra, a teljes Linux ZFS -kód egészét „elforgatná”, más platformokat pedig az aktívabban fejlesztett Linux -verzióra építenének. A hordozott és új funkciók széles skáláját, köztük sok régóta várt fejlesztést is bevezetnék vagy átvinnék a platformokra, és a jövőbeli változásokat a platformok között megvitatnák a megvalósítás előtt. A terveim között megfelelő számhordozás rétegek megakadályozzák Linux GPL vagy Linux-KPI alátétet kódot vezetik be a többi platform mag .
Az OpenZFS 2.0 folyamatban lévő vagy átvitt funkciói hosszúak, és a következőket tartalmazzák:
- A fejlesztések és új funkciók gyorsabb bevezetése platformokon keresztül.
- Parancssori szabványosítás
- Továbbfejlesztett medencehordozhatóság (az egyik rendszeren létrehozott ZFS -készleteket egy másik is használhatja)
- A szélesebb platformok közötti paritás és platformfüggetlenség
- A fedvény (egyesítés) rögzítései alapértelmezés szerint elfogadottak
- Hibajavítások és fejlesztések
- ZTS és számos más funkció a FreeBSD -n
- TRIM és ACL MODE fejlesztések
- ZFS visszatartás (a FreeBSD -től)
- Továbbfejlesztett natív NFSv4 ACL -ek (FreeBSD)
- Továbbfejlesztett AES-GCM teljesítmény titkosított készletekhez
- Redaktált küldés/fogadás
- Naplózott térképtér és egyéb metaslab -kezelési fejlesztések - egy projekt a ZFS szabad területkezelésének és "metaslabs" -ének újbóli megvalósításához a sokkal nagyobb hatékonyság érdekében
- Gyors klón törlés
- Zstd adattömörítés új lehetőségként
- Csatorna programtulajdon öröklődése
- AltiVec RAID-Z
- Könyvjelző támogatás és másolás
- Közvetlen IO támogatás
- Állandó L2ARC (az L2ARC megmarad az újraindítás során)
- Szekvenciális (nagy sebességű) súroló és rugalmasító
- Súrolás szüneteltetése/folytatása
- Resilver újraindítása
- Eszköz (VDEV) eltávolítása
- A Zpool inicializálása és ellenőrzőpontja
- Csatorna programok
- Nagy Dnode
- Kiosztási osztályok (lehetővé téve a nagysebességű tárolás kijelölését a metaadatokhoz és a deduplikációs táblákhoz)
- Párhuzamos medence szerelés
- Per-vdev tulajdonságok
- A duplikációs fejlesztéseket - a dedup -naplót (nagy sebességű deduplikáció), a dedup tábla méretkorlátait és a deduplikációs tábla előtöltését (teljes mértékben egyszerre betöltve, nem pedig szükség szerint darabonként) - mindezt 2018 áprilisában jelentették be hogy "szépen összejön" vagy nagyrészt kész
Lásd még
- A fájlrendszerek összehasonlítása
- Btrfs- másolás-írás fájlrendszer Linuxra
- HAMMER- magas rendelkezésre állású fájlrendszer a DragonFly BSD számára
- Write Anywhere File Layout (WAFL) - a NetApp saját fájlrendszere
Hivatkozások
Külső linkek
- Az OpenZFS projekt : az OpenZFS disztribúciók webhelye és listája
- FreeBSD: Weboldal GitHub wiki
- illumos: Weboldal GitHub
- Linux: GitHub weboldal
- macOS: Weboldal GitHub Google
- Windows: Weboldal GitHub
- OpenZFS Office Hours on YouTube , 2013. október 11., Matt Ahrens
- OpenZFS eszköz eltávolítása , 2015. január 15., Alex Reece