Nélkülözhetetlensegédprogram, de melyiket válasszuk?

Már az elején felmerül akérdés, hogy miért van szükség töredezettség-mentesítő programra. Itt valójábankét használati szempontot lehet megkülönböztetni. Az első, amikor tudatosana gyorsabb működés érdekében optimalizáljuk partíciónkon a fájlok elhelyezkedését,erre leginkább az NT kiszolgálók illetve a hozzáértőbb NT munkaállomásfelhasználók esetén kerül sor, s itt nem mindegy, hogy milyen programotválasztunk. A másik eset a "nagytakarítás" esete, hogy jobban érezzük magunkat,ha rend van körülöttünk, így van ez gépünkkel is, tehát "rendet rakunk"egy segédprogrammal winchesterünkön. A végeredmény az egybefüggő fájl ésszabad terület, ezt a fejlesztők - tán gúnyosan - "szép lemeznek" nevezik,pedig korántsem csak ennyi az elvárás egy töredezettség-mentesítő programtól.
  

1.kép - Speed Disk DOS-hoz, a régi ismerős
 DOSalatt a töredezettség mentesítés viszonylag egyszerű probléma, az operációsrendszer, a DOS (pl. MS-DOS 6.22-ig) kizárólagos joggal rendelkezik a számítógépfelett. Továbbá nem kell a fejlesztőknek azzal törődniük, hogy különbözőtask-ok a töredezettség mentesítés során írni akarnának fájlokba, sőt mivelnincs operációs rendszer szinten beépített cache - fájl művelet gyorsító- még ezzel (ennek szinkronizálásával) sem kell a fejlesztés során bajlódni.Így viszonylag egyszerűen, közvetlen fizikai lemezműveletekkel a FAT fájl-rendszeregyszerűsége révén könnyen optimalizálható a töredezett fájl struktúra.DOS alatt legelterjedtebb a Symantec cég, Speed Disk programja volt (1.kép), mely számos verziót megélt. Ilyen program fejlesztése DOS alá olyannyira nem bonyolult feladat, hogy jártasabb rendszer-programozók nagyobbnehézségek árán viszonylag jó programokat fejleszthettek, így a fent nevezettSpeed Disk mellett még számos cég adott ki ilyen programot. Nem így vanez a multi task-os operációs rendszereknél. Már a Windows 95 alá fejlesztetttöredezettség-mentesítők készítése során jelentősen több probléma akadt,mint elődjénél, a DOS során. Mindemellett viszonylag jó és megbízható termékekláttak napvilágot, nagyrészt a FAT fájl-rendszer egyszerűségének köszönhetően.Persze érdemes megemlíteni, hogy ilyen, multi task-os környezetbe nagyrésztmásmilyen algoritmusú, felépítésű töredezettség-mentesítő kell, bár eza Windows 95/98 rendszereknél nem kellett, hogy elvárás legyen (révén nemkiszolgálók). Az igazi probléma a Windows NT operációs rendszer illetveaz NT natív állomány rendszerének az NTFS-nek az elterjedésekor jelentkezett.Az NTFS-t eleve úgy tervezték, hogy lehetőség szerint minimalizálja a fájltöredezést, így sokan azzal érveltek, hogy nincs is szükség NTFS-hez töredezettség-mentesítőre.Őket és a kételkedőket az idő megcáfolta és kiderült, hogy talán jobbanszükség van NTFS-hez a töredezettség-mentesítőkre, mint a jó öreg FAT-hoz.

Előző az NTFS fájl-rendszerrőlszóló írásunkbol, egyértelműen kiderül, hogy az NTFS "lelkét" alkotó MFT(Master File Table - Mester Fájl Tábla) lévén, hogy valójában ő is egyfájl, a fájlokhoz hasonlóan töredezhet. Így a partíció, a fájlok elérésiadatait, illetve jellemzőit tartalmazó tábla hozzáférési ideje jelentősennő, így lassítva az egész rendszert. Az NTFS fájl-rendszerű partíciók töredezettségmentesítésének szükségességét először az Executive Software ismerte fel,és még Windows NT 3.51-hez mutatta be töredezettség-mentesítő programját,a Diskeeper-t. Mivel a Windows NT már nem csak egy munkaállomás egyszerűoperációs rendszere, hanem kiszolgálóké is, így még nagyobb jelentőségevolt egy ilyen program fejlesztésének, hisz a géphez forduló nagyszámúfelhasználók várakozási idejét is csökkentette az optimálisabb - egybefüggő- fájl elrendezés végett. Azonban koránt sem volt ilyen egyszerű az NT-störedezettség-mentesítő programok fejlesztése: az NTFS az egyik legösszetettebbés legbonyolultabb fájl-rendszer. Beépített cache-sel rendelkezik, ígyszámos rendszerstruktúrát, fájlt és jellemzőt memóriában tart, nem is beszélvea megannyi egyidőben történő fájl hozzáférésről, módosításról. Az NTFSa Windows NT 3.51 során nem rendelkezett beépített cluster mozgató eljárással,így eleinte az Executive Software saját NTFS és FAT fájl-rendszer vezérlő-programokatadott Diskeeper programuk mellé. Ez a továbbiakban a service pack-ek (javítócsomagok)kiadása során számos kalamajkával járt, részint a Diskeeper lecserélteaz újabb NTFS vezérlőt, vagy fordítva, ami mind a felhasználók, mind aMicrosoft részére számos kellemetlenséggel járt.

