Dane to najważniejsze zasoby współdzielone w sieci. Podstawą ich udostępniania są systemy plików, które zarządzają sposobem ich zapisu na dysku, a także mechanizmami ich współużytkowania.
Zastanówmy się czym w zasadzie jest system plików. Dane na dysku twardym zapisywane są w postaci zer i jedynek, a dokładniej te zera i jedynki są reprezentowane przez odpowiednie orientacje magnetycznych cząstek. Kiedy chcemy wgrać jakieś pliki na dysk, nie jest to wbrew pozorom takie proste. System operacyjny musi wiedzieć gdzie jest już coś zapisane, a gdzie znajduje się wolne miejsce. Właśnie system plików zajmuje się śledzeniem tych wszystkich informacji i to w zasadzie jest jego podstawową rolą (oczywiście istnieją również inne funkcje). To samo dotyczy odczytu z woluminu. System musi wiedzieć gdzie dana informacja się znajduje.
System plików FAT32Najpierw trochę historii. Pierwsza wersja systemu FAT
(ang. file allocation table) pojawiła się w systemie
MS-DOS. Rozwinięcie skrótu FAT w polskim tłumaczeniu to tablica alokacji plików.
Właśnie taki spis używany był do śledzenia stanu dysku, tj. posiadał informacje na temat wolnych oraz zajętych przestrzeni na nim oraz potrafił
identyfikować uszkodzone fragmenty, aby uniemożliwić ich wykorzystywanie.
Pierwsze wersje FAT-u zostały zaprojektowane głównie z myślą o dyskietkach oraz
naprawdę niewielkich dyskach twardych (pamiętajmy, że miało to miejsce w latach
'80). W 4. wersji MS-DOS pojawił się FAT16, który mógł już obsługiwać nośniki do
2 GB. Ta wersja królowała aż do wydania Windows 95 (włącznie). Powoli jednak zaczęły
ujawniać się problemy. Gdy pojawił się Windows 95, coraz powszechniejsze w
użyciu stawały się dyski powyżej 2 GB, poza tym FAT16 niezbyt wydajnie
zarządzał klastrami na większych woluminach (partycja lub dysk logiczny).
No ale czym są klastry? Odpowiedź wcale nie jest skomplikowana. Dysk twardy podczas formatowania dzielony jest na małe fragmenty zwane właśnie
klastrami. Każdy plik musi być zapisany w co najmniej jednym takim segmencie.
Ponadto w jednym takim obszarze może być zapisany kawałek tylko jednego pliku.
Zbyt duży rozmiar klastra powoduje nieefektywne wykorzystywanie przestrzeni
dyskowej. Wyobraźmy sobie taką sytuację: mamy plik o wielkości 17 KB i chcemy
zapisać go na dysk z systemem FAT16, gdzie rozmiar klastra dla woluminów 1,025
GB - 2 GB wynosi 32 KB. Po zapisaniu naszego pliku zostaje jeszcze 15 KB
zmarnowanego miejsca. Gdyby rozmiar klastra wynosił np. 4 KB, to plik zostałby
zapisany w czterech pełnych segmentach i w kawałku jeszcze jednego. Zmarnowałoby
się jedynie 3 KB w piątym klastrze.
Z ww. obszarami związane jest jeszcze jedno pojęcie - fragmentacja. Wyobraźmy
sobie, że kasujemy plik z dysku twardego. Po tej operacji pomiędzy pozostałymi zapisanymi
danymi powstaje wolna przestrzeń. Jeśli spróbujemy później zapisać inne informacje, to
prawdopodobnie będą one wgrane fragmentami właśnie w takich lukach. Po
próbie ich odczytu głowica dysku będzie musiała przeskakiwać z miejsca w
miejsce co spowoduje wydłużenie czasu dostępu do danych. Jeśli partycja będzie
podzielona na małe klastry, to plik będzie bardziej pofragmentowany. W przypadku
dużych klastrów fragmentacja będzie mniejsza, a także będziemy mogli utworzyć
większe partycje, ale miejsce będzie mniej efektywnie wykorzystywane. (większe
partycje dlatego, że system plików może obsługiwać jedynie ograniczoną liczbę
klastrów). Na szczęście proces fragmentacji jest odwracalny. Jeśli chcemy zdefragmentować
dysk wchodzimy w lokalizacje Mój Komputer,
klikamy prawym przyciskiem na interesującą nas partycję i wybieramy
Właściwości. Przechodzimy na zakładkę Narzędzia i klikamy w przycisk
Defragmentuj. Za pomocą tego narzędzia możemy zarówno przeanalizować wolumin
pod kątem fragmentacji jak i uporządkować go.
Kolejną wersją FAT-u był FAT32, który po raz pierwszy pojawił się w Windows 95 OSR 2. System ten obsługiwał już partycje do 2 TB (2048 GB), a jeśli partycja była nie większa niż 8 GB, to rozmiar klastra wynosił 4 KB. Nieefektywny rozmiar 32 KB był stosowany dopiero na woluminach powyżej 32 GB. FAT32 jest znacznie bardziej niezawodny niż FAT16, między innymi dlatego, że przechowuje kopie zapasową tablicy alokacji plików, co pozwala mu na skorzystanie z niej w razie uszkodzenia bądź utraty podstawowego spisu. FAT32 stał się standardowym systemem plikowym w produktach Microsoftu. Obsługiwany jest przez wszystkie systemy operacyjne wydane po jego premierze w Win 95 OSR 2. Ponadto jest on obsługiwany przez wiele innych systemów (jak np. Linux).
System plików NTFS
NTFS powstał na początku lat '90 w momencie, gdy Microsoft
postanowił wejść na rynek serwerów, gdzie do tej pory królowały systemy Novell, NetWare, Unix i OS/2. Należało opracować system plików,
który sprostałby wygórowanym wymaganiom sieci opartych na serwerach, takim jak
wysokie bezpieczeństwo i niezawodność. NTFS niemal całkowicie odbiegał od
swojego poprzednika FAT16 (FAT32 jeszcze wtedy nie istniał). Nie stworzono go na
podstawie starych rozwiązań, ale zupełnie od zera. NTFS pojawił się w 1993 roku
razem z premierą systemu Windows NT. Wraz z pojawianiem się kolejnych systemów
operacyjnych obsługujących to rozwiązanie (Windows 2000, Windows XP), pokazywały
się również kolejne odsłony NTFS-a.
Podczas powstawania systemu plików, mającego
spełnić wymagania serwerów, postawiono na kilka kluczowych spraw:
- Bezpieczeństwo
Tego punktu w ogóle nie było w systemie FAT. Wprawdzie można było używać osobnych programów do zabezpieczania danych, jednak W FAT-cie nie było żadnych funkcji mających na celu ochronę danych, co jest niezwykle ważne podczas zastosowań sieciowych. - Efektywna obsługa dużych dysków
Każdy serwer sieciowy musi być zdolny do obsługiwania dużych dysków, ze względu na samą ideę zastosowań tych komputerów. Ponadto system musi być uodporniony na błędy powstałe w wyniku np. nagłego odcięcia prądu, tzn. w wyniku takiej awarii dane nie mogą zostać utracone. Mechanizmem zapewniającym odporność na takie usterki jest wewnętrzna obsługa macierzy dyskowych RAID (ang. redundant array of independent disks - nadmiarowa macierz niezależnych dysków), w który NTFS został wyposażony. Taka macierz, jeśli jest odpowiednio skonfigurowana, uodparnia system na błędy. Jeśli chodzi o dużą pojemność dysków, to NTFS pozwala na używanie nośników do 16 TB, co wystarcza nawet w dzisiejszych czasach. Ponadto NTFS używa klastrów o małych rozmiarach (zazwyczaj 4 KB) co zapewnia efektywniejsze wykorzystanie przestrzeni dyskowej. - Niezawodność.
Każdy serwer musi być niezawodny. W NTFS występują elementy (jak choćby macierze RAID), które do tej niezawodności się przyczyniają. Dodatkowo NTFS jest tzw. dziennikowym systemem plików. Oznacza to, że system cały czas monitoruje zapis na dysku twardym i w razie np. odcięcia prądu może bez problemu usunąć ewentualną usterkę poprzez cofnięcie niedokończonych zmian. - Długie nazwy plików.
Może nie jest to tak ważne, by mówić o tym jako o kluczowej sprawie, jednakże warto o tym wspomnieć. NTFS obsługuje nazwy składające się z maksymalnie 255 znaków, podczas gdy jego poprzednik używał formatu 8.3 (tzn. 8 znaków na nazwę pliku i 3 na rozszerzenie po kropce).
Jeśli dysponujemy partycją w systemie FAT możemy ją przekonwertować na NTFS. Aby to zrobić wchodzimy w menu Start wybieramy pozycję Uruchom i wpisujemy cmd. Do wiersza poleceń można się również dostać wchodząc w menu Start a następnie rozwijając Programy, później Akcesoria oraz klikając pozycje Wiersz poleceń. W konsoli wpisujemy polecenie convert x: /FS:NTFS. W miejsce literki x wstawiamy literę dysku, który ma zostać zmieniony. Pamiętajmy, że proces konwersji jest nieodwracalny.
Najważniejsze funkcje NTFS w Windows XP
Dyski dynamiczne
Na ogół dysk twardy dzielony jest na woluminy takie jak partycje czy dyski
logiczne. Każdy z nich można sformatować, a następnie używać. Niekiedy jednak
zachodzi potrzeba rekonfiguracji pamięci masowej. Właśnie z tą myślą stworzono
obsługę dysków dynamicznych. Dysk dynamiczny jest to zwykły przekonwertowany na
dynamiczny dysk. Możemy go podzielić na dynamiczne woluminy, które z zewnątrz
niewiele różnią się od zwykłych woluminów. Jednak każda z takiej przestrzeni (z wyjątkiem systemowej i rozruchowej) może
być dowolnie powiększana przez administratora na nieprzydzieloną przestrzeń na
tym samym dysku fizycznym lub na innym, jeśli również jest to dysk dynamiczny. I
tu ujawnia się cała magia omawianego tutaj elementu. Jeśli stworzymy na dysku dynamiczną
partycję, to możemy później "rozciągnąć" ją na niezajęte miejsce na tym samym lub
nawet na innym napędzie. Tak więc jeden wolumin może ciągnąć się przez kilka
dysków, ale będzie obsługiwany tak samo jak zwykły. Jest to bardzo przydatna
cecha w wypadku kiedy pracujemy na bardzo dużych plikach. Każda z dynamicznych
partycji prowadzi własną bazę danych, w której zawarte są
informacje na temat wszystkich dołączonych dysków i woluminów.
Dzięki jej paru kopiom w wypadku awarii uszkodzone obszary mogą być łatwiej odtwarzane. Narzędzie
służące do zarządzania dyskami dynamicznymi znajdziemy wchodząc w Panel
sterowania, następnie w Narzędzia Administracyjne i tam klikając
Zarządzanie komputerem. Wewnątrz tej konsoli wybieramy Zarządzanie
dyskami.
Jeśli chcemy otworzyć okno konsoli możemy również kliknąć prawym przyciskiem na Mój komputer i z menu wybrać Zarządzaj.
Kompresja
NTFS został wyposażony w możliwość kompresji pojedynczych plików, folderów, a
nawet całych woluminów. Mechanizm kompresji wbudowany jest w sam system plików,
więc do jej używania nie są wymagane żadne inne programy. Ponadto dzięki temu
aplikacje korzystające ze skompresowanych danych nie muszą nic na jej temat
wiedzieć ani umieć jej obsługiwać wszystkim zajmuje się sam Windows XP. Nie zawsze jednak tak było. W FAT-cie można
było kompresować jedynie całe woluminy (za pomocą wbudowanego w system
narzędzia), ale najczęściej powodowało to ogromny spadek wydajności. Pamiętajmy,
że przed użyciem skompresowanych danych należy je zdekompresować, co w przypadku
często używanych plików bywa czasochłonne, zwłaszcza jeśli nie dysponujemy
wydajnym procesorem. Problem ten został po części rozwiązany w NTFS. W przypadku
próby czytania z pliku dane są dekompresowane i przechowywane w pamięci do
momentu ponownego ich zapisu na dysku twardym, kiedy to znów są kompresowane.
Dzięki temu kolejne próby dostępu do nich nie wiążą się z ciągłą dekompresją i
kompresją co znacznie przyśpiesza pracę. Mimo wszystko nie zaleca się
używać tego mechanizmu w stosunku do folderów, w których znajdują się często
używane przez różne aplikacje pliki. Tym bardziej nie powinno się włączać
kompresji na serwerze. Nadaje się ona raczej do archiwizowania danych, z których
rzadko korzystamy. Jeśli chcemy "spakować" całą partycję otwieramy Mój
komputer, klikamy prawym przyciskiem myszki na interesujący nas wolumin i
wybieramy Właściwości. Na dole zakładki Ogólne znajdziemy opcję
Kompresuj dysk, aby zaoszczędzić miejsce na dysku. Zaznaczamy ją i klikamy
OK.
Naszym oczom ukaże się jeszcze jedno okno, w którym zaznaczamy interesującą nas opcję i znowu klikamy OK. Teraz chwilę trzeba zaczekać aż cały proces się wykona.
W przypadku, gdy kompresujemy folder lub plik, klikamy na nim prawym przyciskiem myszy i wybieramy Właściwości. Na zakładce Ogólne klikamy przycisk Zaawansowane, a następnie zaznaczamy opcję Kompresuj zawartość, aby zaoszczędzić miejsce na dysku, ostatnim krokiem jest naciśniecie przycisku OK. Proces kompresji się rozpocznie.
Dziennik zmian
Dziennik zmian służy do przechowywania informacji na temat wszelkich operacji
(takich jak usuwanie, dodawanie czy modyfikowanie) dokonanych na
woluminach NTFS. W przypadku częstych zmian na dysku, dziennik może przybrać
znaczne rozmiary. Możemy jednak ograniczyć jego maksymalny rozmiar. Gdy zostanie
on osiągnięty, najstarsze dane zostaną usunięte na potrzeby nowych wpisów.
Dzięki dziennikowi system staje się bardziej uodporniony na błędy powstające na
skutek awarii. Ułatwia on również pracę programom, które skanują dyski np. pod
kątem zmian w plikach (jak programy antywirusowe). Gdy taka aplikacja potrzebuje
tego typu danych, to zamiast przeglądać całą zawartość dysku, po prostu korzysta
z dziennika.
Szyfrowanie
NTFS został również wyposażony w możliwość szyfrowania plików EFS (ang.
Encrypting File System), który używa pary kluczy (prywatny-publiczny) oraz
jeszcze niezależnego klucza. Jeśli zaszyfrujemy jakiś plik, to żaden inny
użytkownik (nawet administrator) nie będzie miał do niego dostępu. Dzięki temu
możemy ukryć przed innymi poufne informacje. Do zaszyfrowanego pliku nie będzie
miał dostępu nawet ktoś, kto potrafi obejść zabezpieczenia związane z dostępem w
NTFS. Również gdy komputer zostanie skradziony, złodziej nie będzie miał dostępu
do naszych danych. Przy próbie ich otwarcia zobaczy jedynie bezsensowny ciąg
znaków. Niestety szyfrowanie plików jest niedostępne w Windows XP Home Edition.
Aby zaszyfrować jakiś plik klikamy na jego ikonie prawym przyciskiem myszy i
wybieramy z menu Właściwości. Na zakładce Ogólne klikamy przycisk
Zaawansowane. Następnie zaznaczamy opcję Szyfruj zawartość, aby
zabezpieczyć dane. Podczas procesu kryptograficznego w dodatkowym oknie możemy
jeszcze określić czy ma być szyfrowany tylko katalog, czy również podfoldery i
pliki. Należy pamiętać, że nie można jednocześnie korzystać z szyfrowania i
kompresji.
W systemie Windows XP w stosunku do poprzednich wersji NTFS w Windows 2000 i NT pojawiła się nowość. Pozwala ona na współdzielenie zaszyfrowanych danych z wybranymi użytkownikami. Jeśli chcemy to zrobić klikamy na już zaszyfrowany plik prawym przyciskiem myszki i wybieramy Właściwości, na karcie Ogólne naciskamy przycisk Zaawansowane, a w nowo otwartym oknie Szczegóły (będzie on aktywny tylko gdy plik jest już zaszyfrowany). Po naciśnięciu Dodaj możemy pozwolić innemu użytkownikowi na korzystanie z zaszyfrowanego pliku.
Indeksowanie
Usługa indeksowania tworzy swoisty spis treści plików wraz z informacjami o
nich. Dzięki temu można łatwiej wyszukiwać dane na podstawie różnych kryteriów.
Z usługi tej korzysta np. Wyszukiwanie w Windows. Indeksowanie zwraca uwagę
również na to czy dany plik jest dla nas dostępny i czy jest zaszyfrowany. Jeśli
nie mamy praw dostępu do pewnych danych, to nie zostaną one wyświetlone na
liście wyszukiwania. Z kolei zaszyfrowane pliki nie są w ogóle indeksowane, gdyż
informacje o nich są zastrzeżone. Gdy zindeksowany plik zostanie zaszyfrowany,
to usługa indeksowania usunie go ze swojej bazy danych.
Lista kontroli dostępu
Lista kontroli dostępu (ACL - ang. access control list) przechowuje konfiguracje
zabezpieczeń dostępu do plików. Restrykcje te są bodajże najważniejszą
funkcją NTFS. Na woluminie NTFS każdy z plików posiada swoją własną listę ACL,
w której przechowywane są wszystkie informacje związane z zabezpieczeniami
dotyczącymi danej informacji. Niestety ACL nie jest obsługiwane przez system FAT.
Jeśli dane zostaną przeniesione na partycję FAT to komponenty ACL zostaną
zignorowane, w związku z czym zabezpieczenia zostaną utracone. Niestety
szczegółowy opis sposobu konfiguracji praw dostępu wykracza poza ramy tego
artykułu.
Znamy już właściwości systemów FAT32 i NTFS i należałoby się na któryś z nich zdecydować. Wszystko zależy od naszych zapotrzebowań. Jeśli wymagamy od systemu solidnych zabezpieczeń, niezawodności czy elastyczności to NTFS jest idealnym rozwiązaniem. Jednakże wszystkie jego dodatkowe możliwości zmniejszają wydajność. Więc jeśli zależy nam na maksymalnej efektywności to powinniśmy wybrać FAT32. Na korzyść FAT-u przemawia również fakt, że potrafi go obsługiwać większość systemów operacyjnych. Dobrym rozwiązaniem może być również zainstalowanie FAT32 na partycji, od której oczekujemy wysokiej wydajności, a na pozostałych - NTFS. Ponadto Microsoft zaleca używanie NTFS na wszystkich woluminach, które są udostępniane w sieci, gdzie funkcje bezpieczeństwa nabierają dodatkowego znaczenia.