ZFS fájlrendszer
Wilhelm Tamás
ZFS - Zettabyte File System A SUN forradalmi módon akarta az adattárolást, kötetkezelést, fájlrendszer gondokat megoldani, amikor megalkotta a ZFS-t. Azóta eléggé meghatározóvá vált maga a ZFS és mindaz a szemlélet amit magával hozott. ZFS kulcsszavakban -
A diszk VM-je, nincs szükség kötet kezelőre
-
Tranzakcionális
-
Teljesen integritás védett
-
128-bites (256 quadrillio zettaB)
-
Dinamikus metaadatok
-
Beépitett tömörítés, titkositás
-
Diszk scrubbing
-
Replikácio
-
Minden művelet copy-on-write
-
Gyors snapshot, verziozás
A tárhelykezelést megnehezítő dolgok: -
Nevek, partíciók, kötetek, rendelkezésre állás, növelés, csökkentés, konfigurációs fájlok tömege
-
Limitek kezelése, fájlrendszerek, kötetek, fájl méretek, fájlok számossága, snapshotok esetén
-
Külön 3rd party eszközök a blokk és fájl alapú megosztások kezeléséhez
-
Portolási problémák különböző platformok esetén (x86, SPARC, PowerPC, ARM)
-
Lineáris létrehozási idő, fix blokk méretek, hosszadalmas RAID újraépítési idő, növekvő backup idők
1/6
ZFS fájlrendszer
Wilhelm Tamás
Ezen dolgokon akar változtatni a SUN a ZFS-el. A Zettabyte név jelentése: tíz a huszonegyediket. Ez a nagy szám már sok mindenre utal, többek között az új nagyságrendi korlátokkal is. A ZFS ugyanis az átlag 64 bites rendszerekkel ellentétben 128 bites. Ez az újítás hatalmas korlátokat jelenthet a tárolásban:
ZFS Pool ( adattömeg ) A ZFS úgynevezett pool filozófiát követ. Egy közös zsákot, amibe egyik részről dobálunk erőforrásokat ( diszkeket ), ezzel egy nagy közös név alatt létező adattömeget kapva, majd ebből az adat tömegből ( poolból ) oszthatunk ki tárolásra szánt fájlrendszereket.
A ZFS szakítva a tradicionális kötetmenedzserekkel, amikre utána külön szeparált fájlrendszert kellett rakni, egybeépítette a fájlrendszert és kötetmenedzsert. Viszont ezt nem úgy kell elképzelni, hogy egy termék, aminek van kötetmenedzser része, és fájlrendszer része, mint például a Veritas Storage Foundation-nek. A ZFS egy fájlrendszer, ami egyben kötetkezelésre is használható. 2/6
ZFS fájlrendszer
Wilhelm Tamás
Ez a pool dolog megfelel az SVM alatt egy metaeszköznek. A pool-t tehát maguk a fizikai diskek testesítik meg. A poolnak rendelkezniee kell egy névvel, ami egy metaeszköz neveként funkcionálhat, amire hivatkozhatunk. A poolban pedig még azt kell tudnunk definiálni, hogy a fizikai diszkek között milyen fajta RAID szintnek megfelelő kapcsolatot, tömbösítést kívánunk alkalmazni. Redundancia nélkül (hasonló mint a RAID 0), tükrözve (RAID 1) két vagy több eszközt, vagy RAID-Z csoportba három vagy több eszközt (egy elem kiesését tolerálja), vagy RAID-Z2 csoportba négy vagy több eszközt (két elem kiesését tolerálja).
2009 júliusa óta a három paritásos RAID-Z3 technológia is elérhető az OpenSolarisban. Ezen túl poolokhoz opcionálisan adhatunk külön tároló eszközöket hot-spareként, illetve gyorsítótárként. Egyszerű parancsok segítségével megoldható a poolok bővítése és rendezése is dinamikus és könnyű.
3/6
ZFS fájlrendszer
Wilhelm Tamás
CoW ( Copy-on-Write ) Ahogy SVM esetében, úgy ZFS esetében is vannak meta adatbázisok. Mi több a ZFS esetében ez sokkal fontosabb szereppel bír, mert az egész ZFS egy adminisztráció alapú meta adatbázis gyakorlatilag. Az úgynevezett Copy-on-Write alapú paradigmára épül, amit leegyszerűsítve talán úgy lehetne definiálni, hogy „írás esetén másolás”, egy széles körben alkalmazott módszer az I/O műveleteinek optimalizálására. A copy-on-write jó példája az úgynevezett lusta kiértékelés/végrehajtás (lazy evaluation) elvnek, ami azt mondja, hogy a rendszerben a költséges, vagyis sok erőforrást igénylő műveleteket el kell halasztani mindaddig, amíg azok végrehajtása már ténylegesen kikerülhetetlen nem lesz. Tehát a magát a műveletet lekönyveli a meta adabázisába, majd amikor jut rá idő és energia akkor ténylegesen kiírja lemezre is.
Ez az adminisztráció gyakorlatilag teljes optimalizálást tesz lehetővé. A poolunk előlünk elrejtve megfelelőképp írja ki az adatokat a lemezekre. Eközben optimalizálást és átszervezést végez, anélkül, hogy mi tudnánk, illetve, hogy foglalkozunk kellene vele. Ebből a teljes adminisztrációból következik, hogy elég egyszerűen lehet klónozni, illetve snapshotot készíteni, hisz csak a megfelelő meta adatokat kell megduplikálni, és az utána következő módosításokat kezelni, amit a copy-on-write megoldás nagyban segít.
4/6
ZFS fájlrendszer
Wilhelm Tamás
Limitációk és attribútomok Az SVM-hez hasonlóan, amikor létrejön egy metadevice az ugyanúgy használható, mint egy zpool. Persze a zpool a /ZPOOL_NEVE alatt egyből elérhető lesz, míg a metadevice esetében külön fájlrendszert kell tennünk rá, és mountolni ahová szeretnénk. Szintén hasonló képp, mint a softpartíciók esetében, a zpool esetében is lehetőségünk van fájlrendszereket létrehozni a zpoolból. Amikor egy fájlrendszertt csinálunk, az a /ZPOOL/FILESYSTEM_NEVE alatt egyből elérhető is lesz. Alapvetően ez csak egy újabb meta adminisztrációs elem lesz. A létrejövő fájlrendszer semmilyen beállítással, vagy megkötéssel nem rendelkezik, így a pool összes erőforrását uralni tudja. Tehát az új fájlrendszert testre kell szabnunk mindenféle attribútum, beállítás, megkötés megadásával. Legfontosabb néhány beállítás: -
mountpoint path ( ennek segítségével adhatjuk meg, hová szeretnénk mountolni )
-
reservation ( az adatmennyiség amit le akarunk foglalni ennek a fájlrendszernek )
-
quota (felső limit amit nem léphet túl a fájlrendszer )
-
compression ( lehetőségünk van adattömörítés használatára )
-
sharenfs/sharesmb (a meglévő fájlrendszert egy kapcsoló segítségével meg is oszthatjuk hálózatunkon )
5/6
ZFS fájlrendszer
Wilhelm Tamás
Parancsok: -
zpool o A kötetkezelő o create, destroy, add, import, export, df, iostat, vdevs, devices, config
-
zfs o A fájlrendszer kezelő o create, destroy, rollback, ls, mount, unmount
-
zvol o Az emulációs kötetkezelő o Create, destroy, ls
Deduplikáció
A deduplikáció, ahogy a nevéből is fakad az egyező adatok többszörös tárolását kivédendő szolgáltatás lenne. Kicsit talán hasonlít a tömörítéshez, de ez teljesen más. Jelenleg még csak a legújabb OpenSolarisokban érhető el. Hol használhatom a ZFS-t? A Solaris 10 ( update 6 ) óta szerves része a ZFS a Solarisnak, sőt még root fájlrendszernek is használható. Portolták már FreeBSDre is. Sajnos a licenszelése miatt a Linux kernel része nem lehet, csak userspace-ben futtatható FUSE rendszerekkel. A ZFS ennek ellenére, nyílt és szabadon fejleszthető bárki számára.
6/6