A Windows NT 4.0 fejlesztésesorán nyílt lehetőség arra, hogy az Executive Software és a Microsoft bemutassaa töredezettség mentesítés beépített támogatását. A Microsoft operációsrendszerekhez hűen itt is csak a lehetőség volt adott, konkrét segédprogramotnem mellékeltek az NT rendszerekhez. Még egy egyszerűbb, "butított" verziósem került a Windows NT 4.0 mellé, úgy ahogy ezt az MS-DOS 6.2-ben a Microsoftmegtette a defrag (Symantec, a Speedisk egyszerűsített változata) programmal.A felhasználók nyomására a Windows 2000-ben (Windows NT 5.0) már lesz egyegyszerű defragmentáló program (a Diskeeper lebutított változata).

Az NT defragment API-ja
  

2.kép - Fájl és szabad hely töredezés
A Windows NT 4.0 töredezettségmentesítés támogatása a fájl-rendszer vezérlő (FSCTL: file system control)parancsokon alapul. A továbbiakban ezen parancsokat, illetve funkciókattekintjük át, hogy tisztában legyünk az NTFS partíciók töredezettség mentesítéséneknehézségeivel. Az alábbi négy FSCTL-t mutatták be a töredezettség mentesítéshez:FSCTL_GET_VOLUME_BITMAP, FSCTL_GET_RETRIEVAL_POINTERS, FSCTL_MOVE_FILE,FSCTL_READ_MFT_RECORD. Ezek a funkciónevek nem feltétlenül a Microsoftáltal használatos hivatalos nevek - ugyanis ezek nem közismertek -, viszontjól megvilágítják a parancsok funkcióit. Az első három mind NTFS illetvemind FAT fájl-rendszerek esetén használható, míg a negyedik az MFT révénnyílván csak NTFS környezetben nyeri el funkcióját. Ez a parancs lehetővéteszi, hogy nagyon pontos információkat szerezzünk egy fájlról, illetvea partíció fájljairól, annak elhelyezkedéseiről, viszont nem dokumentáltNTFS adatstruktúrák is szükségesek használatához, így nem foglalkozunkvele. A maradék három FSCTL viszont tökéletesen elegendő ahhoz, hogy úgyfejlesszenek - fejlesszünk - töredezettség-mentesítő programot, hogy nemismerjük sem az NTFS adatstruktúrákat, sem az adott pillanatban módosítottvagy a cache-elt állományokat. Ez nagyon fontos szerepet játszott az NTFSDefragment API kialakítása során. Csupán két fogalmat kell ismerni az NTFSfilozófiájából: LCN-nel jelölik a partíció adott logikai cluster-ét, pl.LCN 1234, a 1234. logikai cluster (LCN: Logical Cluster Number). Míg azegy fájlon belüli cluster-eket VCN-nel, az-az virtuális cluster számmal(VCN: Virtual Cluster Number) jelölik. A VCN 0 a fájl első (a nulladik)cluster-ét jelöli, mely fenti példánkban az LCN 1234-ben található.

A FSCTL hívásokat a WindowsNT kernel módú könyvtára az NTDLL.DLL fájl (\WINNT\SYSTEM32\) szolgáljaki számos más, pl. operációs alrendszeri funkcióval együtt. A fent megnevezettFSCTL-ek közül legelőször az FSCTL_GET_RETRIEVAL_POINTERS parancsot használjáka töredezettség mentesítő programok, ennek segítségével lehet lekérdezniegy adott fájl elhelyezkedését, az elfoglalt cluster-ek listáját. A visszaadottlista megmutatja, hogy a fájl melyik VCN-éhez melyik LCN tartozik. A másodikFSCTL parancs a FSCTL_GET_VOLUME_BITMAP, melynek segítségével a partícióüres - illetve foglalt - cluster-eit kérdezhetjük le. Ez is fontos parancs,hisz tudni kell, hogy hova lehet majd mozgatni más fájl cluster-ét. A visszaadottbit tömbben az 1-es bitek a foglalt, míg a 0-s bitek a szabad cluster-eketjelentik. Végezetül most, hogy már mind a fájlról és mind a partíció ürescluster-eiről begyűjtötte programunk a szükséges információkat nekiállhatunktöredezettség mentesíteni partíciónkat, illetve fájljainkat. (Hogy valójábanmit is töredezettség mentesítünk: a fájlt, vagy a partíciót? Bonyolultkérdés: valahol az arany középutat kell a töredezettség-mentesítő algoritmusnakmegcéloznia, ugyanis mindkettő megoldásnak van hátránya.) Az FSCTL_MOVE_FILEparancs hivatott az adott fájl, adott cluster-einek a szabad helyre történőátmozgatására. A parancs csak 4 KB-os vagy kisebb cluster méretű partíciókonhasználható így, ha a FORMAT paranccsal 4 GB-osnál nagyobb méretű partíciótkészítünk biztosan nem működik ez a parancs, és ezzel együtt számos defragmentálóprogram. A másik fontos dolog, hogy a - move-file - parancs által felszabadítotthely nem használható azonnal egy másik cluster "odamozgatására", ugyanisa véglegesítés, csak a határpont (checkpoint) képzésekor történik, amikb. minden 4-5 másodpercben zajlik le. A fájlok töredezettség mentesítésesorán fontos, hogy a másik folyamat (program) által kizárólagosra megnyitottfájlt nem lehet töredezettség mentesíteni. Így sem a paging file-t, sema registry-t, sem az NTFS adatstruktúrákat, és főképp az MFT-t nem lehetezekkel a szabványos parancsokkal töredezettség mentesíteni. Továbbá ezta fájl mozgató rutint úgy írták meg, hogy csak adat fájl cluster-eket tudmozgatni, könyvtár vagy meta-adatokat nem, így a könyvtárak sem töredezettségmentesíthetőek ezzel a szabványos - és igen megbízható ! - eljárással.

