ZFS a Linux

ZFS a Linux
« kdy: 18. 03. 2020, 11:46:01 »
Ahoj.
Docela mě začal zajímat souborý systém ZFS a jeho implementace v Linuxu. Jak je na tom vůbec? V jakých distribucích (prosím orientujte se jen v těch známých, velkých) má nejlepší podporu? Spravuje se na Linuxu dobře?
Děkuji.


Re:ZFS a Linux
« Odpověď #1 kdy: 18. 03. 2020, 12:17:10 »
Je to slepá ulička. Sun zveřejnil implementaci ZFS pod licencí, která je nekompatibilní s linuxovým jádrem a ani Oracle (který mezitím Sun koupil a má potřebná práva) ani v nejmenším nenaznačil, že by se chystal svůj postoj změnit. Dokud se to nezmění, bude ZFS na Linuxu záležitost projektů balancujících na hraně právní nejistoty a hlavně bez šance na začlenění do upstreamu.

ZFS má sice nepříliš početný, ale o to hlasitější fanclub hlásající, jak je ZFS dokonalý a Linux bez něj nemá smysl, ale realita je taková, že přes některé zajímavé featury to není zase takový zázrak, aby to stálo za licenční problémy.

Re:ZFS a Linux
« Odpověď #2 kdy: 18. 03. 2020, 12:28:49 »
Je to slepá ulička. Sun zveřejnil implementaci ZFS pod licencí, která je nekompatibilní s linuxovým jádrem a ani Oracle (který mezitím Sun koupil a má potřebná práva) ani v nejmenším nenaznačil, že by se chystal svůj postoj změnit.

Upřesním:
  • Ubuntu ZFS distribuuje v sobě, ZFS je kompatibilní s jádrem, pochybnosti jsou pouze v tom, jestli lze zdrojový kód ZFS začlenit přímo do zdrojového kódu jádra, nebo jestli se kód ZFS musí distribuovat odděleně. Není to na překážku ve využívání, jen je to méně pohodlné pro maintainery distribucí (a v některých případech i pro programátory).
  • Licence podle mnohých kompatibilní je, protože CDDL dává větší práva užití, než GPL. Ortodoxní vykladači GPL však nechtějí začlenění do zdrojových kódů povolit, protože by pak část kernelu Linuxu měla přísnější GPL a část kódu ZFS by spadala pod volnější CDDL. Linux maintaineři by si přáli při začlenění licenci změnit na GPL, což samozřejmě možné není - ta část kódu by musela zůstat pod CDDL. Oracle necítí potřebu se k tomu vyjadřovat, protože to je vnitřní mentální boj v rámci GPL komunity; z jejich strany je licence volná prakticky maximálně.

Re:ZFS a Linux
« Odpověď #3 kdy: 18. 03. 2020, 13:55:32 »
ZFS je naprosto výborná věc se kterou se dají dělat skvělé věci. Funguje výborně na Ubuntu i na Debian. Předpokládám, že stejné by to mohlo být na centosu, ale já to používám na Ubuntu
Umožňuje např. snapshotování, což je super věc pro zálohování. LXD kontejnerizace na tom běží skvěle, manipulace s kontejnery je rychlá, stejně tak již zmíněné zálohování.
ZFS raid je taky velice zajímavá věc, kde lze potkat běžné formy raidu kdy je možné přijít o jeden dva disky a data jsou stále v pořádku. Výměna disků v raidu je taky jednoduchá. Monitoring celého systému rovněž.
Velice zajímavou věcí je to, že u ZFS lze nastavit např. kompresi nebo deduplikaci případně ten filesystém dále tunit pro speciální využití (např. když je na tom mysql atd)

Re:ZFS a Linux
« Odpověď #4 kdy: 18. 03. 2020, 16:54:49 »
Na Ubuntu se ZFS mám jak VPSka, tak fyzické servery, dokonce i virtualizovanej Windows herní comp mi na tom běží.

Dokonce provozuji i takové šílenosti, jako mdadm, nad tím cryptsetup a teprve nad tím ZFS.

Na ZFS pak provozuji LXD kontejnery či RAW soubory v datasetu pro virtuálky qemu(přímo s blokovými volumes na ZFS mám fakt špatnou zkušenost, co se týká vytěžování CPU při větším vytížení I/O)

Vše funguje skvěle, uptime mám okolo 100 dní na všem, jen jsem si občas na jednom z backup serverů, kde je aktivní jak komprese, tak i deduplikace všiml, že občas vytuhne zfs recv. To se snad, vyřešilo zbuilděním verze 0.8.3, od doby instalace nové verze, jsem problém nezaznamenal

