Gentoo Logo

1.  Wprowadzenie do urządzeń blokowych

Urządzenia blokowe

Rzućmy okiem na aspekty Gentoo Linux oraz ogólnie Linuksa związane z dyskami. Omówimy systemy plików, partycje oraz urządzenia blokowe. Następnie opiszemy proces podziału twardego dysku tak, aby jak najlepiej wykorzystać dostępne miejsce.

Zaczniemy od omówienia urządzeń blokowych. Najpopularniejszym z nich prawdopodobnie jest /dev/sda reprezentujący w Linuksie pierwszy napęd. Napędy SATA i SCSI otrzymują nazwy z rodziny /dev/sd*. Dzięki libata, nawet stare napędy IDE są nazywane /dev/sd*. Urządzenie to dawniej nazywało się /dev/hda.

Urządzenia blokowe stanowią abstrakcyjny interfejs dysków. Programy użytkownika mogą z nich korzystać nie martwiąc się o to czy napędy są typu IDE, SCSI czy jakiegoś innego. Przechowywane dane adresuje się jako ciąg 512-bajtowych bloków.

Partycje i plastry

Teoretycznie możliwe jest przeznaczenie całego dysku na system, zazwyczaj nie jest to jednak rozwiązanie zbyt praktyczne. Zamiast tego dzielimy napęd na mniejsze i dużo łatwiejsze w zarządzaniu urządzenia blokowe. W większości platform nazywane są one partycjami. Część architektur korzystająca z podobnych technik nazywa je plastrami.

1.  Projektowanie schematu partycjonowania

Jak dużo i jak wielkich?

Ilość partycji ściśle zależy od naszego środowiska. Na przykład jeśli administrujemy systemem mającym wielu użytkowników prawdopodobnie uznamy za stosowne oddzielenie /home, co poprawi bezpieczeństwo i uprości proces tworzenia kopii zapasowych. Jeżeli docelowym zastosowaniem instalowanego systemu jest serwer pocztowy to na osobnej partycji należy umieścić /var gdzie przechowywane są listy. Dobry wybór systemu plików może tu znacznie zwiększyć wydajność. Za to oddzielenie /opt jest dobrym rozwiązaniem na serwerach gier, gdyż większość używanego oprogramowania będzie instalowana właśnie tam. Powodami przyjęcia takiego rozwiązania są również bezpieczeństwo i łatwość tworzenia kopii zapasowych. Warto upewnić się, że partycja /usr będzie wystarczająco duża ponieważ będą tam znajdowały się nie tylko dane wszystkich aplikacji, ale również ważące 500 MB drzewo Portage.

Jak widzisz, wiele zależy od oczekiwanego rezultatu. Wydzielenie partycji lub woluminów ma wiele zalet:

  • Masz możliwość dostosowania jak najwydajniejszego w danym zastosowaniu systemu plików dla poszczególnych partycji lub woluminów.
  • Zapełnienie całego wolnego miejsca na partycji przez wadliwie działające narzędzie nie ma szkodliwego wpływu na całość systemu.
  • Jeśli to konieczne można skrócić czas kontroli systemów plików, gdyż można jednocześnie dokonywać jej na kilku partycjach (ma to znaczenie zwłaszcza na sprzęcie z wieloma dyskami).
  • Montując część partycji lub woluminów z opcjami read-only (tylko do odczytu), nosuid (ignorowane są bity setuid), noexec (ignorowane są bity wykonywalności) itd.

Niestety zbyt rozbudowany podział niesie ze sobą spore niebezpieczeństwo: źle zaplanowany zaowocuje pustkami na zbyt dużych i ciasnotą na zbyt małych partycjach.

1.  Partycjonowanie dysku za pomocą fdisk

Do przeprowadzenia podziału użyjemy programu fdisk:

Listing 1.1: Uruchamianie fdisk

# fdisk /dev/sda

Maszyny HPPA używają standardowych tablicy partycji DOS. Aby utworzyć nową tablicę partycji DOS użyj polecenia o.

Listing 1.1: Tworzenie tablicy partycji DOS

# fdisk /dev/sda

Command (m for help): o
Building a new DOS disklabel.

PALO (bootloader HPPA) wymaga do pracy osobnej partycji. Musisz na nią przeznaczyć przynajmniej 16MB na początku dysku. Powinna być typu f0 (Linux/PA-RISC boot).

Ważne: Jeśli nie utworzysz tej partycji system przestanie Cię kochać i się nie uruchomi. Ponadto jeśli masz dysk większy niż 2GB załóż tą partycję w jego pierwszych 2GB. PALO nie odczyta kernela znajdującego się dalej niż na pierwszych 2GB dysku.

Listing 1.1: Prosty schemat partycjonowania

# cat /etc/fstab
/dev/sda2    /boot   ext3    noauto,noatime   1 1
/dev/sda3    none    swap    sw          0 0
/dev/sda4    /       ext3    noatime        0 0

# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 4294 MB, 4294816768 bytes
133 heads, 62 sectors/track, 1017 cylinders
Units = cylinders of 8246 * 512 = 4221952 bytes

   Device Boot      Start    End     Blocks   Id  System
