Natív ZFS Ubuntu 10.04 alatt

Ha már megjelent, nézzük meg valóban működik-e úgy, ahogy azt állítják. A fordítás nem nehéz, de az alapértelmezett gcc-4.4 helyett gcc-4.3-mal érdemes nekikezdeni, mert 4.4-gyel hibát dob a zfs-0.4.9 fordításánál. A fordításhoz kellenek a szokásos cuccok - binutils, gcc, gawk. Ezen kívül az uuid-dev, zlib1g-dev. Volt aki panaszkodott a splat-tal kapcsolatban a sima awk-ra, nekem a gawk-kal semmi problémám sem volt.

Töltsük le a splat-ot (spl-0.4.9.tar.gz), fordítsuk le és telepítsük (./configure, make, make install, depmod -a). Ha a splat lefordult töltsük be és teszteljük le:


root@playground:/home/trey# modprobe splat

Hozzászólások

cool. tényleg. és nem is szeretném ragozni :)

trey++ :)

-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."

Nagyon jo kis leiras!

Apro eszrevetel:

Az userspace toolok sírhatnak, hogy nem találják a libspl.so.0-t:

/usr/local/lib -nek amugy is ld.so.conf -ban a helye. LD_LIBRARY_PATH alkalmi hekkelesre valo, nem ide. Sokkal celszerubb es 1337366 egy


echo /usr/local/lib >/etc/ld.so.conf.d/locallib.conf
ldconfig

Ez így hogy:

"mkfs.ext2 /dev/tank/fish1"

??

Ugyan négyszer belinkeltem, de belinkelem ötödször is: Example ZVOL

Az első 5 sorban le van írva, hogy jelenleg az userspace-ból csak a ZVOL érhető el. Ez lehetővé teszi virtuális blokk eszköz dataset létrehozását, amit megformázhatsz arra, amire akarsz. Ezt alulról megtámogathatod a neked tetsző ZFS által nyújtott raid szinttel (mirror, raidz, raidz2, ...), képes vagy scrub-olni, illetve snapshotolni. Erre láttál példát.

Itt tart a fejlesztés, de azt ígérik, hogy folytatják.

--
trey @ gépház

És ez miért meglepő? Ez csak azt mutatja, hogy kb. mikor kezdték el a munkát. Ha valaki most állna neki, nyilván a legújabbal kezdene, a FreeBSD-ben pedig elsősorban a működésre helyezték a hangsúlyt, mintsem a feature-paritásra.
Talán lassan összejön. :)

suckIT szopás minden nap! Death is just a bug report

Csak meglepődtem, hogy natív zfs-ről van szó, aztán végül mégiscsak ext fs lesz használatban, és a zfs-ből csak a zpool van használva végül...
btw, freebsd -ben rendesen megy a zfs, tehát nem hozunk létre a zpoolon newfs -sel ufs-t, ahnem zfs create tank/fs
és pl. ls -la /tank/fs
stb.
Gondolom a videón a 7.0-current-ben is még nem volt rendesen implementálva a zfs, ezért newfs -ezik a csóka, de nem tudom.

Mi a rak ez a SPLAT ? olyasmi mint a fuse?

A'rpi

Szerintem ilyen állítás, hogy jobb-rosszabb ennél vagy annál senki részéről sem hangzott el, illetve nem hiszem, hogy valami ellen jött létre. Az intézmény kapott egy megbízást (lásd előző cikk), amelynek oldalhajtásaként létrejött ez a kód.

--
trey @ gépház

Azért nem teljesen fuse mert abban az esetben userspace-ban van megvalósítva az fs itt pedig a kernelben ha jól értem. Az spl pedig szerintem az eltérő kernel API-k között fordít, így kvázi nem kell hozzányúlni nagyon magához a zfs kódhoz.

"The Solaris Porting Layer (SPL) is a Linux kernel module which provides many of the Solaris kernel APIs. This shim layer makes it possible to run Solaris kernel code in the Linux kernel with relatively minimal modification. This can be particularly useful when you want to track upstream Solaris development closely and don’t want the overhead of maintaining a large patch which converts Solaris primitives to Linux primitives."

Egyébként a FreeBSD-ben is ilyen rétegen keresztül van implementálva a ZFS, ha jól értem az opensolaris.ko kernel modul pont azt csinálja, mint az spl.

Hogy ez mennyire gány azt nem tudom megítélni.

De majd valaki megcáfol.

Ennyi erovel a FUSE fajlrendszerek is ganyolasnak mondhatok, mert hat azok mennyire nem nativak. Egyebkent tobb mas rendszer is igy implementalta, meg talan a Macesek is. Tudod, tizmilliard legy nem tevedhet...
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

btrfs melle minek egy ZFS ?

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

