# System plikow, wydajnosc/stabilnosc, podzial dysku

## gentoousr

Witam, mam do zagospod. 400gb wstepnie chce podzielic na partycja glowna /, /boot, /home, /usr, partycja na 'media' zastanawiam sie nad /var (kompilacja, ale to zalezy od systemu plikow na jakis wkoncu sie zdecyduje i ewentualnych korzysci wydajnosciowych) oraz czy /tmp wczesniej mialem podzial ext2 /boot, reszta ext3 (osobnej partycji na /var nie mialem)  

moje (bardzo) wstepne ustalenia:  (zalezy mi w 60% na stabilnosci / 40% wydajnosci )

/boot 100mb - XFS

/home 5gb - ReiserFS - glownie niewielkie pliki, 

/mnt/med ~300gb - XFS

/usr 40gb - XFS/ext4

/ ~60gb - XFS/ext4 -- tutaj duzy margines zmian,  zalezy czy zdec. sie na /var i/lub /tmp

Prosze o ciekawe i rzeczowie opinie/poprawki  :Smile:  z gory thx   :Wink: 

----------

## Garrappachc

Ja bym stawiał na boocie zwykłe ext2/3, na / - reiserfs (ostatnio zmieniłem na rf z jfs i człowieeeeeku - /usr/bin w 2,5 sekundy to naprawdę niezły wynik ^^ ), na /var - coś, co się mało defragmentuje (nie wiem, który byłby najlepszy, chyba też reiser), a na /home postawiłbym xfs/jfs (osobiście mam jfs i sentyment do tego systemu plików - xfs się rozsypie, a jfs jeżeli już, to szybciutko naprawisz). Mogę się mylić, bo na tym forum są dużo starsi stażem bywalcy, ale tak od serca - to tak o.

Pozdrawiam ^^

----------

## SlashBeast

Nie przesadzaj z tym podzialem partycji i boot daj jako pierwsza partycje, nie za rootfs. Ja bym dal boot i druga partycje w lvmie. A tam juz mozesz swobodnie bawic sie partycjami. Xfsa Ci odradzam. Ext4 lub reiserfs z notail.

Boot na xfs? No to juz masakra, nie sadze, by z tych 100M Ci wiecej jak 50 zostalo po zrobieniu tam xfsa. ext2 na boot jest idealny.

Ja bym nie wydzielal usr z rootfsa. Ew. w lvmie dal bym reiserfs na /var/tmp i /tmp (preferuje symlink jeden-do-drugiego). Reszta ext4, poza bootem, ext2.

Aktualnie, na laptopie mam:

sda1, 100M, ext2, /boot

sda2, >230G, dmcrypt, /dev/mapper/dmcrypt_root a na tym zrobiony lvm 

- vg-rootfs 15G, ext4

- vg-swap 4G

- vg-home, reszta, ext4

----------

## Garrappachc

Czemu ext4? Nie reiserfs lepszy pod bilbioteki?

----------

## SlashBeast

Moim zdaniem resierfs juz przezyl swoje lata swietnosci. Jako wieloletni fanboy reiserfsa moge powiedziec, ze jest on najbardziej odpornym systemem plikow na pady zasilania, wydajny dosc, montowany z notail nie zwalnia jakos zauwazalnie z czasem jego uzywania, dynamicznie przydziela inody - ma wiele plusow, ale w moim przekonaniu NIE jest tak wydajny jak ext4, gdzie jak czegos szukam, czy robie du -sh katalog/ wynik dostaje po kilku sekundach, przy reiserfs czekam kilka minut, git diff pod reiserfsem na wiekszych zrodlach trwa wieki, ext4 robi to szybciej. ext4 wydaje mi sie lepiej radzic z duzymi plikami.

Xfs i reiser4 po prostu... nie.

----------

## gentoousr

co do ext4,widoczny dosc powazny spadek wydajnosci :/ http://www.phoronix.com/scan.php?page=article&item=ext4_then_now&num=2

----------

## Raku

 *gentoousr wrote:*   

> co do ext4,widoczny dosc powazny spadek wydajnosci :/ http://www.phoronix.com/scan.php?page=article&item=ext4_then_now&num=2

 

