Windows – Lemezkezelés
Petróczy Tibor
2.előadás Windows - Lemezkezelés Lemezkezelés szabványok: - ATA (Advanced Technology Attachment with Packet Interface (ATA/ATAPI)) újabban (P-ATA), vagy IDE (Intelligent Drive Electronics or Integrated Drive Electronics) - SCSI szabvány (Small Computer System Interface) ejtsd: szkázi - S-ATA (Serial Advanced Technology Attachment) ATA (P-ATA) • 1986-ban fejlesztette ki a Western Digital • Busz: 16 bites • Sávszélesség: 16MB/s eredetileg, majd továbbfejlesztették 33MB/s, 66MB/s • Maximum 2 db egység 1 csatlakozón (Master/Slave) • Protokoll: párhuzamos adatátvitel • Kábel: 40 eres szalagkábel • ATA-2 (EIDE) • 1996-ban fejlesztette ki a Western Digital • Busz: 16 bites • Sávszélesség: 100MB/s, 133MB/s • Maximum 2 db egység 1 csatlakozón (Master/Slave) • Protokoll: párhuzamos adatátvitel • Kábel: 80 eres szalagkábel • Maximum 137 Gigabyte méretű merevlemez! SCSI 1981-ben fejlesztették ki eredetileg: "SASI", the "Shugart Associates System Interface„ névvel Interfacek: SCSI-1, Fast SCSI, Fast-Wide SCSI, Ultra SCSI, Ultra Wide SCSI, Ultra2 SCSI, Ultra2 Wide SCSI, Ultra3 SCSI, Ultra-320 SCSI, Ultra-640 SCSI S-ATA (Serial Advanced Technology Attachment) • 2003-ban fejlesztették ki. Eredetileg 1,5 Gbit/s sávszélességgel • Ma már létezik 3 Gbit/s és 6 Gbit/s változata is • Protokoll: soros adatátvitel • 1 csatlakozóra 1 eszköz csatlakoztatható • Alapvetően belső (alaplapi), de létezik eSATA azaz external SATA változata is (külső)
A RAID (Redundant Array of Inexpensive Disks vagy Redundant Array of Independent Disks) napjaink egyik fontos technológiája. Alapja: az adatok elosztása vagy replikálása több fizikailag független merevlemezen, egy logikai lemezt hozva létre. Célja: az adatbiztonság növelését vagy az adatátviteli sebesség növelését szolgálja.
-1-
Windows – Lemezkezelés
Petróczy Tibor
Nagy tárterület létrehozása, a logikai diszk haladja meg az egyes fizikai lemezek méretét Redundancia, azaz nagyfokú hibatűrés, az egyes lemezek meghibásodásával szembeni tolerancia Teljesítménynövelés, azaz az összekapcsolt lemezek együttes teljesítménye haladja meg az egyes lemezekét (pl. írási és olvasási műveletek átlapolása).
A Kaliforniai Egyetem számítástudományi tanszéke (University of California, Berkeley) 1987-ben dolgozta ki. Kezdetleges cél: két vagy több merevlemez összekapcsolása oly módon, hogy az a számítógép számára az egy darab logikai meghajtónak látszódjon (RAID 0), majd ezt követően fejlesztések során 1-től 5-ig határoztak meg különböző szinteket (RAID levels), Minden szint más és más elven valósítják meg az összekapcsolást, olyan szempontokat figyelembe véve mint a nagyobb kapacitás, nagyobb biztonság illetve nagyobb sebesség elérése. Névváltozás: korábban Inexpensive (olcsó), most az Independent (független). Összefoglalva: a RAID technológia lényege a nevében is benne van: több független merevlemez összekapcsolásával egy nagyobb méretű és megbízhatóságú logikai lemezt hozunk létre. A létrejövő logikai lemez mögött álló technológia teljesen láthatatlan az operációs rendszer számára, a RAID ugyanúgy lekezeli az olvasási, írási és egyéb lemezkezelési műveleteket. A RAID alapötlete a fizikai lemezek csíkokra (stripes) bontása. Ezek a csíkok minden lemezen egyforma méretűek, mely 512 byte-tól néhány megabyte-ig terjedhet. Az adatok nem folytonosan kerülnek egy-egy lemezre, hanem az egymást követő csíkokra round-robin (körbeforgásos) módon. !!!A SZINTEK CSAK EMLÍTÉS SZINTEN!!! A RAID 0 mindenféle redundancia vagy paritás nélkül csíkozza az adatokat a meghajtókon. Ez a szint nyújtja a legnagyobb adatátviteli sebességet és kapacitást, mind az írási, mind az olvasási műveletek párhuzamosan történnek. Hátránya, hogy nem biztosít hibatűrést, ezért egyetlen fizikai lemez meghibásodása az egész rendszert használhatatlanná teszi. Nem használnak tartalék-meghajtókat. Az RAID 1-es szint tükrözi (mirror) az adatokat, azaz az adatok duplikálva vannak. Az írás és olvasás párhuzamosan történik, ebből következik, hogy az olvasás jóval gyorsabb (kb. 2x) az írásnál. Amennyiben az egyik meghajtó kiesik, az adatok továbbra is rendelkezésre állnak a másikon, emiatt ez a szint elég jó hibavédelmet biztosít. A védelem ára a kétszeres fizikai lemez-szükséglet. A RAID 1 nem használja a csíkozást, azonban igen elterjedt az 1-es és 0-ás szint összekapcsolásával kapott RAID 10-es rendszer. Nem használnak tartalék-meghajtókat.
-2-
Windows – Lemezkezelés
Petróczy Tibor
A RAID 2 ajánlás már használja a csíkozást, emellett külön meghajtókat használnak paritás információk tárolására Hamming-kód segítségével. A Hamming-kód képes hibadetektálásra és annak javítására. A gyakorlatban nem használják ezt a RAID szintet. A RAID 3-4 szintén csíkozza a meghajtókat, és egyetlen kitüntetett lemezre írja a paritásadatokat. A két szint közti különbség, hogy a 3-asnál kisméretű csíkokat használnak, míg a 4-es szint nagyméretű blokkokkal dolgozik. Ha az egyik meghajtó meghibásodik, az adatok rekonstruálhatók a paritást tartalmazó lemez segítségével. Mivel a paritás információt íráskor kell generálni, ezért ez a számításigény kihat a rendszer teljesítményére. A RAID 3 és 4 a legjobban ott állja meg a helyét, ahol sokszor nagy fájlokat, adatokat mozgatnak, és fontos a redundancia. Tartalékmeghajtók hiba esetén átvehetik a sérült lemez szerepét. A RAID 5 már nem csak az adatokat, hanem a paritás információkat is csíkozva helyezi el a lemezeken. A paritás sorban a következő meghajtóra kerül íráskor, ezzel az egyenletes elosztással kiküszöbölték a kitüntetett paritás meghajtó szűk keresztmetszetét. Az olvasási és írási műveletek párhuzamosan végezhetőek. Szintén írás közben számolja a paritást, de kizáró-vagy (XOR) algoritmust használ, mely kisebb adatmozgatások számára kiváló. Tartalék-meghajtók hiba esetén átvehetik a sérült lemez szerepét. A RAID 6 csupán az 5-ös szint kibővítése: nem csak soronként, hanem oszloponként is kiszámítja a paritást, így kétszeres meghajtó meghibásodás sem jelent problémát a rendszer egészére nézve. A megnövelt biztonságért cserébe azonban kevesebb hasznosítható terület áll a rendelkezésre. Megvalósítás RAID-et vagy szoftver vagy hardver módon lehet implementálni. A szoftveres megoldás a számítógép processzorát és memóriáját terheli, rontja a teljesítményt, viszont olcsóbb. Bizonyos operációs rendszerek rendelkeznek RAID támogatással, egyéb esetben speciális driverekre van szükség. A 3-as és 5-ös szintű RAID általában hardveres, egy külön RAID vezérlőt igényel, melynek saját processzora van a paritásinformációk és a fájlok helyének számítására. A hardveres vezérlő nem csökkenti a gép teljesítményét, teljesen átveszi az operációs rendszertől a RAID műveletek kezelését. Az ismertetett RAID technikák közül a RAID 0-t, RAID 1-et és RAID 5-öt használják elterjedten
File Systems (fájlrendszerek) A számítástechnika egy fájlrendszer alatt a számítógépes fájlok tárolásának és rendszerezésének a módszerét érti, ideértve a tárolt adatokhoz való hozzáférést és az adatok egyszerű megtalálását is.
-3-
Windows – Lemezkezelés
Petróczy Tibor
Precízebben meghatározva: egy fájlrendszer absztrakt adattípusok halmaza, amelyeket adatok tárolására, hierarchikus rendezésére, kezelésére, megtalálására illetve navigálásra, hozzáférésre, és visszakeresésére valósítottak meg. Vita tárgya, hogy egy fájlrendszer tekinthető-e egy speciális adatbázis kezelő rendszernek (DBMS) vagy nem. Tény ugyanakkor, hogy több fájlrendszer megosztása alapvetően az adatbázis technológiák jellemzője.
A fájlrendszerek alapvetően három osztályba sorolhatók: 1. lemezes fájlrendszerek, 2. hálózati fájlrendszerek, 3. speciális célú. Lemezes fájlrendszerek: A lemezes fájlrendszereket úgy tervezték, hogy a fájlok tárolására a számítógépek adattároló eszközei szolgálnak, amelyek leggyakrabban lemezes egységek. Ezek az egységek közvetlenül vagy közvetett módon kapcsolódhanak a számítógéphez. Például a lemezes fájlrendszerek közé tartozik a FAT, az NTFS, a HFS and a HFS+, az ext2, az ext3, az ISO 9660, az ODS-5, és az UDF. Néhány fájlrendszer naplózó fájlrendszerek közé sorolható, néhány viszont változatkezelő fájlrendszer. Adatbázis-fájlrendszerek: Egy új koncepció a fájlkezelésben az adatbázis alapú fájlrendszer. Ez azt jelenti, hogy a fájlok egy hierarchikus struktúrában helyezkednek el, saját jellemzőikkel azonosíthatóan, mint például fájltípus, téma, szerző, vagy egyszerű metaadat. Ezért egy fájl keresése megfogalmazható SQL-ben vagy akár természetes nyelven is, mint például a BFS-nél és a WinFS-nél. Tranzakciós fájlrendszerek: Ezek a fájlrendszerek egy teljesen speciális csoportot alkotnak: a rendszerben minden fájllal kapcsolatos eseményt vagy tranzakciót rögzítenek. Hálózati fájlrendszerek: A hálózati fájlrendszerek olyan fájlrendszerek, amelyek úgy viselkednek, mint egy távoli fájlelérési protokollal rendelkező kliens, ami biztosítja a szerveren lévő fájl elérését. Példák hálózati fájlrendszerekre az NFS, a SMB, az AFP és a 9P protokollok Néhány fájlrendszer: BFS (BeOS oprendszernél), Ext, ext2, ext3 (linuxos fájlrendszer, 3-as naplózott) FAT (Dos, Windows fájlrendszer) FFS (BSD fájlrendszer) HFS, MFS (MacOS fájlrendszer) ISO 9660 (CD, DVD fájlrendszer) NTFS (win nt, xp, 2000 … ) ReiserFS, Reiser4 (Linux fájlrendszer) UDF (alap fájlrendszer csomag) UFS (unix régebbi fájlrendszer) UFS2 (csak BSD használja) ZFS (solaris fájlrendszer) FAT (File Allocation Table) Láncolt lista Eredetileg 1976/1977-ben Bill Gates és Marc McDonald fejlesztette ki. Először a QDOS-ban jelent meg 1980-ban. -4-
Windows – Lemezkezelés
Petróczy Tibor
A legutóbbi változata a Vista SP1-ben is megtalálható 2008-ban. NTFS (New Technology File System - új technológiájú fájlrendszer) Indextáblás tárolás Az NTFS-nek három verziója létezik: v1.2 – NT 3.51, NT 4.0 v3.0 – Windows 2000 v3.1 – Windows XP, Windows Server 2003, Windows Vista Jellemzői Többszörös adatfolyamok (streamek) UNICODE támogatás Fájlok indexelése Dinamikus bad-szektor kezelés Hardlinkek és szimlinkek Fájlok tömörítése Naplózás Kvótakezelés Link követés Titkosítás Alternatív adatfolyam (ADS – alternative data stream) Az alternatív adatfolyamok (ADS) lehetővé teszik egy fájl csatolását több adatfolyamhoz. Például a szöveg.txt nevű fájl tartalmazhat egy ADS-t szöveg.txt:titok.txt néven (fájlnév:ads formátumban), amit csak az ADS név ismeretében vagy speciális fájlkezelő programokkal lehet elérni. Az alternatív adatfolyamok nem fedezhetőek fel a fájl méretének vizsgálatával, de elvesznek az eredeti fájl törlésével, illetve mikor a fájlt ADS-t nem támogató meghajtóra másolják (például egy FAT partícióra, floppy lemezre, hálózati megosztásra). Bár az ADS hasznos szolgáltatás, észrevétlenül csökkentheti a szabad területet. Kvóta A fájlrendszer kvótákat az NTFS 5-ben vezették be. Lehetővé teszik az adminisztrátorok számára, hogy korlátozzák az egyes felhasználók által lefoglalható tárterületet. Lehetővé teszi az adminisztrátor számára azt is, hogy lekérdezze az egyes felhasználók által lefoglalt terület méretét. Beállítható, hogy a felhasználó mikor kapjon figyelmeztetést, majd mikor tiltsa le a lemezfoglalást a rendszer. Az alkalmazások, melyek lekérik a szabad tárterületet, a kvótának megfelelő szabad területet fogják visszakapni. Encrypting File System (EFS) Erős, és a felhasználó számára átlátszó, fájl és könyvtár titkosítást biztosít az NTFS köteteken. Az EFS együttműködik az EFS szolgáltatással, a Microsoft CryptoAPIjával és az EFS File System Run-Time Library-vel (FSRTL). Az EFS szimmetrikus kulccsal (File Encryption Key, FEK) titkosít, mivel azzal nagyobb teljesítmény érhető el, mint egy aszimmetrikus kulcsú megoldással. A szimmetrikus kulcsot egy, a titkosítást igénybe vevő felhasználó publikus kulcsával titkosítják, és ezt a titkosított adatot a titkosított fájl alternatív adatfolyamába mentik. A visszafejtéshez a felhasználó privát kulcsával visszafejtik a szimmetrikus kulcsot, majd a szimmetrikus kulccsal visszafejtik a
-5-
Windows – Lemezkezelés
Petróczy Tibor
titkosított fájlt. Mivel ez a folyamat rendszer szinten történik, a felhasználó számára láthatatlan. Arra az esetre, ha a felhasználó elvesztené a privát kulcsát (például adatvesztés történt), helyreállító ügynökök visszafejthetik a fájlt. Ezért is függ a titkosítás erőssége a felhasználók által használt jelszavaktól, ami sebezhetővé teszi az eljárást helyi támadásokkal szemben. Fájltömörítés Az NTFS képes a fájlok tömörítésére az LZ77 algoritmus (melyet a ZIP fájl formátumban is használnak) használatával. Bár a tömörített fájlok írása és olvasása transzparens módon történik, a Microsoft ajánlása szerint a tömörítés használata kerülendő szerverrendszereken és profilokat tároló hálózati megosztásokon, mert jelentős processzorterhelést idéz elő. Kötet csatolási pont Hasonló a Unix csatolási pontokhoz, ahol egy másik fájlrendszer gyökerét csatolják egy könyvtárba. Az NTFS esetén ez lehetővé teszi fájlrendszerek csatolását külön meghajtó betűjel (például C:) használata nélkül. Könyvtár csatlakozások (junction) Hasonló a kötet csatolási ponthoz, de kötetek helyett könyvtárakra hivatkozik. Például ha a C:\A könyvtár a C:\B könyvtárra hivatkozik, akkor megnyitása esetén a C:\B könyvtár tartalmához fog hozzáférni. A könyvtár csomópont megegyezik a Unix szimbolikus hivatkozásaival, bár a Unix szimbolikus linekek fájlokra és könyvtárakra is alkalmazhatóak. Hard link (kemény kötés) A hard link hasonlít a könyvtár csomópontokhoz, de fájlokra, és nem könyvtárakra érvényes. A hard link csak az azonos köteten elhelyezkedő fájlokon használható, mivel egy Master File Table (MFT) rekord jelzi a hivatkozást. A hardlink valójában egy hivatkozás vagy mutató egy adattároló eszközön elérhető adatra. A legtöbb fájlrendszerben az elnevezett fájlok hard linkek. A fájl neve csak egy címke, amely az operációs rendszer számára egy adatra utal. Ennek megfelelően ugyanazt az adatot több néven is jelölhetjük. Ez azt is okozza, hogy az adaton végrehajtott változtatások megmaradnak akkor is, ha a fájl új nevet kap a későbbiekben. Hard linkkel csak azonos fájlrendszerben létező adatra lehet hivatkozni.
NTFS metadata: A metadata azon adatok gyűjtőneve, melyek a fájlrendszer működéséhez szükségesek. Mint már szó volt róla, egy NTFS köteten minden, ami a lemezen található, az fájl, még a fájlrendszeradatok is (pl. kötetleíró, boot információ, badszektorok leírása, MFT, etc...) Ezen tárolási filozófiának köszönhetően minden fájl könnyen lokalizálható és karbantartható, továbbá minden fájlhoz külön biztonsági leíró tartozhat. Ráadásul ha egy lemezterület meghibásodik, az NTFS áthelyezheti a metadatát, így védve az adatokat. A Master File Table (MFT) az NTFS kötet struktúrájának az alapja, megvalósítását tekintve fájl rekordok tömbje. Minden fájlbejegyzés mérete 1KB-ban van rögzítve, a clusterméretre való tekintet nélkül. Logikus, hogy az MFT a köteten lévő minden fájlról tartalmaz egy bejegyzést, még saját magáról is. Az MFT-ben található az NTFS metadatája is, melyek nevei mindig dollár-jellel ($) kezdődnek (az első 12
-6-
Windows – Lemezkezelés
Petróczy Tibor
bejegyzés, tulajdonképpen ezek a rendszerfájlok). Az ábrán látható, hogy az első 16 bejegyzés az NTFS részére van fenntartva, utána a felhasználói fájlok következnek: $Mft – Master File Table 1. $MftMirr – MFT Mirror 2. $LogFile – naplófájl 3. $Volume – Kötetfájl 4. $AttrDef – Attribútum definíció 5. \ - gyökérkönyvtár 6. $BitMap – Cluster foglaltság 7. $Boot – bootszektor 8. $BadClus – Hibás clusterek 9. $Secure – biztonsági leírók 10. $UpCase – Unicode karaktertábla 11. $Extend – Egyéb metadata 12-15.-ig – nem használt bejegyzés 16.-tól – Felhasználói fájlok és mappák
FAT
FAT32
NTFS
Oprendszer
DOS, W9x, NT
W98, W2k-
NT4, W2k-
Kötetméret
2GB
2TB
256TB
Fájlok száma
~65 ezer
~végtelen
~végtelen
Attribútumok
Alap (s, h, r, a)
Alap (s, h, r, a)
Bármi
Biztonság
Nincs
Nincs
Logfile, EFS
Tömörítés
Nincs
Nincs
Natív
Hibatűrés
Közepes
Alacsony
Teljes, automatikus
Kötetek, kötetkezelés: Basic vs Dynamic Disks Basic ~DOS elsődleges és kiterjesztett partíciók (max 4 partíció, de a kiterjesztetten belül még lehet több logikai…) logikai meghajtók Dynamic Windows 2000-től dinamikus lemezen dinamikus kötetek (bármennyi) fizikailag különböző merevlemezek összefogása RAID (RAID 1 és 5 csak a 2003-ban)
-7-
Windows – Lemezkezelés
Petróczy Tibor
Lemezkapacitás számítása:
C=c*h*s*b C – összkapacitás c – cilinderek száma (cylinder) h – író/olvasó fejek száma s – egy pályán (sáv) lévő szektorok száma b – egy szektor mérete (byte) Pl: 60gb-os winchester: 119150 cilinder, 16 fej, 63 szektor, 512 byte szektoronként C=119150*16*63*512=61492838400 byte = 57,269 GB Továbbá a gyártók 1000-es váltószámmal számolnak 1024 helyett, hogy nagyobb névleges kapacitást kapjanak. Egyszerű számítás: 60 GB = 60.000.000.000 byte a gyártók szerint, ezt átváltva 1024-gyel 55.879 GB-ot kapunk.
Gyakorlati rész Computer management: compmgmt.msc Lemezkezelés Töredezettség-mentesítő Lehetőségeink (MMC – Microsoft Managment Console): Információgyűjtés (méret, állapot, státusz…) Partíció létrehozás, törlés, formázás Meghajtó-betűjel módosítás, mountolás Alap / dinamikus kötetek RAID Parancssoros programok: Fsutil (lemezinformációk, fájlrendszer kezelés) Diskpart (lemezkezelő parancssori megfelelője, ezt tárgyalhatjuk grafikus felületen is) Chkdsk (lemezellenőrzés, javítás) Defrag (töredezettség mentesítés) Format (formázás) Convert (konvertálás fájlrendszerek között: fat, fat32 -> ntfs) Label (kötetcímke módosítás)
-8-