Lustre

A Unix/Linux szerverek üzemeltetése wikiből
A lap korábbi változatát látod, amilyen Marietta (vitalap | szerkesztései) 2009. december 19., 01:24-kor történt szerkesztése után volt.

(eltér) ←Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

A Lustre Linux alapú fájlrendszert nagyméretű számítógép-hálózatokban használják. Előnye a jól skálázhatóság, és a gyors I/O műveletek.

Tartalomjegyzék

1 Felépítése

Működésének lényege hogy a tényleges fájl és a hozzá tartozó metaadatok más más helyen találhatóak. Az adatok az Object Storage Serveren (OSS), a metaadatok pedig a MetaData Serveren(MDS) találhatóak.

1.1 MDS

Egy fájlrendszerben jelenleg egyszerre egy aktív MDS lehet (2.0-ás verzióra ígérik a fejlesztők több MDS használatát), azonban ajánlott egy másik passzív MDS használata is tartaléknak ha az első meghibásodna. Az MDS felelős hogy a felhasználók elérjék a szerverhez tartozó, MetaData Targeten (MDT) levő inodeokat. A Lustre-ben bővitett attribútumok vannak (extended attributes), melyekben megtalálható a hagyományos inode-okban tárolt információn kívül, az objektumok helyei az OSS-eken. Az MDS kapacitása a fájlrendszer 1-2%-át teszi ki, és kb 2 milliárd inode tárolására képes egy 8 TB-os rendszer.

1.2 OSS

Egy OSS-hez 2-8 OST tartozik 8TB maximum tárhellyel, ezek tárolják a fájlok egy-egy szeletét (object), egy fájlt maximálisan 160 részre bonthatunk részenként 8 TB mérettel azaz a rendszerben a maximális fájlméret 1,43 PB. A rendszer támogatja a bővítést, azonban zsugorítani nem lehet.

1.3 Kliens

A linux 2.6.16-os kerneltől a Lustre Patch nélkül is működik. Lehetséges userspace libraryt használni (liblustre), vagy NFS, CIFS-en keresztül is elérhetjük a rendszert. A Lustre a POSIX szabvánnyal kompatibilis. A kliens egy Logical Object Volume-ot (LOV) lát a fájlrendszerről.

Lustre halozat.jpg Lustre file.jpg

2 Lock manager

A Lustreban elosztott lock menedzser működik azaz az egyes műveletek előtt a részekre lock-ot kell kérnünk, azonban mivel minden OST és az MDS is külön rendelkezik ezzel a rendszerrel, így egy fájlon akár több felhasználó is végezhet műveletet, ha nem ugyanazt a szeletet akarják használni. Ütközés esetén az OST, felszólítja a lockot használó felhasználót hogy fejezze be a szelet használatát, és engedje el a lockot, amennyiben nem teszi meg ezt egy adott beállított időn belül, akkor a lockot a rendszer elveszi a felhasználó adatai pedig elvesznek. MDS-eken a lockolni kétféleképpen lehet, a felhasználó elküldi a kérését egy lockra, amiben benne van az elvégzendő művelet minden információja, majd a szerver eldönti hogy rögtön lock nélkül megcsinálja a kért műveletet vagy ad egy lockot a felhasználónak. Lehetőség van továbbá az inode-ok különböző részeinek külön lockolására is (Lustre 1.4-től).

3 Fájlrendszer

Adatvesztés elkerülése miatt, ajánlott a merevlemezeket RAIDdel létrehozni. Az MDS-nél ajánlott a RAID0+1, a OSS-nél RAID5 vagy RAID6. Az OST-ket LVM logikai kötetbe szervezzük. Lehetséges az egész rendszerről snapshotot készíteni, amit külön fájlrendszerként mountolhatunk. A rendszer kétféle Backup-ot támaogat az egyik a gtar módosított verziója (a bővített attribútumok miatt), a másik az rsync ami csak egy meghatározott időintervallum óta eszközölt módosításokat menti. A Lustre jelenleg ext3 módosított változatát használja, a jövőben várható az ext4 illetve a SUN ZFS fájlrendszere.

4 Hálózat

Támogatja a InfiniBand, TCP/IP Quadrics Elan, Myrinet, Cray hálózatokat. A hálózati hibákból adódó csomagvesztést 32 bites ellenőrzőösszeg (checksum) segítségével detektálhatjuk a kliens és szerver oldalon egyaránt. Ha nem egyezik a generált és kapott kód, akkor még 5 ször küldhetjük újra az adatot, majd I/O hibaüzenetet kapunk.

5 Összegzés

Lustre-t akkor érdemes használni, ha a gyors I/O műveleteken van a hangsúly. Bonyolultsága miatt nehézkes karbantartása, ezért kisebb rendszereknél jobban megéri más rendszert használni.

6 Hasznos linkek

Lustre wikipedia szócikk angolul

Lustre wiki

Lustre Operations Manuals

Személyes eszközök