moje systemy plików tego testu chyba nie widziały, bo nie tak dawno temu przerzucałem jakieś dane i leciało ładnie ~60MB/s.

----------

## SlashBeast

Same here.

```
ragnarok ~ # time dd if=/dev/zero of=test bs=1M count=1024 

1024+0 przeczytanych recordów

1024+0 zapisanych recordów

skopiowane 1073741824 bajty (1,1 GB), 11,9808 s, 89,6 MB/s

dd if=/dev/zero of=test bs=1M count=1024  0,53s user 2,25s system 23% cpu 12,042 total

```

I to zapis na _szyfrowana_ partycje.  (jak w sumie wszystkie, poza /boot).

----------

## gentoousr

kernel >= 2.6.31 ?

----------

## Raku

 *gentoousr wrote:*   

> kernel >= 2.6.31 ?

 

```
raku@rotorblade:~ $ uname -a

Linux rotorblade 2.6.32-ARCH #1 SMP PREEMPT Tue Feb 23 19:43:46 CET 2010 x86_64 Pentium(R) Dual-Core CPU E5300 @ 2.60GHz GenuineIntel GNU/Linux

raku@rotorblade:~ $ pacman -Qs kernel26

local/kernel26 2.6.32.9-1 [99,84 MB] (base)

```

----------

## BeteNoire

Mam /boot na ext2 partycję 16MB i spokojnie starcza na 3-4 kernele. Nie ma potrzeby stosować innego systemu plików niż ext2.

/ bym nie rozbijał na poszczególne partycje, bo po co? Widać, że serwera nie budujesz. Na laptopie 5 GB wystarcza, ale 10 GB na pewno nie będzie przesadą, biorąc pod uwagę katalogi distfiles i kompilacji.

/home oczywiście wydziel, bo tam są pliki użytkownika, te 5 GB spokojnie wystarczy.

Reiserfs na tych partycjach znakomicie sprawdza się od kilku lat, ale SlashBeast ma rację, że jest już nieco leciwy i warto postawić na coś nowszego. Najlepiej przed instalacją zrób własne testy.

Jeśli masz zapasowy dysk i aktualny backup to re-format i odtworzenie Gentoo na nowy system plików nie powinno stanowić problemu.

Btw. ile masz ramu? Jeśli conajmniej 2 GB to zamontuj sobie PORTAGE_TMPDIR oraz /tmp jako tmpfs.

----------

## gentoousr

ogolnie to tak dual-core E5200 2,5ghz @ 3,5ghz

4gb ramu

 mam zamiar zrobic tmpfs wlasnie,...i   najlepiej jak sam zrobie testy fs'ow

 ale wydzielic /var uwazam za dobry pomysl jesli uzylbym na tej partycji fs'a ktory zuywa jak najmniejszy czas procesora, jednak tutaj sa przeprowadzane kompilacje i chcialbym zaoszczedzic jak najwiecej czasu, z testow ktore znalazlem wynika ze JFS zuzywa najmniej zasobow....

jesli mam tyle ramu, swap w ogole jest potrzebny? serwera nie planuje ale tez szczerze mowiac zasobami dyskowymi zbytnio sie nie przejmuje, jak zrobie tmpfs to ile dac na swapa ewentualnie?

----------

## Raku

 *gentoousr wrote:*   

> 
> 
>  ale wydzielic /var uwazam za dobry pomysl jesli uzylbym na tej partycji fs'a ktory zuywa jak najmniejszy czas procesora, jednak tutaj sa przeprowadzane kompilacje i chcialbym zaoszczedzic jak najwiecej czasu, z testow ktore znalazlem wynika ze JFS zuzywa najmniej zasobow....
> 
> 

 

a robiłeś testy, ile czasu zaoszczędzisz dzięki temu na kompilacji?

W skali roku - zwróci się czas poświęcony na wydzielanie /var i zakładanie systemu plików?   :Laughing: 

----------

## BeteNoire