Výborná věc je snapshotování a jednoduchá automatizace případných backupů, kterou lze jednoduše napsat tak, že se zálohují jen rozdíly. Nemluvě o možnosti on-the-fly komprese a deduplikace dat, případně ZIL či L2ARC/ARC cache.



Re:ZFS a Linux
« Odpověď #5 kdy: 18. 03. 2020, 22:02:06 »
(přímo s blokovými volumes na ZFS mám fakt špatnou zkušenost, co se týká vytěžování CPU při větším vytížení I/O)

S Linuxem s tím zkušenost nemám, ale na FreeBSD jsem to řešil. Musí se ZFS naladit na konkrétní hardware (ve virtualizaci je to neřešitelné). Blokové volumes jsou dobré pro iSCSI targety, tam se ale většinou dedikuje hardware a opravdu se to nastavuje pro konkrétní situaci. Mix blokových a souborových svazků na jednom ZFS nedává smysl, právě kvůli výkonu.

Jinak s hodnocením ZFS s Vámi souhlasím, hlavně kvůli stabilitě. Btrfs takové stability nedosahuje a i jeho vývoj ukazuje, že spíš míří do SOHO segmentu (není moc aktivních přispěvatelů, ani testerů pro enterprise features).

Pokud mě něco trápí na ZFS, tak je to rozežranost deduplikace a nemožnost deduplikovat offline. To bych velmi ocenil - a na tyto případy používám raději - světe div se - NTFS, které to umí výborně.

Re:ZFS a Linux
« Odpověď #6 kdy: 18. 03. 2020, 22:56:44 »
ZFS mám na serverech s PROXMOX virtualizací (upravený debian s KVM), který umí bootovat nativně ze ZFS raidu. Teď skládám záložní server s 8mi diskama ZFS RAIDZ2 na PROXMOX, kam budu posílat snapshoty z ostatních PROXMOX serverů. Udělá se snapshot, za běhu se odešle komprimovaně přes internet a uloží na záložní server. Snapshot se dá stejným způsobem poslat zpět a obnovit tak stav VPS 2ma příkazy. Bude tam tedy nějaký scheduler, co bude dělat snapshoty průběžně přes všechny stroje. Snapshot se dá případně namountovat a data přečíst bez nutnosti spouštět VPS.

Jedna perla: celníci mi z jejich pochybného důvodu zabavili všechnu elektroniku a po vrácení serveru (po roce) se ZFS polem tvrdili, že nemohli nic zkopírovat, protože jsou disky staré (rok výroby 2017+ lol) a žádná data tam nejsou. Po opravení systému a importnutí ZFS pole jsem bezproblému vše zkopíroval. Tam jsem měl xigmanas systém (založeno na freebsd). Ten jedinej umí bezproblému uspávat disky. 
« Poslední změna: 18. 03. 2020, 23:05:19 od kotelgg »

Re:ZFS a Linux
« Odpověď #7 kdy: 20. 03. 2020, 12:37:21 »
ZFS pouzivam na Debianu. Vetsinou jako stripped mirror ze 4 SSD pro VMs (OpenNebula jako KVM hypervisor). Na nekterych serverech nesifrovany a nasledne LUKS nebo VeraCrypt ve VMs, na novejsich ZFS native encryption. Snapshoty VMs zalohuji na FreeNAS servery.
Na Debianech jsem vzdy provadel rucni instalaci, nova ubuntu by mela mit podporu ZFS v instalatoru.

Re:ZFS a Linux
« Odpověď #8 kdy: 20. 03. 2020, 18:00:33 »
Je to slepá ulička. Sun zveřejnil implementaci ZFS pod licencí, která je nekompatibilní s linuxovým jádrem a ani Oracle (který mezitím Sun koupil a má potřebná práva) ani v nejmenším nenaznačil, že by se chystal svůj postoj změnit. Dokud se to nezmění, bude ZFS na Linuxu záležitost projektů balancujících na hraně právní nejistoty a hlavně bez šance na začlenění do upstreamu.

Pokud vim tak potom co Oracle prevzal Sun tak se rozdelil i vyvoj ZFS na 2 vetve......proto ZFS od Oraclu neni kompatibilni s dnesni ZFS od *BSD komunity.
Navic kdyz se podivame na %-uelni slozeni aktualniho kodu, tak uz je z nej drtiva vetsina napsana jako opensource projekt cili pod BSD licenci..... Je nekolik firem ktere defacto sousedi s Oraclem a bez problemu prodavaj HW incl. ZFS i jako enterprise reseni- viz.napr https://www.ixsystems.com/

