Filerendszerek Mi a filerendszer? Fat és NTFS alapvető jellemzői Linux és a filerendszerek Redundáns adattárolás (RAID)
A Filerendszer filerendszer = az operációs rendszer azon szolgáltatása, hogy egy adattároló eszközön több, egymástól függetlenül elérhető tárterületet biztosít. általában: – adattároló eszköz: fix méretű, véletlen elérésű, “block device” – független tárterület: “file” – file-ok név szerinti elérése, fa-szerű hierarchia, könyvtárak “directory” filerendszer = az adattárolón található (adminisztrációs) adatstruktúra, és a működést megvalósító algoritmusok
Filerendszerek olyan szabálygyűjtemény, mely leírja mit, hol találunk meg a file-ban. adatok hozzáférését segítik nyilvántartási feladatok: file-hoz tartozó blokkok szabad blokkok könyvtár szerkezet helye adminisztratív adatok külső tördelés
Filerendszerek File-ok attribútumai: Indexelő filerendszer Naplózás Név Típus Jogosultságok Indexelő filerendszer Naplózás
Követelmények megbízhatóság biztonság hibatűrés hagyományos lemezek, file-ok lekezelése
Szolgáltatások Több adatfolyam (egy file-hoz) Reporse point (több filerendszer csatlakoztatás) Titkosítás (file rendszeren belül) Sparefile-ok (üres file) kvótrarendszerek Tömörítések
Jogosultságok Mappa megnyitása (file végrehajtása) Mappa listázása (file olvasása) Attribútumok olvasása Kiterjesztett attribútumok olvasása File létrehozása Mappa létrehozása (file-okhoz hozzáfűzés) Attribútumok írása Kiterjesztett attribútumok írása Könyvtárak és file-ok törlése Törlés Jogosultságok olvasása/törlése Saját tulajdonba vétel
Fat és NTFS alapvető jellemzői A FAT a régi MS-DOS alapú gépeken használt filerendszernek egy továbbfejlesztett variánsa Miket kell figyelembe vennünk a FAT használatánál? Név választása fileoknak A hozzáférési jogosultságrendszer (hiánya) A maximális file és partícióméret
A következő kritériumokat kell betartani egy FAT partíciónál A filenév a teljes elérési úttal együtt maximum 255 karakter lehet A név alfanumerikus karakterrel kezdõdik, és akármilyen karakterbõl állhat (kivéve: " / \ [ ] : ; | = , ^ * ? ) A név tartalmazhat akár több egymás melletti SPACE karaktert is A név tartalmazhat több pontot, az utolsó pont utáni rész kiterjesztésként értelmezendõ A kisbetûk és a nagybetûk külön kóddal vannak letárolva (de a nevekre való hivatkozásánál az operációs rendszer nem különbözteti meg őket)
A FAT filerendszerrel kapcsolatos egyéb megjegyzések A FATnek minimális fejlécre van szüksége (kevesebb, mint 1 MB) A FAT a 400 MB-nál kisebb partíciók esetén a leghatékonyabb filerendszer A hatékonyság a fileok számának növelésével visszaesik A maximális file és partíció méret FATen 4 GB
NTFS Filerendszer Az NTFS a leginkább robosztus (stabil, biztonságos) és titkos filerendszer File-ok és könyvtárak neve a kiterjesztésekkel együtt legfeljebb 255 karakter lehet Általában a neveknél nem számít a kisbetû/nagybetû különbség, bár külön vannak letárolva
AZ NTFS jogosultsági rendszere NTFS támogatja a hozzáférési jogok beállítását, valamint a birtoklási privilégiumokat A megosztásoknak is lehetnek különféle jogaik A fileoknak és a könyvtáraknak is lehetnek hozzárendelt jogosultságai (függetlenül attól, hogy meg vannak-e osztva)
Maximális file- és partícióméret NTFS nagyobb file- és partícióméretet támogat, mint a FAT (elméletileg 16 Exabyte is lehet mindkettő) A maximális fileméret 4 GB és 64GB közt van a számítógép hardware kiépítésétől függően A müködő legnagyobb partícióméret 2 Terabyte
A UNIX filerendszer könyvtárakból álló fa-szerkezet, gyökérkönyvtár “minden file”: egy filenév bármilyen objektumot jelölhet - file, könyvtár, symbolic link, eszközfile inode(i=index): egy ilyen objektumot leíró struktúra a diszken symbolic link: objektumra mutat, de filenév alapján mount, umount: a UNIX-ban tetszőleges könyvtárra felcsatolható (mount)
A UNIX jogosultságkezelése inode-ban tárolt adatok: file típusa (file, könyvtár, symbolic link, eszközfile) hozzáférési jogok: tulajdonos, tulajdonos csoport, “permission bit”-ek a hozzáférési jog az inode-hoz, nem a linkhez tartozik
A UNIX jogosultságkezelése hozzáférési jogok: egy felhasználó a fileműveletek szempontjából háromféle kategóriába tartozhat: user, group, others (ugo) egy művelet háromféle lehet: rwx - read,write,execute így 3x3 azaz 9 “permission bit” így szokás írni: ugo-rwx sorrendben: pl. 644, 600, 755
Jogosultság Példákkal -rw------- 1 vipera users 0 2006-11-14 01:30 file_600 -rw-r--r-- 1 vipera users 0 2006-11-14 01:31 file_644 -rwxr-xr-x 1 vipera users 0 2006-11-14 01:31 file_755
Naplózó filerendszerek tranzakció: atomi műveletek olyan sorozata, amit vagy teljesen végre kell hajtani, vagy semmilyen részét sem szabad végrehajtani (pl. file törlése) tranzakció naplózással: beírni a naplóba, hogy milyen műveleteket fog csinálni (hova mit fog írni), végrehajtja a műveleteket, beírja a naplóba, hogy végzett fsck mindössze annyi, hogy a befejezetlen tranzakciókat újra (elölről) végre kell hajtani
Linux és a filerendszerek ext2: “A Linux filerendszer.” (volt sokáig) ext3: az ext2-re épülő, vele kompatibilis, naplóállományt használó naplózó filerendszer reiserfs: teljesen nulláról tervezett naplózó filerendszer. Mindent (könyvtárakat és a fileokat is) kiegyenlített fákban tárol. Blokk-töredékeket egy blokkban tárol, sok kis file esetén minden szempontból verhetetlen.
Quota melyik user, group hány blokkot ill. inode-ot foglalhat el? quota support linuxon: ext2, ext3, reiserfs, XFS inode limit: hány inode (file) lehet a tulajdonában? block limit: hány blokkot (byteot) foglalhat? hard limit: nem lépheti túl, minden további inode/blokk foglalási kísérlet sikertelen soft limit: túllépheti, az első túllépéstől ketyeg a “grace time” ha az idő lejár, utána hard limitként viselkedik
Redundáns adattárolás redundancia: plusz erőforrás használatával a hiba elfedése RAID: Redundant Arrays of Inexpensive Disks 0: stripe - nincs redundancia, a diszkeken a blokkokat felváltva használja. Egyenlő méretű diszkek kellenek. íráskor, olvasáskor egyaránt gyorsabb 1: mirror - két lemez egymás pontos másolata. Az egyik hibáját elfedi. Olvasáskor gyors, íráskor lassú.
Redundáns adattárolás 0+1: stripe + mirror 4: stripe + paritás: 1 diszk hibáját elfedi, paritásdiszk íráskor szűk keresztmetszet 5: elosztott paritás. Nincs szűk keresztmetszet, íráskor is gyors. implementáció: HW - egy diszknek látszik. SW - az OS végzi