PORTAGE_TMPDIR możesz ustawić na dowolną partycję, w tym też na pamięć ram - i nie musisz na to wydzielać /var, bo nie ma takiej potrzeby. Nawet jeśli zrobisz ten /var na jakimś oddzielnym dyskowym fs, to i tak różnica wydajności będzie znikoma i zgubi się w codzienności.

```
grep tmpfs /etc/fstab 

tmpfs           /tmp            tmpfs           noexec,nodev,nosuid,noexec,size=512m,mode=1777  0 0

tmpfs           /var/tmp/portage        tmpfs           exec,nosuid,nodev,size=2048m                    0 0
```

----------

## gentoousr

no dobrze, to majac 4gb ramu ile mozna przydzielic na tmpfs? i jak w tym momenciem ze swapem wyglada sytuacja czy przydzielic troszke wiecej?

----------

## SlashBeast

Zagoogluj zanim zadasz pytanie. Tmpfs mzoe byc wielkosci ram+swap. Mi nigdy nie odpowiadal na portage_tmpdir, roznice byly praktycznie nie zauwazalne, moze przy openoffice bylo by cos widac ale nie ma opcji by go zbudowac na tmpfs wiec... ja z niego zrezygnowalem. 

Jak tak chcesz tmpfs, to zrob jak ja. Wywal /var/tmp, zlinkuje /tmp do /var/tmp, 512M tmpfs zamontuj na /tmp a portage_tmpdir daj na /root/tmp (u mnie kazdy user ma wlasny $TMP).

Co do fsow z niewielkim uzyciem procesora - nie te czasy, by to jakies plusy mialo (Ale w granicach rozsadku, nie mowie tutaj, ze nie ma znaczenia czy uzyjemy ext4 czy zfs po fuse...), jfs nawet jak dasz na /var to jestem pewien, ze bedzie wolniej a nie szybciej, wzgledem ext4.

----------

## BeteNoire

 *SlashBeast wrote:*   

> Tmpfs mzoe byc wielkosci ram+swap. Mi nigdy nie odpowiadal na portage_tmpdir, roznice byly praktycznie nie zauwazalne

 

Masz dyski tak szybkie jak ram?

----------

## gentoousr

 *SlashBeast wrote:*   

> Tmpfs mzoe byc wielkosci ram+swap .

 

czyli dobra tmpfs /var/tmp np. 2gb jesli zostanie przekroczony ten rozmiar uzywany jest swap, ale w 1 kolejnosci ram zgadza sie?

2gb na /var/tmp to dosc malo, potrzebuje w takim wypadku dosc sporo swapa, sama kompilacja oo to ponad 5gb chyba... 

wiec 4gb swapa to dobre rozw.?

----------

## SlashBeast

 *BeteNoire wrote:*   

>  *SlashBeast wrote:*   Tmpfs mzoe byc wielkosci ram+swap. Mi nigdy nie odpowiadal na portage_tmpdir, roznice byly praktycznie nie zauwazalne 
> 
> Masz dyski tak szybkie jak ram?

 

Oczywiscie, ze nie, ale zobacz sobie dstat czy iotop podczas kompilacji, jakie masz uzycie dysku twardego, wiekszosc i tak jest juz w ramie jako buffery i cache. Zrob kilka testow, ja przy kdelibs:3 mialem roznice 20 sekundowa przy tmpfs vs. normlany dysk.

----------

## gentoousr

moglby ktos sie odniesc do mojego ostatniego post'a czy dobrze rozumiem...  :Question: 

----------

## SlashBeast

Mogl bys przeczytac tmpfs.txt z Documentation, ktory jest w katalogu kernela? Jak dasz 2G w tmpfsie to przeciez wiecej tam nie zapiszesz, jak masz 4G ramu i 4G swapa to mzoesz dac teoretycznie te 8G tmpfs.

----------

## BeteNoire

 *SlashBeast wrote:*   