Citace
ZFS má sice nepříliš početný, ale o to hlasitější fanclub hlásající, jak je ZFS dokonalý a Linux bez něj nemá smysl, ale realita je taková, že přes některé zajímavé featury to není zase takový zázrak, aby to stálo za licenční problémy.

Licencni problemy viz vyse+ https://en.wikipedia.org/wiki/OpenZFS

Pokud jde o to co openverze umi viz:

ZFS Feature Overview
https://www.youtube.com/watch?v=R9EMgi_XOoo

Za tech 7let ktere uplynuly od r.2013 kdy to video bylo udelany, to soudruzi jeste drobet vylepsili,
takze kdyz se tak rozhlednu (jako dlouholety uzivatel ZFS) kolem co nabizeji jine FS, dere se mi na jazyk pamatna Paroubkova veta:
"...damy a panove nechci se vas dotknout, ale kdo z vas to ma...?"

 ;)  https://www.youtube.com/watch?v=L4UbpUltos0

Re:ZFS a Linux
« Odpověď #9 kdy: 21. 03. 2020, 12:03:57 »
Pokud vim tak potom co Oracle prevzal Sun tak se rozdelil i vyvoj ZFS na 2 vetve......proto ZFS od Oraclu neni kompatibilni s dnesni ZFS od *BSD komunity.
Navic kdyz se podivame na %-uelni slozeni aktualniho kodu, tak uz je z nej drtiva vetsina napsana jako opensource projekt cili pod BSD licenci.....
Pokud to celé nejde šířit pod GPL2 - a to nejde - tak to pro účely použití v Linuxu nic neřeší.

Citace
Je nekolik firem ktere defacto sousedi s Oraclem a bez problemu prodavaj HW incl. ZFS i jako enterprise reseni- viz.napr https://www.ixsystems.com/
A běží jim na tom Linux? Co jsem hledal, vypadá to, že spíš nějaké varianty BSD, což je z licenčního hlediska úplně jiná situace.

Realita je prostě taková, že Sun zvolil licenci, která vylučuje začlenění do linuxového jádra (a s odstupem času už je jedno, jestli to byl záměr nebo jen vedlejší efekt), a ani Sun ani Oracle od té doby nedali ani v nejmenším najevo, že by tu situaci chtěli nějak vyřešit, přestože si jí museli a musejí být vědomi. Takže jediný logický závěr je, že Oracle ZFS v Linuxu nechce. Je to jejich právo, já to tak beru a vybírám si z filesystémů, které v Linuxu podporované jsou. Pokud je někdo přesvědčen, že je pro něj ZFS tak nepostradatelný, že mu to za ty problémy stojí, je to jeho boj.

Re:ZFS a Linux
« Odpověď #10 kdy: 21. 03. 2020, 15:44:10 »
Já furt nechápu, o jakých problémech tu je řeč.

Funguje to? Funguje.

Vadí to někomu? Nevadí.

ZFS je součástí všech verzí Ubuntu snad od 18.04 a výše. Brání to snad někomu používat komerčně Ubuntu? No nebrání.

Žádné problémy nevidím, milý Oracle, ať si ... Však víte co.

Re:ZFS a Linux
« Odpověď #11 kdy: 21. 03. 2020, 22:03:20 »
Sun zveřejnil implementaci ZFS pod licencí, která je nekompatibilní s linuxovým jádrem a ani Oracle (který mezitím Sun koupil a má potřebná práva) ani v nejmenším nenaznačil, že by se chystal svůj postoj změnit.

milý Oracle, ať si ... Však víte co.

Mě by strašně moc zajímalo, kde se vzal ten dojem, že problém je s Oraclem. Licence CDDL umožňuje ještě volnější šíření než GPL, umožnuje ZFS začlenit do díla a dokonce nemusí být šířena se zdrojovým kódem. Ze strany Oracle žádný licenční spor nehrozí.

Co vadí maintainerům Linuxu je právě ta přílišná volnost. Linux je distribuován pod přísnější GPL (mj. podmínka šířit dál i zdrojové kódy, která v CDDL není) a pánům se zdá příliš nepohodlné mít části Linuxu pod různými licencemi.

Oracle už na této situaci nemá co dál vyjasňovat. Řekl: dělejte si ze ZFS cokoliv chcete a licenčně je to v pořádku.

Jestli někdo pro to může něco udělat, tak je to Linux. Připustit, že vybraná část jádra nebude GPL, ale ještě svobodnější CDDL. Podle mě by to ničemu neublížilo, jediný rozdíl by byl, že by ZFS mohl někdo další z Linuxu vykuchat a šířit bez zdrojových kódů, jen jako binární součást. V praxi by to neznamenalo žádnou změnu: ZFS tu je už nyní, a už nyní se dá dál šířit.