Ebből a rövid elméleti összefoglalóbóltalán az tűnik ki, hogy milyen egyszerű töredezettség-mentesítő programotírni. Valóban, tényleg egyszerű olyan programot írni, mely a cluster-eketide-oda mozgatja, hisz ezt már egyszerűen megtehetjük az alábbi példaprogrammal.Viszont a felsorolt számos buktató mellett ott van a legfőbb probléma,hogy igen jó, hatékony töredezettség-mentesítő algoritmust (algoritmusokat)kell kifejleszteni. Ezen algoritmusoknak egyszerre kell: a mind a fájlokat,mind a partíciót és nem utolsó sorban az üres helyet töredezettség mentesíteni.(Ugyanis a szabad hely is töredezve van a partíción, itt egy kis szabadhely, majd 456 cluster-nyivel arrébb egy kicsit nagyobb. A töredezett helypedig a későbbiekben növeli a fájl töredezést. Lásd 2. kép.) Továbbá olyanalgoritmusokat kell kifejleszteni melyek nem csak hatékonyak, hanem a fájlmozgatások számát is minimalizálni kell, avagy ezzel a töredezettség mentesítésiidőt csökkenteni. A probléma - az algoritmus - összetett, így nem csoda,hogy neves szoftverházak is csak "köztes" megoldásokat tudtak kifejleszteni.A "köztes" megoldások alatt értem a nem eléggé hatékony - de funkciójátjól ellátó - algoritmusokat (pl. Diskeeper), továbbá az egyszerűbb algoritmusokhasználatát nem szabványos - nem a fentiekben ismertetett - parancsokkal(pl. Speed Disk), melyeknek megbízhatósága elvileg megkérdőjelezhető.