>  *BeteNoire wrote:*    *SlashBeast wrote:*   Tmpfs mzoe byc wielkosci ram+swap. Mi nigdy nie odpowiadal na portage_tmpdir, roznice byly praktycznie nie zauwazalne 
> 
> Masz dyski tak szybkie jak ram? 
> 
> Oczywiscie, ze nie, ale zobacz sobie dstat czy iotop podczas kompilacji, jakie masz uzycie dysku twardego, wiekszosc i tak jest juz w ramie jako buffery i cache. Zrob kilka testow, ja przy kdelibs:3 mialem roznice 20 sekundowa przy tmpfs vs. normlany dysk.

 

Ja wiem czy większość jest w ramie? Pliki tymczasowe kompilacji - afair - zapisują się na dysku. Sam proces rozpakowywania takich np.: źródel kernela trwa zauważalnie krócej z dysku do pamięci niż z dysku na dysk.

Mi tam wystarczał genlop -t <paczka>  :Wink:  a różnica była znaczna. Fakt, że dawno to testowałem i nie pamiętam dokładnych wyników. Może pokuszę się o jakieś testy w najbliższym czasie.

Nie wykluczaj jednak wpływu innych czynników typu szybkość zapisu i odczytu do pamięci czy zwykła moc procesora. System systemowi nierówny.

Gentoousr, nie kompiluj OOo. Chyba, że masz zimno w pokoju i za mało płacisz za prąd. Weź pod uwagę, że pewnie system będzie Ci proponował rekompilację gdy znajdą jakiś błąd nadający się do *-r1 albo po prostu zmienią jakąś flagę. Serio - nie opłaca się rekompilować tego przez kilkanaście godzin co kilkanaście dni. No chyba, że chcesz po prostu stracić dziewictwo w kompilacji tej kobyły to proszę bardzo   :Twisted Evil: .

2 GB na PORTAGE_TMPDIR w zupełności mi wystarcza, chociaż np.: reinstalacja Nexuiz wymaga więcej i mi się wysypuje z "no space left on device". Wszystkie inne pakiety systemowe czy użytkowe się kompilują w 2 GB.

Co do swapa: używasz hibernacji do swap? Jeśli tak to zrób swap wielkości ram, tak na wszelki wypadek, choć tuxonice obsługuje kompresję. Możesz też hibernować do pliku i tu masz większą elastyczność w ustalaniu jego rozmiaru. Ja na Twoim miejscu zrobiłbym 1 GB swap (choć to i tak pewnie dużo za dużo).

----------

## gentoousr

dobra zrobie tak:

/boot 100mb ext2

reszta z lvm (bede mial pole manewru)

      / - ext4/reiser (zrobie testy) 30-40gb

      /home - ext4  <ile zostanie>gb

     /swap ok. 2gb , 

tmpfs 2gb

i z lvm bedzie najrozsadniej znajac mnie to bede zmienial mnostwo razy:D albo pod /home reiserfs i wydzielic z home multimedia z  ext4 byloby wydajniej i troche bardziej gospodarniej.. reszta bez zmian; z XFS rezygnuje jednak nie chce niczego testowac czy mi padnie czy nie chce stabilnego fs'a a za duzo zlego sie naczytalem o tym fs'ie

----------

## SlashBeast

@BeteNoire chodzi mi generalnie o 'buffers'. Jak cos czytasz, masz to w ramie, zauwaz, ze jak raz sprawdzasz czas odczytu 'czegos', np. dd if=plik of=/dev/null to bedzie iles-tam-MBps, jak znowu to zrobisz, zaraz po tym, masz kosmicznie wysoki ten transfer, dlaczego? Bo ma juz ten plik i nie pobiera go tak naprawde, w calosci, z dysku. Nie bede sie rozwodzil tutaj nad linux memory management bo sam sie w to nie bardzo zaglebialem. Jak rozpakujesz zrodla, to zakladam, ze jakos wiekszymi kawalkami one juz tkwia w bufferach wiec mozna powiedziec, ze w ramie - do czasu zrzucenia ich gdy cos bedzie potrzebne.

----------

## newfuntek

Może z kernelem zen-sources >=2.6.33-rc7 potestujesz btrfs z opcją compress, zaoszczędzisz dużo miejsca, ewentualnie bez tej opcji. W btrfs mam partycję root i działa bez problemów na laptopie, do dysków ssd w sam raz tak sądze. Nie nadaje się na partycję dla postgresql-a, poza tym następca reiser4 z normalnymi pluginami.

