ZFS - hratky, postrehy... a problemy

Gabriel gabriel at maxpark.cz
Tue Nov 23 22:39:51 CET 2010


Zdravim konferenci, 

kdysi davno, kdyz jsme staveli server, jsem uvazoval nad tim nasadit tam
ZFS na datovou cast. Slychal jsem samou chvalu, tak proc ne. V te dobe byl
ale produkcni release FreeBSD 7.2, takze se to z hlediska uzivatelske
privetivosti a i z casovych duvodu (jo, nainstalovat a otestovat za
tyden...) pro jistotu odlozilo.

Ted stavime novy system a otazka nasazeni ZFS, po precteni nespocetnych
diskuzi a hodnoceni, zase vyvstala; ZFS kapku dozralo a stabilita pry taky.
Dobra.

Zaklad noveho systemu tvori dva servry - jeden vylozene vykonovy, druhy
pouze jako diskove pole. 
Prvni server bude slouzit na aplikacni cast a komunikaci s vnejsim svetem,
ma to byt po dokonceni testovani quadcore AMD s 12GB RAM a mirrorovany
systemovy disk (2x sata) (ted je to pouze dualcore a 2GB RAM, ale to snad
nevadi ;). ZFS on root samozrejme. Nazvime ho webserver.
Druhy server je dualcore Intel s 2GB ramky a 4x 2TB sata disky. Nazvime ho
dataserver. 

Na webserver bylo nasazeno FreeBSD 8.1-release-p1 amd64, na dataserver
FreeBSD 8.1-release i386.

Prvni problem nastal pri instalaci zfs on root na webserver. Pomoci mfsbsd
bylo vytvoreni mirroru jednoduche, horsi to bylo pri testu vypadku disku.
Samozrejme z druheho to nenajizdelo, error lba. STFG a problem byl objeven,
stacilo patchnout gptzfsloader zdrojaky a rekompilovat. Vzhledem k tomu, ze
mfsbsd obsahuje uz ZFS verze 15, tak patchnuti zdrojaku bylo potreba i pro
zfs, taky nakonec bez problemu, world prekompilovan a problem s mirrorem
odstranen. Bohuzel dalsi problem, ktery se mi nedari odstranit, je reboot
systemu - dostane se do faze "All buffers synced, Uptime: hh:mm:ss" a dal
se nehne. Rikam si jo, asi to bude tim nestandardnim nastavenim, ne-ufs
rootem...

Dataserver ma za systemovy disk CF kartu s ufs a hodne zakladnim
nastavenim, propojeni s webservrem bylo planovano tak, ze se pres geom gate
naforwardujou sata disky na webserver, kde se nasledne udela zfs raidz. Jo,
tohle funguje, bohuzel do te doby, nez se provede failure test. Kdyz jsem
odpojil kabel mezi servrama, geom gate si niceho nevsiml a porad na
webservru hlasil, ze jsou tam pripojeny disky z dataservru, zpool status
taky v poradku. Dokonce slo i zapisovat a cist, nezkousel jsem ale soubory
vetsi nez par byte-u. Po prerebootovani obou servru bylo po obnoveni geom
gate relace samozrejme vsechno pryc, takze tudy cesta nevede. Tak jsem na
dataservru nahodil zfs moduly, vytvoril zfs raidz tam (original 8.1 release
bez jakychkoliv patchu, takze zfs V14) a nasharoval pres NFS. Tohle
nastesti funguje, bohuzel potrebuju kvoty a tady zas narazim. Ale dobra,
STFG nabizi nejake reseni, sice komplikovane, ale snad funkcni, vyzkousime
pak...
Problem ale nastal, jak jiz bylo zminovano u webservru, s rebootem.
Zasekne se to na tom samym. Vypada to tedy, ze je problem se zfs modulem,
ktery se bud neodloaduje, nebo po jeho odloadovani se zasekne kernel, ze?
STFG a zase nejake moznosti (patchnout /etc/rc.d/zfs, nebo vypnout
buffering pres /boot/loader.conf, ...) - bohuzel po odzkouseni nic
nepomohlo. Dobra, zkusme dat zfs primo do kernelu, ne jako modul - dalsi
tupy naraz na zed - ono to nejde, alespon ne v 8.1 release, options ZFS a
OPENSOLARIS to nezna, a ne-produkcni release nasazovat nechci, mam obavy o
jeste vetsi prusery nez jsou doted.

Takze po tomhle romanu otazka zni - resili jste nekdo nekdy neco podobneho
a jak jste to nakonec vyresili? V podstate potrebuju rozchodit rebootovani
systemu (reboot, nebo shutdown, doesn't matter, nefunguji oba) a ZFS kvoty
pres NFS.

Pokud bude potreba jakykoliv doprovodni informace, rad poskytnu.

Dekuji za jakoukoliv pomoc,
Gabriel



More information about the Users-l mailing list