/dev/sda1    1      8      32953   f0  Linux/PA-RISC boot
/dev/sda2    9     20      49476   83  Linux
/dev/sda3         21     70     206150   82  Linux swap
/dev/sda4         71   1017    3904481   83  Linux

Kiedy Twoje partycje będą już gotowe, możesz przejść do paragrafu Zakładanie systemów plików.

1.  Tworzenie systemów plików

Wprowadzenie

Po utworzeniu partycji nadszedł czas na założenie na nich systemów plików. Jeśli jest Ci obojętne jakie wybierzesz lub jesteś zadowolony z domyślnych ustawień w podręczniku, przejdź do paragrafu Zakładanie systemów plików na partycji. W przeciwnym wypadku czytaj dalej aby dowiedzieć się więcej na ich temat.

Systemy plików

Jądro Linux obsługuje wiele różnych systemów plików. W tym tekście omówimy ext2, ext3, ReiserFS, XFS i JFS, ponieważ są one najczęściej używane w systemach linuksowych.

ext2 to sprawdzony i popularny linuksowy system plików, którego główną wadą jest to, że nie posiada księgowania. Powoduje to, że jego regularne kontrole przy starcie systemu bywają długotrwałe. Obecnie istnieją nowoczesne systemy plików z księgowaniem, które można szybko sprawdzić i to właśnie te polecamy naszym użytkownikom. Księgowanie zapobiega długotrwałym kontrolom podczas uruchamiania systemu oraz ewentualnym błędom spójności danych. Jeśli zamierzamy instalować Gentoo na bardzo mały dysku (mniejszym niż 4GB) musimy przekazać ext2 informacje o rezerwacji wystarczającej ilości inode w trakcie tworzenia systemu plików poprzez wydanie komendy mke2fs -T small /dev/<device>.

ext3 to odpowiednik ext2 posiadający księgowanie w trybach full oraz ordered, dzięki czemu w razie awarii dane odzyskiwane są błyskawicznie. ext3 używa indeksu drzewa HTree, który zapewnia wysoką wydajność w prawie wszystkich zastosowaniach. W skrócie, ext3 to bardzo dobry i niezawodny system plików. Jeśli zamierzamy instalować Gentoo na bardzo mały dysku (mniejszym niż 4GB) musimy przekazać ext2 informacje o rezerwacji wystarczającej ilości inode w trakcie tworzenia systemu plików poprzez wydanie komendy mke2fs -j -T small /dev/<device>.

JFS to bardzo wydajny system plików IBM wyposażony w księgowanie. Jest lekki, szybki i godny polecenia. Oparto go na drzewie B+ dzięki czemu doskonale sprawdza się w wielu bardzo różnych zastosowaniach.

ReiserFS to system plików z księgowaniem oparty na drzewie B+. Wykazuje się doskonałą wydajnością przy obsłudze bardzo wielu małych plików (kosztem zwiększonego obciążenia procesora). Nie jest tak aktywnie rozwijany jak inne systemy plików.

XFS to system plików z księgowaniem metadanych, który został zaprojektowany z myślą o skalowalności i nie posiada wielu dodatkowych możliwości. Nie jest on również zbyt odporny na problemy sprzętowe.

Zakładanie systemu plików na partycji

Aby założyć na woluminie lub partycji system plików powinieneś skorzystać z odpowiednich narzędzi:

System plików Program do zakładania
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Na przykład, aby założyć ext2 na partycji boot (w naszym przypadku /dev/sda2) oraz ext2 na partycji root (w naszym przypadku /dev/sda4) powinieneś wykonać następujące polecenia:

Listing 1.1: Zakładanie systemu plików na partycji

# mke2fs /dev/sda2
# mke2fs /dev/sda4

Teraz stwórz systemy plików na swoich partycjach z użyciem powyższych poleceń.

Aktywacja partycji wymiany

Aby utworzyć partycję wymiany skorzystaj z programu mkswap.

Listing 1.1: Tworzenie partycji wymiany

# mkswap /dev/hda2

Do aktywowania partycji wymiany użyj programu swapon:

Listing 1.1: Aktywacja partycji wymiany

# swapon /dev/sda3

Teraz za pomocą powyższych poleceń należy stworzyć i aktywować partycję wymiany.

1.  Montowanie

Po założeniu partycji i utworzeniu na nich systemów plików nadszedł czas na ich zamontowanie. Służy do tego program mount. Nie zapomnij o utworzeniu odpowiednich katalogów dla montowanych partycji. W przykładzie zamontujemy partycje boot i root:

Listing 1.1: Montowanie partycji

# mount /dev/sda4 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda2 /mnt/gentoo/boot

Uwaga: Jeżeli chcesz przenieść /tmp na oddzielną partycję, nie zapomnij po zamontowaniu odpowiednio poprawić praw dostępu: chmod 1777 /mnt/gentoo/tmp. Dotyczy to również /var/tmp.

Konieczne będzie także podmontowanie systemu plików proc (wirtualnego interfejsu jądra) w katalogu /proc, najpierw jednak musimy umieścić kilka plików na partycjach.

Kolejny rozdział to (Wypakowywanie plików instalacyjnych).

Zaktualizowano 1 kwietnia 2008

Oryginalna wersja dokumentu nie jest już aktualizowana

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.