bcachefs - egy új, általános célú COW fájlrendszer Linuxhoz

Kent Overstreet pár évvel ezelőtt, amikor még a Google alkalmazásában állt, társaival létrehozta a bcache-t. Miközben a bcache-en dolgoztak, rájöttek, hogy ugyan nem volt céljuk, de szándékukon kívül megalkották egy teljesértékű fájlrendszer funkcionalitásának jókora részét. Ráadásul a dizájn megfelelően tiszta és elegáns volt, hogy jó alapja legyen az esetleges további munkáknak. Éppen ezért a bcache átalakult bcachefs-é.

A bcachefs-sel a fejlesztők fő célja az volt már a kezdetektől, hogy sebességben hozza az ext4 és az XFS sebességét és megbízhatóságát, miközben btrfs / zfs funkcinalitását nyújtja (checksumming, compression, multiple devices, caching, snapshots ...).

A bcachefs jelenleg többé-kevésbé "feature complete" / alpha állapotban van, a fő fejlesztő szerint semmi kritikus komponens nem hiányzik belőle (valószínűleg nem eszi meg az adataidat, de ez nem ígéret).

Részletek és benchmark adatok a bejelentésben.

Hozzászólások

Vajon a legnagyobb terjesztések mikor kezdik el használni?
Gondolom ehhez be kellene kerülnie a kernelbe, de amíg nem kezdik el legalább teszt célból használni addig erre kicsi az esély.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

igy kell egy relative egyszeru problemat (caching) elvinni bloatware iranyba. csak gratulalni tudok.

ha a szamokat megnezitek, szinten mindenben rosszabb, mint az ext4 (az, hogy a btrfs ilyen rossz teljesitmenyt nyujt ennyi fejlesztes utan, mondjuk meglepo)

Kicsit felette irta, hogy meg nincs optimalizalva, mert egyelore a stabilitasra ment ra. Gondolom van rola sejtese, hogy meg mennyit lehet huzni rajta, es ha mar igy is megkozeliti a konkurenciat bizonyos dolgokban, akkor valoszinuleg optimalizalas utan jobb lesz azoknal.

--
Hi, welcome to Fight Club.
First of all, how did you hear about us?

Nagyon jó lesz, főleg, hogy egyszer majd választani is lehet majd a szolgáltatás gazdag fájlrendszerek közt. Jó a teszt is, maradok ext4-en

Én annyit szeretnék hozzáfűzni, hogy szívesen használok új fícsöröket, amik azért már relatíve stabilak (pl. mailline kernel része legalább), de azért még új. A bcachet-el szemeztem, és amikor a mainline ba került el is kezdtem használni, először saját gépen, azóta szervereken is. Eddig még egyszer sem volt vele olyan probléma, ami valódi gondot okozott volna. Olyan volt, hogy menet közben winyók cseréje / lvm partícionálás / bcache stb. átrendezés közben rebootig behülyült a bcache (a registernél kernel hiba volt). Ez volt a legsúlyosabb. Ezt csak azért írom, mert elég összetett dolgokat csinál a bcache, statisztikákat számol, sebességek alapján választja meg hogy használja-e egyáltalán a cachet, stb. Ez számomra azt jelenti, hogy komoly csapat fejleszti, és egy ilyen csapattól egy filerendszer is bíztató lehet. Hajrá!

wipefs el lehet, de ha arra gondolsz, hogy nem cachere konvertálni, akkor olyat nem, bár arra az odafele konvertálás sincsen. Mondjuk van egy program, ami létező fst pakol lvmbe meg ilyesmi, az tud bcachet is:

http://bcache.evilpiepirate.org/FAQ/
blocks is a tool to add a superblock at the start of a block device. There are several ways to accomplish this; blocks can convert LVM logical volumes, partitions that have some free space or a shrinkable filesystem before them, and LUKS encrypted volumes. blocks can also convert a device to LVM and then to bcache, which can be useful when a direct bcache conversion is impossible.
https://github.com/g2p/blocks

Ha jól értem ez kb annyit csinál, hogy megfelelő header méreteket levágva ddzik, vagy ilyesmi. Csak tipp. Én nem használtam, inkább másoltam az adatokat, bcachet meg még nem szüntettem meg, illetve úgy nem, hogy az adatok kellettek volna belőle.

Mostanában úgy szoktam (lehet, hogy van jobb), hogy pl:

4 hdd, mindegyiken 1-1 partíció (+boot de lényegtelen), ezek mind bcache és egy ssd cache mind a négyhez ugyanaz a bcache cache, és akkor lesz bcache0-3 amikre csinálok lvm pv-t, és arra meg lv-t szokásos módon. Hátránya, hogy a bcache0-3 közül nem tudom melyik melyik ha egyformák a winyók, csak ha megnézem a sysben a bcache adatainál :) De a lényeget tudja, és az összes létező adat cachelve van így, pl. file listázások, stb. sokkal gyorsabbak, és az lvm en lévő crypt sem okoz gondot. Tehát így néz ki egy winyó:

hdd -> gpt partíció (2T+ miatt) -> bcache backing device -> lvm physical volume -> lvm logical volume -> dm-crypt (cryptsetup) -> btrfs

Egyszerűbb nem is lehetne. :D