|
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).
|