Optymalny podział partycji i wybór systemu plików
Dysk twardy zaczął wydawać dziwne dźwięki. Po wydobyciu informacji ze S.M.A.R.T.-u okazało się, że dysk jest uszkodzony.
Pomyślałem, że zmiana dysku to świetna okazja do zmiany systemu plików i do napisania HOWTO.
Jeśli nie zmieniasz rozmiarów partycji czy systemu plików, tylko instalujesz Gentoo, możesz od razu skoczyć do punktu podział dysku.
Backup
Na początku polecam zrobić backup ;). Dobrym pomysłem jest przekopiować na drugi dysk większe pliki, takie jak filmy, muzykę czy grafikę.
Następnie restartujemy i bootujemy maszynę z liveCD i montujemy partycje.
Tworzymy katalog (np. /mnt/tmp/) i montujemy partycje naszego dysku. Montujemy je tak by odpowiadały tym co mamy aktualnie wpisane w /etc/fstab (uwaga, nie ten z LiveCD). Wchodzimy do katalogu gdzie jest zamontowany dysk i pakujemy wszystko z zachowaniem uprawnień: tar -cvjpf backup.tar.bz2 *.
W zależności od wielkości danych może to zając naprawdę sporo czasu. Tak przygotowany backup można wypalić na płytę DVD. Polecam go robić częściej (np. raz w miesiącu).
Podział na Partycje i Wybór Systemu Plików
Wybór rozmiaru partycji jest trudny i źle dobrany może nam w przyszłośći nastręczyć problemów. Dobór rozmiaru poszczególnych partycji trzeba dobrze przemyśleć, by nie okazało się, że na jednej wciąż brakuje miejsca a na drugiej jest go tyle, że nigdy go nie wykorzystamy.
Ja dzieliłem dysk 200GB, ale nie przejmuj się opis spokojnie pasuje również do mniejszych dysków jak 120 czy 80, ponieważ utworzyłem dodatkową dużą (prawie połowa dysku) partycję na multimedia.
Napewno masz gdzieś w pobliżu kawałek karti i długopis. Przyda się do zanotowania nazw i rodzaju systemu plików poszczególnych partycji.
| partycja | punkt montowania | system plików | pojemność |
| hda1 | /boot | ext3 | 54 MiB |
| hda2 | swap | swap | 505 MiB |
| hda3 | / | jfs | 9,6 GiB |
| hda5 | /var | jfs | 4,8 GiB |
| hda6 | /usr | jfs | 20 GiB |
| hda7 | /home | jfs | 48 GiB |
| hda8 | /tmp | xfs | 9,6 GiB |
| hda9 | /med | xfs | 96 GiB |
Dlaczego?
No właśnie. Podstawowe pytanie, dlaczego taki a nie inny podział? Postaram się to wyjaśnić w dwóch punktach, rozmiar i system plików.
Rozmiar
Podczas doboru wielkości poszczególnych partycji kierowałem się rozmiarem katalogów w mojej obecnej instalacji Gentoo.
Sprawdzałem ilość zajętego miejsca du /usr -shc i dodawałem do tego pewien zapas. Za rozmiar partycji /tmp przyjąłem podwojony rozmiar płyty DVD.
System Plików
Podaczas wyboru rodzaju systemów plików brałem pod uwagę benchmark z Linux Gazette.
To jaki system plików wybierzesz, zależy tylko od Ciebie i Twojej interpretacji benchmarku z Linux Gazette.
Tips
Gdybym posiadał UPS to jako główny system plików wybrałbym XFS. Ponieważ nie posiadam, wachałem się między ReiserFS i JFS. Wybrałem JFS ponieważ RaiseraFS używałem a z JFS-em nie miałem żadnych doświadczeń.
Po kilku dniach używania JFS-a mogę jedynie stwierdzić, że nie odczuwam zmian w szybkości pracy w stosunku do ReiseraFS. Jednak przy małej ilości miejsca na partycji ten system zachowuje się dziwnie, cały czas dysk pracuje. Po zwolnieniu kilku mega uspokaja się. :)
Niezależnie od tego jaki system plików wybierzesz dla większości partycji uważam, że dobrym pomysłem na partycję /var jest JFS. Ponieważ ma on najmniejsze zapotrzebowanie na czas procesora, a na tej właśnie partycji Gentoo przeprowadza kompilacje wszystkich emergowanych programów.
Jeśli tworzysz dodatkową partycje przewidzianą na multimedia proponuję wybrać XFS ze względu na jego ciekawą własność - realtime subvolume i przystosowanie go do dużych plików.
Realtime subvolume udostępnienie procesowi możliwości zarezerwowania dla siebie pasma dostępu do podanego pliku, o podanej szerokości (w bajtach na sekundę). Znajduje to zastosowanie na przykład przy obróbce m.in. plików multimedialnych, gdzie proces musi mieć stały szybki dostęp do plików, aby umożliwić edycję ich na bieżąco.
Proponuję też całkowicie zrezygnować z ext3 ze względu na jego niską wydajność.
Podział Dysku
Jeśli już wiesz jak dzielisz dysk i jakie systemy plików chcesz mieć możesz śmiało wklepać fdisk i utowrzyć partycje. Pamiętaj, że nie możesz zrobić więcej niż 4 partycje podstawowe. Jeśli dzielisz dysk na więcej niż 4 partycje pamiętaj, że jako czwartą musisz utworzyć rozszerzoną.
Tworzenie Systemu Plików
OK, jeśli dysk podzielony możesz zabrać się za system plików.
| system | polecenie |
| ReiserFS | mkreiserfs |
| XFS | mkfs.xfs |
| JFS | mkfs.jfs |
| ext3 | mkfs.ext3 |
Przykład:
# mkfs.xfs /dev/hda1
Przywrócenie Kopii Zapasowej
Mamy już podzielony dysk twardy i utworzony system plików. Pozostało tylko przywrócić dane i dopracować kilka szczegółów.
Jeśli nie zmieniałeś rozmiarów partycji czy systemu plików, tylko instalowałeś Gentoo od początku to HOWTO kończy się dla Ciebie. Wróć do handbooka.
Ostatnie Ustawienia - fstab i grub
Jeśli wszystko się rozpakowało poprawnie, należy przystosować plik /etc/fstab do nowego podziału dysku.
Przy zmianie partycji /boot (tzn. jeśli jej nie było a jest, lub na odwrót) musisz tak że zaktualizować plik /boot/grub/grub.conf.
Interesujący nas fragment pliku fstab dla omawianego tu podziału wygląda tak:
/dev/hda1 /boot ext3 noatime 1 2 /dev/hda2 none swap sw 0 0 /dev/hda3 / jfs noatime 1 1 /dev/hda5 /var jfs noatime 1 2 /dev/hda6 /usr jfs noatime 1 2 /dev/hda7 /home jfs noatime 1 2 /dev/hda8 /tmp xfs noatime 1 2 /dev/hda9 /med xfs noatime 1 2
Gdy /boot jest osobną partycja, plik /boot/grub/grub.conf powinien wyglądać podobnie do:
title=Gentoo Linux root (hd0,0) kernel /kernel-2.6.16-ck9 root=/dev/hda3
Jeśli natomiast nie utworzyłeś partycji /boot plik konfiguracyjny wygląda podobnie do:
title=Gentoo Linux root (hd0,0) kernel /boot/kernel-2.6.16-ck9 root=/dev/hda1
Generalnie różnica polega na tym, że w pierwszej lini podajemy ten sam numer partycji root (hd0,0 co w lini trzeciej(...)16-ck9 root=/dev/hda1. Pamiętaj, że w pierszej lini liczymy od 0 a w trzeciej od 1. W drugiej lini poprzedzamy ścieżkę do jądra po przez /boot ponieważ w takim układzie partycji /boot nie jest partycją tylko katalogiem na partycji /.
To już wszystko, teraz zrestartuj komputer i czekaj aż się uruchomi na nowych ustawieniach.
Moje Gentoo po zmianie z ext3 na JFS uruchamia się o 15 sekund szybciej, nie wspominając o listowaniu /usr/bin/.
Tuesday, 27 June 2006, 9:30 am by gruvby
Dzięki, na pewno się przyda.
Wednesday, 12 July 2006, 9:42 am by SIwy
tego szukałem szczegółowo i bez przesadyzmu ;P thx
Monday, 31 July 2006, 8:11 am by raku
a masz jakieś wsparcie, jeśli chodzi o tą niską wydajność ext3?
Monday, 31 July 2006, 5:05 pm by Wojciech Bednarski
o jakie wsparcie Ci chodzi?
Tuesday, 8 August 2006, 10:35 am by D3LLF
IMO lepszym rozwiązaniem na partycję /boot jest jednak standardowy ext2. Z doświadczenia wiem, że journaling potrafi czasem troszkę napsuć (jeśli mamy korzystać z minidystrybucji do przywracania systemu, które akurat opcji -j nie wspierają).
/* Zapytacie kto jeszcze używa takich rozwiązań? Ja :) */
Dodatkowo do podanych partycji dodałbym ok 500MB partycję /usr/portage - metapliki portage. Ze względu na ich rozmiar tutaj najlepszym rozwiązaniem powinien być ReiserFS.
Wednesday, 18 October 2006, 12:13 am by Zbigniew Stańczyk
Witam.Przeczytałem ten artykuł i nie bardzo rozumiem dlaczego np.w Mandrive 2007 muszę robić takie potężne partycje.Od kilku lat mam zainstalowanego Linuksa na dysku 10 GB (500M SWAP pozostała reszta to (/)ReiseFS.
I system pracuje OK.
Mam prośbę o podanie przykładowego podziału na partycję dysku 20GB
Serdecznie Dziękuję
Z.Stańczyk
mailto:z.stanczyk@chello.pl
Tuesday, 26 December 2006, 1:45 pm by Kurk
Fajnie jakbyś opublikował to na eioba.com, tak żeby więcej osób to zobaczyło, bo artykuł ciekawy.
Sunday, 18 March 2007, 3:35 am by maniek
IMHO w przypadku zastosowań desktop taki podział na partycje jest tylko i wyłącznie marnotrastwem przestrzeni dyskowej. Poza tym wartosć 4.8 GB to zdecydowanie za mało jak na var (biorąc pod uwagę że OOo potrzebuje do kompilacji co najmniej 5GB wolnej przestrzeni a prawie wszyscy używają również ccache który defaultowo rezerwuje 2GB) a 9,6GB na temp to stanowczo za dużo