----------

## ufoman

 *BeteNoire wrote:*   

> Gentoousr, nie kompiluj OOo. Chyba, że masz zimno w pokoju i za mało płacisz za prąd. Weź pod uwagę, że pewnie system będzie Ci proponował rekompilację gdy znajdą jakiś błąd nadający się do *-r1 albo po prostu zmienią jakąś flagę. Serio - nie opłaca się rekompilować tego przez kilkanaście godzin co kilkanaście dni. No chyba, że chcesz po prostu stracić dziewictwo w kompilacji tej kobyły to proszę bardzo  .
> 
> 

 

Kilkanaście godzin? Mój procek do demonów wydajności nie należy, a OOo 3.2 niewiele ponad 90 minut mu zajmuje...

----------

## Garrappachc

Co sądzicie o btrfs? Nadaje się na /home?

----------

## ArnVaker

Miałem na nim / wraz z /home przez jakiś tydzień. Działał całkiem fajnie, system zamiast ~4.6GB ważył ~2.7, wydajność też bez zarzutu. I tak było do czasu, aż nie postanowiłem zaktualizować systemu -- po aktualizacji czas bootowania systemu wydłużył się o kilkanaście sekund... Potem zacząłem się bawić, puściłem emerge -e world -- wywalił się w okolicach 100+ ebuilda, emerge na ten ebuild -- przeszedł bez problemu. No to jeszcze raz emerge -e world -- znowu się wywalił, tym razem na innym ebuildzie, emerge wywołany bezpośrednio na ten ebuild znowu przeszedł. Potem zapuściłem OOo, skompilował się bez problemu i jeszcze raz emerge -e world, tym razem o dziwo się nie wywalił ;) Ostatnie co zrobiłem, to zapuszczenie defragmentacji, co skróciło boot systemu o kilka sekund, ale nadal było to 10s dłużej niż pierwotnie.

Nie mam pojęcia czemu system na btrfs zachowywał się tak dziwnie, przekopałem się przez wątek na forum, ale nic podobnego nie znalazłem. Ostatecznie dałem sobie spokój, bo szkoda mi było czasu na dalszą zabawę wciąż nieskończonym system plików, przerzuciłem system z powrotem na reiserfs i tak póki co zostanie. Kolejne podejście do btrfs zrobię pewnie dopiero gdy zostanie wydany jako stabilny, czyli w bliżej nieokreślonej przyszłości :D

----------

## one_and_only

ArnVaker, to ostatnie podejście to z jaką wersją btrfs (kernela) było?

----------

## nUmer_inaczej

Ja dodam, iż od około roku korzystam z systemu plików jfs i sobie chwalę. 

System szybki, w przypadku twardego resetu odpalam tylko jfs_fsck i wszystko działa jak należy.

Oczywiście jest to moja subiektywna ocena.

Co do podziału dysku - ja przy minimalnym Gentoo z fluxboxem na pokładzie mam poniższy podział:

System plików         rozm. użyte dost. %uż. zamont. na

/dev/sda6              62M  5,5M   57M   9% /boot

/dev/sda7             6,0G  4,4G  1,7G  73% /

/dev/sda8             3,0G  1,5G  1,6G  49% /usr/portage

/dev/sda9             6,0G  302M  5,7G   5% /var

/dev/sda10             10G  2,2G  7,9G  22% /home

/dev/sda14            100G   73G   28G  73% /as_media → filmy, muzyka, archiwum

----------

## ArnVaker

@one_and_only

kernel 2.6.32-zen7, btrfsprogs 0.19 z portage, fs montowany standardowo + kompresja

```
/dev/root on / type btrfs (rw,relatime,compress,noacl)
```

----------

## Garrappachc

Ja mam na /home jfs, na roocie mam ext4. Kiedyś też miałem jfs na roocie, ale z ext4 system jest zdecydowanie szybszy. Zedycowanie.

----------

## gentoousr

Uzywa ktos ZFS (fuse)? Jak z wydajnoscia/stabilnoscia?

----------