Ubuntu také nic neriskuje. Splňují jak GPL, tak CDDL. Oba produkty sloučili do jednoho díla (balíčku, distribuce). Linux je dál označený licencí GPL, ZFS je dál označeno CDDL.

Je pochopitelně na maintainerech Linuxu, aby se rozhodli, kam Linux směřují. Když ZFS do stromu jádra nevpustí, bude dál existovat nezávisle a najdou další, kteří to spojí a budou distribuovat. Právě tak, jak to dělá Ubuntu a jiní. Právě díky tomu, že neexistuje licenční překážka dál ZFS vyvíjet a Linuxem slučovat, rozhodně to není nějaká slepá ulička. Je to jen otravné a žabomyší spor.

Re:ZFS a Linux
« Odpověď #12 kdy: 22. 03. 2020, 01:47:23 »
Jestli někdo pro to může něco udělat, tak je to Linux. Připustit, že vybraná část jádra nebude GPL, ale ještě svobodnější CDDL.
I když pominu, že to těžko může udělat "Linux" (což je operační systém), především to neumožňují ty licence.

Citace
Co vadí maintainerům Linuxu je právě ta přílišná volnost. ... Podle mě by to ničemu neublížilo, jediný rozdíl by byl, že by ZFS mohl někdo další z Linuxu vykuchat a šířit bez zdrojových kódů, jen jako binární součást.
Dlouhodobě se snažíte vyvolat tento dojem, ale kdybyste se obtěžoval podívat, zjistil byste, že ve zdrojácích jádra je spousta souborů a dokonce i celých driverů, které mají duální licencování GPL2 např. s BSD nebo MIT - a když jejich autorům nevadilo, že je někdo může (vašimi slovy) "vykuchat a šířit bez zdrojových kódů", tak to prostě problém není. Koneckonců je to tak často právě proto, že tentýž kód je (případně s úpravami) používán i jinde. Ten skutečný problém, který se stále snažíte popírat, je, že CDDL takové duální licencování neumožňuje. Takže jediný, kdo s tou situací může něco udělat, je Oracle.

Re:ZFS a Linux
« Odpověď #13 kdy: 22. 03. 2020, 02:09:21 »
(...) ve zdrojácích jádra je spousta souborů a dokonce i celých driverů, které mají duální licencování GPL2 např. s BSD nebo MIT - a když jejich autorům nevadilo, že je někdo může (vašimi slovy) "vykuchat a šířit bez zdrojových kódů", tak to prostě problém není. Koneckonců je to tak často právě proto, že tentýž kód je (případně s úpravami) používán i jinde. Ten skutečný problém, který se stále snažíte popírat, je, že CDDL takové duální licencování neumožňuje.

Podle mého vůbec není nutné vyžadovat duální licencování. Ta část kódu může zůstat čistě jen CDDL. Požadavek na pře-/podlicencování pod GPL je uměle, zbytečně vytvořený. Ono se to dá dovodit i selským rozumem: pokud mám já, jako uživatel (nebo maintainer distribuce) právo ty dvě části kódu (Linux pod GPL a ZFS pod CDDL) spojit v jeden funkční celek (a o tomto právu snad nikdo nepochybuje), na reálné situaci nic nezmění ani začlenění kódu do distribuce zdrojových kódů Linuxu. Jediné, co by bylo potřeba, by bylo administrativně oddělit původní ZFS dílo (které je pod CDDL) a kód od něj odvozený (neb ten by dál padal pod licenci CDDL), od vývoje jiných částí jádra tak, aby ty pod CDDL nespadly neúmyslně.

Do jisté míry chápu snahu Linuxu zachovat si čistotu a mít všechny části kódu pod GPL. Není však spravedlivé říkat, že za to může Oracle. Obě strany to mohou vyřešit naprosto stejnou měrou. A teď si řekněme, v čím zájmu by to bylo vyřešit? Oraclu je to u zadele, ZFS uvolnil a všichni ho mají k dispozici. Linux by ZFS zajímat mohlo, ale pánové se šprajcli. A veřejnost reaguje pudově: jakmile vidí článek, který má v perexu slovat Linux, ZFS, Oracle, licence, tak se jim zatmí, a aniž by si cokoliv přečetli, dovodí z toho, že Linuxu hrozí licenční spor s ošklivou komerční firmou. (Mimochodem, jaký soud ve které zemi by byl místně příslušný a kdo by byl žalovaným?)

