Uwaga: Oryginalna wersja tego artykułu została opublikowana w IBM developerWorks i jest własnością Westtech Information Services. Poniższy dokument jest poprawioną przez zespół GDP wersją oryginalnego tekstu i nie jest już aktualizowany. |
1. Jak organizować dane na dysku
Czy zauważyliście jak wiele systemów plików jest obecnie dostępnych pod Linuksem? Nie tylko ReiserFS, ale również XFS firmy SGI i JFS od IBM (w postaci źródła) są dostępne pod Linuksem. Co za niesamowity wybór! Oczywiście posiadamy również system plików Coda, a także stary dobry ext2. Jak zwykle możliwość wyboru jest świetną rzeczą. W tym zbiorze wskazówek będziemy rozważali inny obszar gdzie mamy dużo swobody -- jak zorganiozować partycje na dysku. Bez względu na to jakiego systemu plików używamy, dobre rozplanowanie partycji jest niezbędne. Poniżej znajdują się trzy wskazówki, które pomogą utrzymać wszystko pod kontrolą.
Nie dzielimy na partycje całego dysku
Obecnie nowe maszyny często posiadają 20 lub 34 gigabajty pamięci na pojedynczym dysku. Te dyski są świetne, ale tworzą nowy problem: jak dokładnie podzielić dysk na partycje? Wielu z nas może co najwyżej zapełnić 12 GB i to jest to czym właśnie próbowaliśmy wypełnić dysk.
Zamiast dzielienia na partycje całego dysku już podczas instalacji, można rozważyć podzielenie tylko części dysku, którą wiemy, że będziemy używać. Później kiedy przyjdzie nam do głowy jak wykorzystać pozostałe 22 GB wolnego miejsca siedzącego na końcu dysku, będziemy mogli odpalić fdisk lub cfdisk i stworzyć partycję, która spełnia nasze wymagania. Teraz stworzymy partycje, które będą wystarczająco duże, aby przechowywały nasze pliki i pozostawią możliwość ewentualnego ich powiększenia. Nie należy się przejmować wolnym miejscem na końcu dysku, będzie ono tam zawsze kiedy tylko będziemy go potrzebować.
Moja druga wskazówka organizacyjna upłynnia tworzenie kopii zapasowych. Jeśli zamierzamy regularnie robić kopie zapasowe części systemu plików, bardzo dobrym pomysłem jest umieszczenie tych danych na osobnej partycji. Dlaczego? Ponieważ wiele narzędzi kopiujących i archiwizujących posiada specjalną opcję, aby nie przekraczać granic partycji (chociażby -x polecenia cp), które ułatwiają wybranie tylko tych plików, które potrzebujemy. Także możemy wybrać wielkość tej partycji, aby była zbliżona do rozmiaru danych z tworzonej kopii zapasowej. W ten sposób nie będziemy musieli martwić się o wypełnianie taśmy i możemy monitorować ile nam zostało wolnego miejsca na dysku za pomocą polecenia df. Następnie można prowadzić rejestr przechowywanych danych i zaplanować sobie odpowiednio potrzeby.
Partycja, aby zmniejszyć fragmentację
Na początku artykułu wymieniłem wszystkie nowe raportujące systemy plików dostępne na Linuksie. Pośród całego podekscytowania łatwo jest zapomnieć o naszym starym przyjacielu, systemie plików ext2. ext2 posiada jednak wady; na przykład nie jest nadzwyczajnie silny. Jednakże jedną rzeczą, która się wyróżnia (szczególnie w porównaniu do NTFS firmy Microsoft) jest utrzymywanie minimalnej fragmentacji. Fragmentacja pliku zachodzi kiedy dysk nie posiada wystarczająco dużo ciągłej wolnej przestrzeni, aby przechować cały plik. Efekt? Plik jest podzielony na nieciągłe "fragmenty", które są przechowywane na dysku. Podczas próby dostępu do tego pliku, głowica twardego dysku musi poprzeskakiwać wszystkie te miejsca gdzie znajdują się fragmenty pliku, aby go odczytać. To spowalnia prędkość wejścia/wyjścia, dodając dodatkowe przeszukiwania do procesu odczytu.
Dobrze, może ktoś zapytać, ale co w tym wielkiego? Poza tym na systemach plików ext2 potrzeba bardzo długiego czasu, aby doświadczyć na nich fragmentacji. Jednakże kłóciłbym się, że fragmentacja jest jeszcze dużym problemem, ponieważ pomimo że ext2 nie fragmentuje się tak łatwo, to fragmentacja jest skumulowanym procesem w jedną stronę. To znaczy, kiedy ext2 fragmentuje się powoli, nie może ono zdefragmentować siebie samego. Innymi słowy jakikolwiek często modyfikowany system plików ext2 stopniowo będzie coraz bardziej pofragmentowany, więc będzie wolniejszy. Nawet gorzej, obecnie nie istnieją żadne godne polecenia programy defragmentujące system plików ext2. To znaczy, że w miarę upływu czasu fragmentacja będzie coraz większa, a jedynym sposobem, aby to naprawić jest wyczyszczenie całego systemu plików i później przywrócenie go z kopii zapasowej. To jest dosyć czaso- i pracochłonny proces. Więc jak problem fragmentacji może być w znacznym stopniu zmniejszony? Odpowiem na to pytanie w mojej następnej wskazówce. Więc do zobaczenia!