|
|
Pytanie o podział dysku/dysków na partycje jest jednym z najczęściej pojawiających się pytań. Aby prawidłowo dokonać tego podziału trzeba sobie odpowiedzieć na wiele pytań i wiedzieć jak startuje komputer i gdzie w systemie plików znajdują się poszczególne elementy systemu.
Struktura katalogówPoniższa tabela przedstawia najistotniejsze informacje o strukturze katalogów w linuksie wybrane z Filesystem Hierarchy Standard
Oprócz wymienionych tu katalogów mogą w głównym drzewie występować inne katalogi tworzone przez administratora systemu. Zalecane jest jednak aby takie katalogi tworzyć jako podkatalogi już istniejących katalogów trzymając się przeznaczenia opisanego powyżej. Uruchomienie systemuKolejnym elementem istotnym przy planowaniu podziału na partycje jest znajomość sposobu uruchamiania systemu. Zajmiemy się komputerami PC jako najczęstszym przypadkiem. W momencie włączenia zasilania uruchamiany jest program zapisany w kości pamięci umieszczonej na płycie głównej. Program ten nazywany jest BIOS-em i wykonuje podstawowe testy sprzętu. Po sprawdzeniu sprzętu, BIOS poszukuje urządzenia bootującego czyli takiego, które zawiera informacje niezbędne do załadowania systemu operacyjnego. Przyjmijmy, że urządzeniem tym jest dysk twardy (może to być również dysk CD/DVD, pendrive lub w szczególnych przypadkach zasób sieciowy). BIOS poszukuje odpowiednich informacji w pierwszym sektorze urządzenia (sektor to tylko 512 bajtów) i przekazuje kontrolę do procesu, który jest wskazany w tym sektorze. MBR (master boot record) nie zawiera faktycznie żadnego programu (na 512 bajtach niewiele można zapisać) ale informacje o fizycznym położeniu na dysku właściwego programu. Może to być wskazanie na konkretny program lub adres tzw. partycji aktywnej. W pierwszym sektorze partycji aktywnej znajduje się wywołanie właściwego programu startującego system. Program ten nazywamy bootloaderem i obecnie w linuksie jest to najczęściej GRUB. ![]() Instalacja bootloadera Bardzo często mówimy "zainstalować GRUB w MBR". Oczywiście nie chodzi tu o faktyczne zainstalowanie bootloadera w MBR bo jest to niemożliwe ale o zapisanie w MBR bezpośredniego wywołania GRUB-a z pominięciem poszukiwania partycji aktywnej. W przypadku alternatywnych systemów w MBR zawsze zapisywane jest wywołanie partycji aktywnej a bootloader wywoływany jest właśnie z tej partycji. Po przejęciu kontroli nad komputerem przez bootloader następuje wybór programu do załadowania będącego jądrem systemu. W przypadku systemu linux jest to najczęściej plik vmlinuz znajdujący się w katalogu /boot (w tym samym katalogu znajdują się pliki konfiguracyjne GRUB-a oraz sam bootloader). Po załadowaniu kernela bootloader przekazuje mu kontrolę nad sprzętem i kernel rozpoczyna uruchomienie reszty systemu. W tym celu montuje partycję zawierającą początek drzewa katalogów systemu (partycja ta jest podawana jako prametr kernela) i poszukuje plików /etc/rc.d/rc.sysinit (zawiera procedurę uruchomienia systemu) oraz /etc/fstab (zawiera opis zasobów dyskowych do zamontowania). Do prawidłowego przeprowadzenia startu systemu potrzebne są m.in. programy diagnostyczne oraz programy montujące filesystemy. Aplikacje te znajdują się w katalogach /bin i /sbin Dalszy proces uruchamiania systemu jest już zależny od wielu plików konfiguracyjnych ale dla nas jest to już mniej istotne w tym momencie gdyż zamontowana jest już cała struktura katalogów i dostępne są wszystkie aplikacje systemu operacyjnego. Z powyższego opisu możemy wyciągnąć pewne wnioski co do podziału dysku na partycje.
System głównyUruchomienie systemu to stanowczo za mało. System instalujemy po to żeby wykonywał jakieś zadania a do tego potrzebne są aplikacje realizujące te zadania. Aplikacje te instalowane są w podkatalogach katalogu /usr. W zależności od tego ile zadań ma realizować dana instalacja potrzebujemy tutaj od 3GB do nawet 10GB.
![]() Aplikacje ze źródeł Aplikacje instalowane ze źródeł są całkowicie niezależne od systemu pakietów rpm. Zatem instalacja aplikacji czy biblioteki ze źródeł nie rozwiązuje problemów zależności między pakietami. Jeśli pakiet, który próbujesz zainstalować zgłosi problem z zależnościami to szukaj pakietu spełniającego te zależności i nie próbuj instalować ze źródeł bo to niczego nie zmieni. W zależności od tego ile tego typu aplikacji chcesz instalować w systemie rozmiar potrzebny na /usr może się zwiększyć. Osobiście doradzałbym jednak odszukanie pakietów z potrzebną aplikacją/biblioteką lub samodzielne zbudowanie takiego pakietu zgodnie z wymaganiami systemu. W poprawnie prowadzonym systemie katalog /usr/local zawiera jedynie skrypty automatyzujące stałe operacje wykonywane w systemie (monitoring, backup itp.) czyli jego rozmiar jest znikomy i możemy pominąć w dalszych rozważaniach.
System główny to również katalog /root czyli katalog domowy administratora. Na koncie root pracujemy tylko wówczas gdy jest to absolutnie niezbędne, z poziomu tego konta nie łączymy się z serwisami internetowymi i nie ściągamy żadnych danych. Zatem katalog ten to tylko kadłub katalogu domowego i powinien być umieszczony w głównym katalogu systemu (musi być dostępny nawet w przypadku awarii systemu). ![]() Brak miejsca na partycji / Jeśli na filesystemie zawierającym katalog domowy roota zabraknie miejsca to możemy mieć problemy z zalogowaniem się na to konto. Wprawdzie najnowsze wersje dystrybucji linuksa są już odporne na ten problem ale inne systemy uniksowe nie więc lepiej wyrabić sobie dobre nawyki i dbać o to by partycja zawierająca główny katalog miała zawsze trochę wolnego miejsca. Kolejnym, istotnym dla pracy systemu katalogiem jest /tmp. Katalog ten jest wykorzystywany przez wiele aplikacji do przechowywania plików tymczasowych. W starszych wersjach systemów CentOS tutaj właśnie lądowały pliki sesji generowane przez php (obecnie /var/lib/php). Nadal katalog ten wykorzystywany jest do uploadu plików wykonywanego z poziomu formularzy na stronach www. Istotym jest również fakt, że do katalogu tego mają dostęp wszyscy użytkownicy systemu z prawem zapisu.
Teraz użytkownicy. Każdy użytkownik systemu musi mieć swój katalog domowy. Zgodnie z ze standardem katalogi domowe użytkowników stanowią podkatalogi katalogu /home. Ze względu na przeznaczenie tego katalogu proponuję wydzielenie go jako osobą partycję. Dzięki temu łatwiej będzie zarządzać przestrzenią wykorzystywaną przez użytkowników (quote) a w przypadku awarii, aktualizacji czy reinstalacji systemu dane te pozostaną bezpieczne nawet w prypadku konieczności formatowania innych partycji. Na partycję tą przeznaczam większość z pozostałej części przestrzeni dyskowej. Bardzo ważnym katalogiem jest /var. Tutaj lądują logi systemowe, gromadzone są informacje o zainstalowanych pakietach, oczekują w kolejce przesyłki e-mail oraz wydruki, gromadzone są bazy danych. Ponieważ mamy tu duży ruch to warto ten katalog umieścić na osobnej partycji. Wielkość tej partycji zależ od przeznaczenia systemu. W przypadku stacji roboczej powinno wystarczyć ok. 5GB. Jeśli jednak ma to być serwer ogólnego przeznaczenia (poczta i www) to wolną przestrzeń dyskową proponuję podzielić w stosunku 2:1 pomiędzy /home i /var. Systemy uniksowe wymagają jeszcze jednej partycji. Chodzi o tzw. swap. Jest to bardzo szczególna partycja gdyż nie jest montowana w systemie plików natomiast wykorzystywana jest bezpośredni przez kernel jako pamięć wirtualna. Dyskusja dotycząca wielkości tej partycji jest stara jak Unix. Dawniej swap wykorzystywany był jako pamięć dodatkowa do RAM-u. Należy jednak pamiętać, że swap znajduje się na dysku więc szybkość dostępu do takiej pamięci jest wielokrotnie wolniejszy niż do pamięci fizycznej. Dlatego obecnie swap traktuje się raczej jako "koło ratunkowe" w przypadku chwilowego przeciążenia systemu. Jeśli system nagminnie korzysta z tej partycji to jest to sygnał, że czym prędzej należy dołożyć pamięci RAM lub odciążyć system.
PodsumowaniePoniżej przedstawię dwie propozycje podziału dysku. Nie należy ich traktować jako dogmat. Każda instalacja posiada specyficzne wymagania i to co dobre w jednym przypadku może się nie sprawdzić w innym. Poniższe propozycje to raczej sugestia "na początek" a reszta zależy od administratora. Stacja roboczaPodział na partycje na stacji roboczej wyglądać zatem będzie następująco:
Jest to najmniejszy podział na partycje umożliwiający dalszą rozbudowę systemu i jednocześnie zapewniający bezpieczeństwo danych użytkowników. Dzięki wydzieleniu partycji /boot istnieje również możliwość instalacji alternatywnego systemu na tym samym dysku fizycznym. SerwerPodział na partycje na "domowym" serwerze ogólnego przeznaczenia (dysk 80GB):
Kategoria: CentOS
Kategoria: Filesystemy
|
Reklama |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||