Ittmegtalálható Mark Russinovich töredezettség-mentesítő példaprogramja (vagyitt: http://www.sysinternals.com/defrag.htm)és forráskódja, melyet a szakmaibb részletek irántérdeklődő Olvasóink áttanulmányozhatnak. A példaprogram a help-jében megadottmódon le tudja kérdezni a partíció üres cluster-einek listáját, az adottfájl helyfoglalását, illetve át tudja ezekkel a szabványos hívásokkal mozgatnia fájl egyes - vagy összes - cluster-eit. (A program nyugodtan kipróbálható,hibát nem okozhatunk vele, hisz a szabványos FSCTL hívásokat használja!)

Töredezettség-mentesítők a gyakorlatban

Két neves cég töredezettség-mentesítőprogramját teszteltük számos körülmény között. A teszt a probléma sokrétűségemiatt egészen sokáig elhúzódott, így sikerült a programokat mind hétköznapinaknevezhető, mind szélsőséges körülmények között "vizsgáztatni". A programoktesztelésekor a fent ismertetett elméleti rész fontos volt, ugyanis tudnikellett értékelni egyes programok szolgáltatását: "nem mind arany, amifénylik" állítja bölcsen a közmondás. A két töredezettség-mentesítő programa nem rég megjelent (és hazánkban a cikk megjelenésekor már kapható) ExecutiveSoftware cég Diskeeper 5.0 (DK5) illetve a Symantec cég Speed Disk 5.0(SD5) verziójú programja. Mindkét program számos fejlődésen ment keresztül,viszont a közös 5.0-s verzióra teljesen kettévált működési elvük, melyrőlaz alábbiakban szót ejtünk. A két tesztelt program mellett létezik mégmásik három - idehaza tudomásom szerint nem kapható - töredezettség-mentesítő,a PerfectDisk NT, O&O Defragmentation, és a VoptNT. A Windows NT-svilágban idáig leginkább a Diskeeper program volt elterjedve - mi is eztismertük, a 4.0-s változatot -, bár a konkurens termékek újításai ezt megváltoztathatják.

Diskeeper 5.0

A telepítés elkezdése előttfontos meggyőződnünk az alábbiakról: telepítettük-e már legalább az NTService Pack 3-at (NT SP3: a 3-as javítócsomag NT-hez) illetve, hogy rendszergazdaijogokkal léptünk-e be. Továbbá, amennyiben régebbi Diskeeper is van számítógépünkön,uninstalláljuk azt. A telepítő egyszerű és kényelmes. Legelőször meggyőződikarról, hogy a Diskeeper-höz (illetve az MMC-hez) szükséges verziójú, 4.01-esInternet Explorer (IE 4.01) telepítve van -e. Amennyiben nincs, akkor azIE 5.0 telepítését ajánlja föl, ahol a szokásos, a minimális illetve atestre-szabható telepítési módok közül választhatunk. Egy újra indítástkövetően folytatódik a telepítés a régebbi Diskeeper programok automatikuseltávolításával, amennyiben ezt még nem tettük volna meg. Harmadik lépcsőkénta megfelelő - 1.1-es - verziójú MMC (Microsoft Management Console) komponensttelepíti gépünkre, amennyiben az még nem található meg. A következő fázisa DCOM csomag vizsgálata: ez Windows NT 4.0 illetve Windows 98-nál mindenesetben megtalálható, így a DCOM csomag telepítésre csak a Windows 95-ösrendszerek esetén kerül sor. Ezután történik a konkrét Diskeeper telepítés,mely pillanatok alatt befejeződik. Végül lehetőségünk van online regisztrációra,melynek később még hasznát vehetjük. Az utolsó lépcső a Diskeeper új szolgáltatásának,a Frag Guard-nak a beállítása, ezt alább részletezzük. A telepítés befejezéseután újraindítjuk számítógépünket. A Diskeeper-t természetesen telepíthetjükSMS-sel (Microsoft System Management Server) is.
  

3.kép - NTFS partíció elemzésének eredménye
Az újraindítás után a Diskeeper-tfuttatva új felület tárul szemünk elé, a Diskeeper 4.0-hoz képest kicsitátalakították a felhasználói felületet. Fontos már az elején megjegyezni,hogy rendszergazdai jogosultságok szükségesek a program futtatásához. Azúj felhasználói felület egyik oka a mára már elterjedt MMC használata,mely keretfelületet nyújt a rendszer segédprogramoknak. Továbbra is megtalálhatóaka meghajtónevek felsorolva, de kibővítették a fájl-rendszer típus, a partícióméret, a szabad hely megadásával, így könnyebben eligazodhatunk, hogy melymeghajtókat érdemes töredezettség mentesíteni. Lehetőség van a DK5 verziójábanis a partíció analizálásra, ekkor tájékoztatást kapunk a pontos töredezettségiállapotról illetve arról, hogy rendelkezésre áll-e elég hely a töredezettségmentesítéshez (3. kép). Amennyiben az ajánlott 20% alatt van a szabad hely,akkor mindenképen érdemes felszabadítani valamennyit, hogy elérjük az ajánlottat,bár tapasztalataink szerint érdemesebb 20%-nál többet, kb. 24-27%-nyi szabadhelyet "keríteni". Az aránylag nagyobb méretű szabad hely azért fontos,mert a Diskeeper a - fent tárgyalt - Windows NT beépített fájl mozgatóhívásait használja, mely cluster-ből cluster-be mozgat, így nagyobb - összefüggő,nem töredezett - hely esetén gyorsabb és hatékonyabb lesz a töredezettségmentesítés. Ne lepődjük meg, hogy a DK5 pl. 25% szabad hely esetén aztírja ki, hogy csak 18% használható szabad hely áll rendelkezésre. Ennekaz az oka, hogy az MFT számára fenntartott szabad helyet nem lehet töredezettségmentesítésre - se - használni. (Az MFT számára fenntartott hely - MFT zone- általában a meghajtó 12%-a, melyre csak akkor lehet írni, ha már másholnincsen hely a partíción. Ekkor valójában nem is az MFT zónába írunk, hanemaz MFT zónát rövidíti le az NTFS vezérlő, így felszabadul használható hely.Az MFT zónát használó fájlok törlésekor a zóna újrafoglalódik.)
 
4.kép - NTFS partíció töredezettség mentesítése

  
5.kép - Egy ebédidőre ütemezett töredezettség mentesítés
6.kép - Boot idejű MFT, könyvtárstruktúra, és paging fájl töredezettség mentesítés
A töredezettség mentesítésnekalapvetően két módja van: az egyik a kézi, melynél megfigyelhetjük a műveletmenetét (4. kép), a másik és talán kényelmesebb az automatikus, az előrebeállítható. A kézi futtatás gyorsabb, az automatikus lassabb alapesetben.Ezt az Action menü Priority dialógusában állíthatjuk át. Az automatikusfuttatást a Diskeeper Set It and Forget It (állítsd be és felejtsd el)funkciónak nevezi, mely valójában a töredezettség mentesítés ütemezésétjelenti. (Action menü, Set It and Forget It ...) Beállíthatjuk, hogy mindenpénteken délután, vagy akár minden nap ebédidőben automatikusan induljonel (5. kép). Első használatkor amennyiben nem kívánunk sokat bajlódni vele,érdemes beállítani, hogy huzamosabb ideig - kb. 2 óráig - folyamatosanfusson, így odafigyelés nélkül töredezettség mentesíti a kiválasztott partíció(ka)t.Így az első kézi, vagy automatikus futtatás után a következő ajánlott lépcsőaz MFT, a könyvtár-struktúra, illetve a paging file (virtuálismemória fájl)töredezettség mentesítésének elindítása. Ez csak Windows NT esetén használható,és a számítógép újraindításakor fut le, amikor az NT "kék betöltő képernyője"látható. Ilyen állapotban fut a program, és akár fél órát is igénybe vehet,tehát ez egy újabb ebédszünet alkalmával érdemes elindítani (6. kép). Errecsak egyszer, első futtatáskor van igazából szükség (vagy nagy helykihasználásmellett is csak több havonta egyszer). Erre az újraindításos módszerreazért van szükség, mert az MFT illetve a többi rendszeradat nem töredezettségmentesíthető - szabványos hívásokkal - használat közben (online) így egyboot-oláskor működő külső programra van szükség. Az Executive Softwareilletékesei szerint ez a boot-oláskor lefutó program, hasonlóan a DK5 onlinefutó részéhez - a fent tárgyalt - szabványos hívásokat használja. (Bárezt egy szakértővel együtt bizonyos okok miatt kérdésesnek tekintem.)

Miutánaz MFT-t, a könyvtárakat és egyéb rendszeradatokat is töredezettség mentesítettük,érdemes beállítani az automatikus, pl. naponkénti futtatásra. A hatékonyabbfuttatás véget számos apróbeállításra van lehetőségünk. Az első, amit feltétlenülállítsunk be, a mellőzendő, nem defragment-álandó fájlok listája (Actionmenü, Exclusion List). Itt érdemes az átmeneti, ideiglenes temp és cachefájlokat felvenni, ahogy ezt az 7. kép is mutatja. A következő beállítása DK5 újítása - fent már megemlítettük - a Frag Guard opció. Itt lehetőségünkvan a paging file (virtuálismemória fájl) és az MFT töredezésének megelőzésére.Ez valójában egy egyszerű segédprogram mely figyeli, hogy tud-e az MFTilletve a paging file tovább növekedni. Amennyiben elfogy a közvetlen szabadhely, fájlok átmozgatásával - ha van rá lehetőség - szabadítja fel az MFT-tkövető helyet. Amennyiben még is töredezne az MFT vagy a paging file, akkorautomatikusnak elindítható a boot-oláskor lefutó segédprogram, melynekfuttatási idejét beállítatjuk. Érdemes beállítani, hogy a felhasználó jóváhagyását(confirmation) kérje az újraindításhoz (8. kép). Windows NT munkaállomásoknála töredezettség mentesítés a DK5 programmal ilyen egyszerűen megoldható,igazából nem igényel további beavatkozást. Egyszer feltelepítjük, majdelső használatkor "rendet teszünk a partíción" és beállítjuk az ezutániautomatikus működést.
 

 8. kép - A DiskeeperFrag Guard segédprogramjának
beállítása
7. kép - Nem defragmentálandófájlok felvétele
 

Windows NT szerver eseténazonban már más a helyzet. Itt telepítés után - egy alkalommal - érdemeséjjelre beállítani - nagyobb prioritással - a töredezettség mentesítést,majd az MFT-t, könyvtárakat illetve rendszeradatokat egy a felhasználókatkevésbé zavaró időpontban töredezettség mentesíteni a boot-oláskor futóprogrammal. Ezután itt is beállítható az MFT töredezésének megelőzése,a Frag Guard programmal. Az automatikus töredezettség mentesítés bármikorfuthat, ugyanis a DK5 algoritmusa se nem foglalja le a kiszolgálót, ésnem növeli jelentősen a töredezést a program futása során. (A töredezettséga defragmentálás során eleinte mindig nőni szokott, ugyanis helyet kellteremteni a töredezettség mentesítéshez, és ez egyes fájlok egyes részeinekátmozgatásával jár, ami növeli eleinte a töredezettséget. 

9.kép - Távolról, kézileg defragmentálni kívánt gép kiválasztása
A kérdés az eleinte megnőtttöredezettség mértéke illetve, hogy meddig áll fent ez az állapot. Ebbena DK5 jól szerepelt, ugyanis nem növeli túlságosan a töredezettséget, illetveaz első "hely teremtő" fázis után gyorsan csökken a fájl töredékek száma.)Előnyei ellenére természetesen érdemes éjszakára - illetve kevésbé használtperiódusra - időzíteni.

A Diskeeper-nek létezik szerververziója mellyel lehetőség nyílik más gépek távoli defragmentálására. ADK5 szerver verzió futhat mind Windows NT munkaállomásos és mind szerveren.Itt egyszerűen kiválaszthatjuk a menedzselni kívánt gépet (9. kép), majdvagy közvetlenül töredezettség mentesítjük (a saját gépnél lévő módon hasonlóanlátjuk a folyamatot), vagy a DK5 szerver segítségével ütemezzük a töredezettségmentesítést. Az ütemezés esetén a felhasználó munkája alatt, háttérbenfolyik a töredezettség mentesítés. A távoli defragmentálás feltétele, hogya távoli gépre telepíve legyen a DK5 munkaállomás vagy szerver verziója.

Speed Disk 5.0

A Speed Disk eddig nem tartozottaz NTFS töredezettség-mentesítők élvonalába, ez az új verzió viszont sokatváltoztathat pozícióján. A Speed Disk 5.0 (SD5) telepítése is egyszerűenzajlott le, pillanatok alatt telepítette a szükséges csomagokat és kiegészítéseket.Az újraindítás során a Symantec-től megszokott, könnyen kezelhető felhasználóifelületet kapjuk, bár a partíció egyes cluster-eit reprezentáló grafikairész kevésbé áttekinthető, mint a Diskeeper-nél. (Persze nem ez az elsődlegesegy ilyen programnál.) A program négy fő részre oszlik (bal oldalt választhatunk):a töredezettség mentesítésre, az analizálásra, a partíció optimalizálásánakbeállításra, és az ütemezésre. Itt is lehetőség adódik az analizálásra,külön diagramban és szövegben is leolvasható a töredezettség mértéke, továbbáa leginkább töredezett fájlokat is felsorolja az elemzés (10. kép). Telepítésután, első használatkor általában szükséges a töredezettség mentesítés,így következő lépésben az Optimization Map gombot kiválasztva megkapjuka defragmentáló ablakot, a meghajtók felsorolásával (11. kép). A töredezettFAT illetve NTFS meghajtókat bőséges szabadidőnk esetén optimalizáljuk,ugyanis relatíve sok időbe telik a teljes partíció első "rendezése". Hogymiért optimalizációt említek, és nem töredezettség mentesítést?
 

10. kép - A SpeedDisk NTFS partíció elemzése
11. kép - Speed Diskoptimalizálás közben

Nos az SD5 újításai közöttsokat emlegetett tulajdonsága, az optimalizáció. Ez abban áll, hogy nemegyszerűen töredezettség mentesíti a fájlokat, illetve a partíciót, hanema fájlokat utolsó használati idejének megfelelően sorrendbe rakja: amelyeketkét hónapon belül használtuk utoljára, azokat rakja a partíció elejére,majd a két és négy hónap között módosított fájlok, majd a két hónapja módosítottak,és hasonló felosztásban a maradék fájlok, végül a szabad - egybefüggő -hely és a felhasználó által utoljára helyezett fájlok. Ez az optimalizációa Symantec szerint csökkenti a fájlok elérési idejét. Ezt több szakértővéleményével együtt nem támaszthatom alá. Az igaz, hogy a winchester elejénelhelyezkedő fájlok kis mértékben gyorsabban olvashatóak be, mint a közepénvagy a végén elhelyezkedőek, persze egyáltalán nem biztos, hogy a partícióa wichester elején található, hogy a legegyszerűbb esetet tekintsük. Ezenkívül számos olyan eset áll fent amikor van, és van amikor nincs semmielőnye. Azon esetekben, amikor ténylegesen rendelkezik előnnyel, az ígynyert "sebességnövekedés" elhanyagolható. Az optimalizáció mindennek ellenérerendelkezik előnnyel - is -, ugyanis a partíción a szabad helyet töredezettségmentesíti egy darabban a partíció végére, ez nem mondható el a Diskeeper5.0-ról mely csak a saját műveleteihez szükséges módon hoz létre egybefüggőszabad helyet. A szabad hely egybefüggősége pedig fontos szempont a továbbitöredezés elkerülése végett, mindamellett, hogy az Executive Software nemlátta be a Diskeeper ezen hiányosságát. Az optimalizáció további előnye,hogy a töredező fájlok a partíció viszonylag kis részére korlátozódnakígy elég lenne csak azt a részt töredezettség mentesíteni a további defragmentálásoksorán. Viszont a Speed Disk szinte minden esetben teljes mértékben optimalizáljaa meghajtót, így ha egy régen használt fájlt most nyitunk meg, akkor annaka gyakran használt fájlok között a helye, tehát számos fájlt kell elmozgatni,hogy azt oda helyezhessük, így hosszúra nyúlik az optimalizáció. (Igazaz egyes partíció részek után hagy üres helyet, hogy odamozgathassa a megváltozottfájlokat, de ez legtöbbször kevésnek bizonyult.) Ez a teljes optimalizációviszont nem jelent annyi teljesítmény növekedést, hogy érdemes lenne -napközben - ezzel terhelni egy kiszolgálót. Véleményem szerint sokkal hasznosabblenne, ha külön rendelkezne a Speed Disk egy teljes optimalizációval, illetveegy "gyors" töredezettség mentesítéssel. Ez valójában két különböző filozófiájú,a Diskeeper illetve a Speed Disk féle algoritmus ötvözését jelentené, ígykaphatnánk igazán hatékony algoritmust. Tesztjeink során fontos volt azelső töredezettség mentesítés, majd a módosított adatok újra rendezése,optimalizálása. A Diskeeper könnyen vette az akadályt, ugyanis csak a töredezettfájlok "rendbe állításával" törődött, míg a Speed Disk jórészt átrendeztea fájlok elhelyezkedését, ugyanis amit most módosítottunk az kikerült agyakran használt és nem módosított partíció részből, és a partíció végefelé, az üres hely elé került. Ez számos fájl - fölösleges - átmozgatásávaljárt, így hosszabb optimalizálást eredményezett.

Elengedhetetlen megemlítenia Speed Disk új töredezettség mentesítési módszerét. A SD nem a cikk elejénismertetett szabványos töredezettség mentesítési módszert, az NT beépítettfájl mozgató hívásait használja, hanem saját fejlesztésű, új, közvetlenfizikai lemezkezelését. Ez rögtön számos kérdést vet fel és gyanakvástkelt a szakértők körében. Még inkább bizalmatlanságot kelt az, hogy a SDaz MFT, a könyvtár struktúra, a paging file és a meta-adatok online töredezettségmentesítését is megvalósítja. Az első probléma már a sima fájlok módosításakorjelentkezik, ugyanis számos használt fájl cacheelve van (a fájlműveletgyorsítóban van), így a lemezen módosított fájlok és a cachebeli párukközött fenn kell tartani a koherenciát. A további probléma az MFT módosítása,hisz ennek módosított tartalmát a memóriabelivel még bonyolultabb dologszinkronizálni. Mindemellett vannak - elvileg - nem mozgatható fájlok.A fentiekből kitűnik, hogy a szabványos, NT-s hívások nélkül elég bonyolulta megbízható megoldás megvalósítása, mindemellett az SD sokkal többet kínál,mint az eredeti NT-s hívások, hisz az MFT online töredezettség mentesítésétis magába foglalja ez az új technológia. Így támogatja a 4 KB-nál nagyobbcluster méretű partíciók, az MFT, a könyvtárak, a paging file és a meta-adatokonline töredezettség mentesítését. A megbízhatósági kérdések pedig a legfontosabbanegy ilyen terméknél, hisz ezreket kiszolgáló NT szervereken is futtathatják.Ebbéli aggályainkkal kerestük meg a Symantec képviseletét, ahol elmondták,hogy majd két éve fejlesztik ez az új megoldást, és nagy hangsúlyt fektetteka megbízhatóságra. Továbbá elmondták, hogy a két év alatt a legtapasztaltabbSymantec fejlesztők foglalkoztak a kérdéssel, és majd két hónapig 20 ezrentesztelték a program beta változatát. A technikai oldaláról - érthetően- sajnos elég keveset mondtak, miszerint ez az NTFS driver kiterjesztésekéntműködik, és hasonló cache szinkronizációt alkalmaz, mint maga a natív NTFSdriver. További problémaként vetődött fel, hogy nem teljesíti az NT C2-esvédelmi szabványát, hisz olyan fájlokat is optimalizálhatunk melyhez nincshozzáférési jogunk. Ez azért lehetséges, mert nem az NT fájl mozgató hívásaival,hanem a saját fizikai lemezkezeléssel dolgozik. E felől is megnyugtattak:a felhasználói szintű komponensek 'backup' jogosultságot használnak ("beolvasható",áthelyezhető a cluster, de tartalmát a felhasználó nem érheti el), míga Speed Disk kernel szintű rutinok semmilyen módon nem használhatóak közvetlenolvasás vagy írásara.

A Speed Disk további funkcióittekintve itt is megadhatjuk a (Drive Options részablak alatt) az optimalizálásbólkizárandó fájlokat, sőt felsorolhatjuk a partíció elejére illetve végéremozgatni kívánt fájljainkat (12. kép). Például érdemes az \WinNT\ illetveaz \Program Files\ alatti összes EXE és DLL fájlt előre helyezni, illetveaz optimalizálásból a cache fájlokat kizárni.

Végezetül itt s lehetőségünkvan az optimalizáció automatikus futtatására, a schedule options ablakalatt (13. kép). Windows NT munkaállomások esetén tapasztalataink szerintérdemes heti egy alkalommal, pl. ebédszünetre időzíteni, míg Windows NTszerver esetén amennyiben mód van rá - nem túl foglalt - a kiszolgáló,érdemes napi egy alkalommal éjjelre időzíteni az optimalizációt (13. kép).
 

12. kép - Speed Disk:partíció és fájl beállítások
13. kép - Egy éjjelreütemezett Speed Disk
lemez optimalizáció

A Speed Disk-nél is van lehetőségtávoli töredezettség mentesítésre. Ezt az NSC konzolon (Norton System Center)keresztül tehetjük meg (14. kép), melyet utólag, külön kell telepíteni.Itt számos más Norton termékkel együtt menedzselhetjük a munkaállomásokat.
 

14.kép - NSC-ben ütemezett és elindított Speed Disk folyamatok
 
 
Összehasonlítás

A teszt ilyen programok esetébenkényes kérdés, ugyanis csak akkor van értelme a tesztnek, ha ugyanazonadatokon, ugyanazon a partíción hajtjuk vége. Így egy segédprogrammal,a már töredezett NTFS partíciót egy másik winchesterre másoltuk kétszer,először a Diskeeper-rel, majd a Speed Disk-kel defragmentáltuk, illetveoptimalizáltuk. A töredezettség mentesítés során fontos kérdés volt magaa program lefutásának ideje, a lefutás során a fájl töredékek számánakalakulása. Továbbá ketté osztottuk a töredezettség mentesítést: az első,illetve a módosított partíció defragmentálását is figyeltük. (Természetesenugyanazt a módosítást végeztük mindkét partíció esetén, egy hirtelen készítettprogrammal, mely a meglévő fájlokhoz fűz hozzá újabb anyagot. Így a módosítottfájlok töredeztek.) A tapasztalatok szerint a Diskeeper szereti, ha sokhely áll rendelkezésére és a szabad hely minél inkább legyen egybefüggőugyanis egyetlen nagy hátrányaként az róható fel, hogy nem tudja a szabadhelyet töredezettség mentesíteni. Ennek hatására, ahogy a partíció kezdbetelni (amit minden esetben el kell kerülni!) exponenciálisan lassul afájlok írása, illetve az ilyenkor utoljára írt - és ekkor már jó töredezett- fájlok olvasása. Első teszt diagrammunk (15. kép) megmutatja a fájltöredékekszámának alakulását az első defragmentáció utáni nagyobb - fent megnevezettprogramunkkal történő - fájl módosítás után. Második diagrammunk (16. kép)pedig a töredezett fájlok számát.
 

15.kép - A fájl töredékek számának alakulása a defragmentáció során
16.kép - A töredezett fájlok számának alakulása a defragmentáció során
 
A teszt körülményekről rövidenannyit, hogy egy 2.1 GB partíciót használtunk, az első defragmentálás előtt26%, majd a fájl módosítás után 21% szabad hely volt a partíción. A diagrammokróljól látható, hogy a Diskeeper a szinte teljesen töredezett hely miatt aligboldogult a töredezettség mentesítéssel: egy kicsit csökkent csak hosszúideig a töredezett fájlok száma és a nagyobb méretű fájlok töredékeivelnem tudott mit kezdeni (piros vonalak). A második esetben Speed Disk-keloptimalizáltuk a partíciót, így összefüggő szabad helyet kaptunk, ekkorvégeztük el a fájl módosítást, az ezutáni defragmentáláshoz most a Diskeeper-thasználtuk. A mostani eredmények - barnával jelölt - kiemelkedően jóak:a Diskeeper egybefüggő hely esetén pillanatok alatt befejezte munkájátés a defragmentálás alatt is csak kicsit nőtt a fájl töredékek száma. Aharmadik eset a teljes Speed Disk optimalizáció: a fájlok módosítása utánaránylag rövid idő alatt végzett, viszont eléggé megemelte az optimalizációideje alatt a töredezett fájlok számát, mely a munka ideje alatt lassítjaa kiszolgálót, így tényleg éjjelre - vagy kevésbé használt periódusra -érdemes ütemezni.

Következő diagrammunk (17.kép) a fenti teszt első részét ábrázolja. Látható, hogy a Diskeeper ittis gyorsabban végez feladatával és folyamatosan csökken a töredezett fájlokszáma, továbbá a fájl töredékek száma is szépen - folyamatosan - csökken.Gyors eredményt érhetünk el a Diskeeper-rel így nyugodtan alkalmazhatóa kiszolgáló aktív használata mellett is. Észrevehető a diagrammon, hogymaradt egy-két töredezett fájl, amit csak hosszú idő múlva tudott defragmentálni,ez részint a szélsőségesnek nevezhető körülményeknek tudható be. A SpeedDisk-nek több mint kétszer annyi időre volt szüksége, és az optimalizációsorán jelentősen nőtt a fájl töredékek száma. (Ez észrevehetően lassíthatjanagy fájl töredezettség esetén a kiszolgálót, hisz még tovább töredezneka fájlok.) Csupán az optimalizáció utolsó szakaszában - utolsó pár percében- csökkent, illetve szűnt meg a töredezett fájlok száma. Így a Speed Disk-etmunkaállomásoknál heti egyszer, pl. ebédidőben illetve szervereknél napontaéjjeli - kevésbé használt - periódusban érdemes ütemezni.
 

17.kép - A töredezettség mentesítés menete a két programnál
 
Mindkét termék mellé adnakregisztrációs kupont, mellyel a Windows 2000 kompatíbilis verzió elérhetőlesz valamilyen formában.

Választásunk a Symantec SpeedDisk 5.0 termékére esett mindamellett, hogy viszonylag lassabb illetve,hogy idáig csak a Diskeeper régebbi verzióit ismertük és próbáltuk ki.Új technológiájának megbízhatóságát a Symantec majd 15 éves ilyen jellegűtapasztalta és a számos beta tesztelő garantálja. A Speed Disk csupán orrhossznyivalhagyta le versenytársát, és elsősorban nem a promóciós anyagokban sokszoremlegetett MFT online defragmentáció győzött meg, hisz erre valójában ritkánvan szükség. A szabad hely töredezettség mentesítése és az ezzel járó előnyök,amik valójában meggyőztek bennünket az NTFS töredezettség mentesítésbennagy múltú Executive Software, Diskeeper termékével szemben. Természetesenaz ár is fontos szempont a termék kiválasztásánál, ezt táblázatunk foglaljaössze. Lapzártakor a Speed Disk termék csak licenc formájában kapható,tehát emellé még meg kell vásárolni a telepítő készletet. Továbbá minimum10 licencet (pl. 1 szerver és 9 munkaállomás licencet) kell vásárolni.Remélhetőleg e sorok olvasásakor már kapható lesz dobozos formában isa Speed Disk. A Diskeeper ára kicsit magasabb, viszont már kapható dobozosformában is.
 
Javasolt végfelhasználóinettó árak lapzártakor (2000. január):
 

Diskeeper5.0 munkaállomás
18.400 FT
Diskeeper5.0 szerver
97.000 FT
SpeedDisk 5.0 munkaállomás
8.270 FT
SpeedDisk 5.0 szerver
59.030 FT
Telepítőkészlet Speed Disk-hez
5.140 FT
(A javasolt végfelhasználóiárak ÁFA nélkül értendőek.)

Felhasznált források,ajánlott címek:
 

MarkRussinovich, NT defragmentálás és példaprogram
AzExecutive Software web szervere, a DK5 letölthető változata
AzExecutive Software Európai képviselete
Symanteccég web szervere
 
A cikk, a PCWorld 2000. januári számában található meg. A kiadó és cikkíró engedélyéveljelentettük meg. Minden jog fenntartva, IDGMagyarország Lapkiadó Kft és ProgHu -Magyar Programozási Oldalak.