Lehet követni azt a megközelítést, amit a FreeBSD team: elég 1-2 jó fájlrendszer, a többi meg le van sz.va. Van akinek ez kell. Linux alatt nem ez az irányelv, és ezzel szerintem sokan elégedettek vagyunk. Pl. én sem az alapértelmezett extended fájlrendszereket használom, hanem az xfs-t, és örülök, hogy ha valaki a kezembe ad egy akárhonnan előrángatott vinyót, hogy le kéne róla menteni pár dolgot, jóeséllyel olvasni tudja, bár legtöbbször akár írni is. Annak idején az ntfs-3g-t is fikázták sokan, feleslegesnek tartva.

Izgatottan várom már a PFS-t (Pluggable FS), amely a MySQL-hez hasonlóan többféle backenden képes fájlrendszert "csinálni". Lehetne neki ZFS, BTRFS, ext[2-4], MySQL, memcached, BDB, vagy akár IISS (Internet ICMP Storage System, ahol az adattárolás átmeneti pufferekben történik, amelyeket a fájlrendszer a világ másik végén lévő routereknek küld ICMP echo üzenetben, és mikor visszajön az echo-reply, újraküldi, így használva a hálózatot, illetve a routereket elosztott adattárolásra) is.
Így csak a backendek illesztésével kellene vacakolni, minden más, ami efölött van, közös lenne.

suckIT szopás minden nap! Death is just a bug report

Mert a változatosság gyönyörködtet! :-) Nem lesznek egyformák, mint ahogy a korábbi generáció sem, lesz ami egyik, lesz ami meg másik felhasználási területen nyújt bolhafasznyival többet, és ez pont elég, hogy indokoltnak tűnő magyarázatokkal életben tartsák mindet. És ez így van jól.


root@playground:/home/trey# cfdisk /dev/tank/fish
root@playground:/home/trey# mkfs.ext2 /dev/tank/fish1

Mi ertelme van ra particiot csinalni? Miert nem egyenesen

mkfs.ext2 /dev/tank/fish

? Vagy csak meg akartad mutatni, hogy ilyet is lehet?

Ó, változnak az idők:

root@playground:/home/trey# mkfs.btrfs -m raid10 -d raid10 /dev/sdb /dev/sdc /dev/sdd /dev/sde

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

adding device /dev/sdc id 2
adding device /dev/sdd id 3
adding device /dev/sde id 4
fs created label (null) on /dev/sdb
nodesize 4096 leafsize 4096 sectorsize 4096 size 40.00GB
Btrfs Btrfs v0.19
root@playground:/home/trey# mount /dev/sdb /mnt
root@playground:/home/trey# mount
[...]
/dev/sdb on /mnt type btrfs (rw)

:)

--
trey @ gépház

Mármint ilyenre gondolsz?

root@playground:/home/trey/devel/spl# btrfs-show
Label: none uuid: a77118e9-f339-420b-b94a-73ded6e49c6c
Total devices 4 FS bytes used 28.00KB
devid 1 size 10.00GB used 2.03GB path /dev/sdb
devid 2 size 10.00GB used 2.01GB path /dev/sdc
devid 4 size 10.00GB used 2.01GB path /dev/sde
devid 3 size 10.00GB used 2.01GB path /dev/sdd

Btrfs Btrfs v0.19

--
trey @ gépház

Brian Behlendorf olvasta ezt a cikket és adott néhány tanácsot:

Thanks for taking the time to try the packages out write up an article. Let me comment about a few things you can do when installing and building the software which should make your like easier.

First off, if you check out the latest version of the SPL from the git repo and not the last 0.4.9 tagged version there is a fix for the gcc problem. I wish I'd caught that before tagging but that's how it goes sometimes. It will be fixed in the next official tag.

git clone git://github.com/behlendorf/spl.git

Also on ubuntu when you configure the package use the --prefix=/usr/ option and things should get installed in to the right places to avoid the LD_LIBRARY_PATH issue.

Kérte, hogy ellenőrizzem le ezeket. Az spl git verziója tényleg lefordul már az Ubuntu 10.04 alapértelmezett verziójával.

Hamarosan kibővítem a cikket.

--
trey @ gépház

"Also on ubuntu when you configure the package use the --prefix=/usr/ option and things should get installed in to the right places to avoid the LD_LIBRARY_PATH issue."

Akit latom, hogy igy forgatja, annak letornem a kezet. Akkor forogjon igy, ha csomagot generalnak belole, egyebkent meg ne szemetelje ossze a rendszerkonyvtarakat, mert leirthatatlan lesz.
Inkabb az ubuntunak kell bugkent bekuldeni, hogy a rendszer nem latja a /usr/local alatt a konyvtarat. Bar, ami azt illeti, azt hiszem van lehetoseg arra, hogy forgataskor beegessuk a binarisba a fuggosegek forditaskori helyet. Esetleg a fejlesztonek lehetne szolni, hogy igy is meg lehetne oldani a kerdest. Persze, ehhez gcc magia kell....

Btw, nem lehet bonyi dolog csomagot csinalni belole, nem nezted, volt-e mar onkentes vallalkozo?
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.