Dobrý deň, existujú dve verzie zfs, jedna (uzavretá), ktorú používa Solaris a druhá
http://open-zfs.org/wiki/Main_Page.
Obe verzie sú kompatibilné vo verzii zfs-28, keď Oracle uzavrela kódy a vývoj sa vydal dvoma smermi.
Predpokladám že sa bavíme o openzfs, ktorá funguje v Linuxe, FreeBSD, illumos atď.
Nezkoušel jsem a pochybuji, že to jde. Podle dokumentace, na použití recordsize > 128 KiB musí být zpool inicializovaný s podporou velkých bloků. Podle toho, co kolem toho čtu, nedoporučuje se v tom vrtat, výjimkou jsou datasety s daty databází, kde jsou sice obrovské soubory, ale je k nim přistupováno náhodně a čte se po malých kouscích dat.
recordsize > 128KiB je možné použiť na všetkých pooloch, predtým je ale potrebné vykonať upgrade poolu.
zpool upgrade [-V version] -a | pool ...
Po upgrade sa k tomuto poolu nedá pristupovať so staršou verziou zfs.
Osobne využívam recordsize = 1M na pool s veľkými multimediálnymi súbormi. Pri viac GB súboroch mi nezáleží na nevyužití niekoľko sto KiB.
Na mysql používam recordsize = 16K, pretože mysql používa rovnaké bloky. Samozrejme na tomto poole nemám zapnutú komprimáciu ani deduplikáciu.
Recordsize je nejmenší jednotka alokace, která se zabere. Velmi zjednodušeně řečeno, čím větší bude, tím rychlejší filesystem získáte, ale o to víc budete plýtvat místem. Při 128 KiB recordsize "sežere" i jednobajtový soubor celých 128 KiB místa.
Súhlasím iba čiastočne:
Internally, ZFS allocates data using multiples of the device's sector size, typically either 512 bytes or 4KB (see above). When compression is enabled, a smaller number of sectors can be allocated for each block. The uncompressed block size is set by the recordsize (defaults to 128KB) or volblocksize (defaults to 8KB) property (for filesystems vs volumes).