Re:ZFS a Linux
« Odpověď #14 kdy: 22. 03. 2020, 17:57:38 »
Pokud mám já, jako uživatel (nebo maintainer distribuce) právo ty dvě části kódu (Linux pod GPL a ZFS pod CDDL) spojit v jeden funkční celek (a o tomto právu snad nikdo nepochybuje), na reálné situaci nic nezmění ani začlenění kódu do distribuce zdrojových kódů Linuxu. Jediné, co by bylo potřeba, by bylo administrativně oddělit původní ZFS dílo (které je pod CDDL) a kód od něj odvozený (neb ten by dál padal pod licenci CDDL), od vývoje jiných částí jádra tak, aby ty pod CDDL nespadly neúmyslně.
Tak to ale vůbec není. Uživatel si sice může tyhle udělat ledacos, ale rozhodně nemůže výsledek takového sloučení dál šířit jako jedno dílo, protože snad nikdo si nedovolí popírat, že by takové dílo bylo odvozeným dílem. Šíření v podobě "samostatného" modulu je otázka na delší diskusi, ale je dobré si uvědomit, že linuxové jádro je (přes některé prvky převzaté z microkernelů) ve své podstatě monolitické a že jakýkoli modul, který do něj naloadujete, se stává jeho plnohodnotnou součástí; dá se říci, že ten vztah je v mnoha ohledech ještě těsnější než mezi programem a dynamickou knihovnou. No a triky spočívající v tom, že budu jako distribuovat jen zdrojáky a nechám uživatele, ať si to jako přeloží sám (skriptem, který mu poskytnu), to je klasická ukázka toho, co se v lidové češtině označuje výrazem "ochcat předpis". Tedy počínání, jehož cílem je najít obezličku, která mi umožní porušit smysl předpisu, ale udělat to tak, abych mohl tvrdit, že jsem ho vlastně formálně dodržel.

Citace
Do jisté míry chápu snahu Linuxu zachovat si čistotu a mít všechny části kódu pod GPL.
Obávám se, že vaše neustálé opakování těchto tvrzení ukazuje, že nechápete jednak GPL, jednak vývojový model Linuxu. Linux jako celek má licenci GPL2 a kterákoli jeho část musí být licencovaná buď GPL2 nebo kombinací licencí z nichž jedna je GPL2. Tak je prostě ta  licence napsaná. Druhá věc, na kterou už vás mnozí opakovaně upozornili, je, že přelicencování Linuxu, které byste tak rád viděl, není reálně proveditelné ani v případě, že by k tomu byla většinová vůle. Buď by s tím totiž museli souhlasit všichni, kdo někdy přispěli kouskem kódu pod GPL2 - a jednak jsou lidé, kteří by zaručeně nesouhlasili, jednak je spousta autorů, kteří jsou dávno "nezvěstní". Nebo by bylo potřeba všechno, k čemu souhlas není, buď vyhodit nebo napsat znovu - a vzhledem k rozsahu je i tato možnost čistě teoretická. Mnozí to považují za výhodu, protože je to pojistka proti změně na licenci, se kterou by nesouhlasili (což je pro někoho třeba i GPL3); řada vývojářů také z tohoto důvodu zásadně nepřispívá do projektů, které požadují nějakou formu copyright assignment (CLA) - třeba já jsem se tomu zatím úspěšně vyhýbal.

Citace
Není však spravedlivé říkat, že za to může Oracle. Obě strany to mohou vyřešit naprosto stejnou měrou.
Jak jsem vysvětli výše (a už několikrát v minulosti), přelicencování Linuxu je možné jen v čistě teoretické rovině, praktická proveditelnost by byla víceméně nulová, i kdyby zájem byl. Oracle je v úplně jiné situaci, protože jako firma je to jedna entita, která drží veškerá potřebná práva. V případě Linuxu je nemá ani Linus Torvalds, ani Linux Foundation, ani žádná jiná fyzická nebo právnická osoba, jsou rozložena mezi (přinejmenším) tisíce různých lidí, z nichž mnohé by bylo obtížné i jen identifikovat (podívejte se, u kolik řádků současných zdrojáků vám git blame  ukáže ^1da177e4c3f4), natož dohledat (podívejte se, jak často se vyhazují položky z MAINTAINERS, protože adresa bouncuje, dotyčný není aktivní a novou adresu nikdo nezná, u řadových přispěvatelů je to ještě častější). A tohle všechno platilo dávno před tím, než Sun zveřejnil zdrojáky ZFS pod CDDL.
[/quote]