Výber systému souborů

Poslední měsíc jsem se docela intensivně věnoval nastavení disků, rozdělení oddílů a výběru správného FS. Tady jsou moje poznámky. Snad někomu pomohou nalézt FS přesně podle jeho potřeb.

Mám tyto disky:

/dev/hda:

 Model=WDC WD2000JB-00GVA0, FwRev=08.02D08, SerialNo=WD-WCAL81446368
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=74
 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16
 CurCHS=65535/1/63, CurSects=4128705, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
 AdvancedPM=no WriteCache=enabled

 Timing cached reads:   1216 MB in  2.00 seconds = 607.96 MB/sec
 Timing buffered disk reads:  164 MB in  3.03 seconds =  54.09 MB/sec

/dev/hdb:

 Model=ST3160023A, FwRev=8.01, SerialNo=3JS3WBXS
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16
 CurCHS=65535/1/63, CurSects=4128705, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
 AdvancedPM=no WriteCache=enabled

 Timing cached reads:   1368 MB in  2.00 seconds = 683.96 MB/sec
 Timing buffered disk reads:  164 MB in  3.04 seconds =  57.02 MB/sec

Zkrátka: 200GB WesternDigital, 160GB Seagate. Oba 8MB cache a ATA133. Rychlosti uvádím pro další srovnání.

Na disku hda mám WindowsXP a Fedora Core 4. Původní rozdělení vypadalo nějak takto:

hda1  NTFS   38GB
hda2  EXT3   36GB /
hda3  free    4GB
hda4  JFS   114GB sklad

Vzhledem k tomu, že Windows používám minimálně, tak jsem zmenšil oddíl na 10GB (ten NTFS je něco přes tři roky starý a byl několikrát kopírován na jiné fyzické disky, zmenšení v PQMagic bez problémů) a zbytek disku přerozdělil takto:

hda1  NTFS   10GB
hda2  EXT2  512MB  /boot
hda5  EXT3    2GB  /
hda6  EXT3    8GB  /usr
hda7  EXT3    4GB  /var
hda8  EXT3   30GB  /home
hda9  JFS   137GB  sklad

Toto rozdělení mi +/- poradil človek, který je šefredaktorem časopisu o linuxu a dlouholetým uživatelem Gentoo. Říkal, že je lepší rozdělit disk na jednoúčelové partišny a doporučoval mi ext3. Výhody tohoto rozdělení: samostatný boot (toho využívám i teď), lze libovolně měnit FS (není takový problém zazálohovat 8GB partičnu), lepší možnosti zálohování. Nevýhody: plýtvání místem a velké problémy při seeku (toto se ukázalo být tak velkým problémem, že jsem si disk nakonec rozdělil jinak, viz dále).

Pár poznámek:
Mám asi 300 000 souborů s maily (maildir). Tyto soubory se z ext3 (vytvořil jsem si speciální 2GB partišnu JEN pro emaily), čtou rychlostí 600kB/s. Mám 1GB paměti a tedy není problém třeba 40% té partisny mít v diskové cache. Tohle opravdu nechápu. Disk neustále seekoval a na PC se prakticky nedalo pracovat.

Další problém nastal s JFS. Soused má malý disk a má u mě share (přes 100mbps síť). Kopírovat asi 50GB na ten čertvě vytvoření oddíl s JFS a jelo to tak 3MB/s. Říkal jsem si, fajn soused má moc fragmentovaný disk. Hmm. On ne. Já. Když jsem ty jeho data pak kopíroval na hdb, tak to jelo v podstatě max 5MB/s a opět bylo slyšet kmitající hlavičky.

Poslední a finální rozdělení vypadá takto:

hda1  NTFS  10GB
hda2  ext2 512MB  /boot
hda5  ext3   9GB  /
hda6  XFS  167GB  /home

hdb1  XFS  146GB sklad

Copy z hda na hdb kolem 35MB/s (srovnej s JFS…). Na /home mám 300 000 mailů, squid cache, dva weby, pár DVD ISO a 20GB soubor(y). Je to rychlé, seek disku prakticky není slyšet.

Výsledkem tohoto testu je, že nejlepším FS je pro mě XFS. Dost lidí tu psalo, že se jim ztratila data při výpadku napájení atp. Mě se nic takového nikdy nestalo (na hdb používám XFS od začátku). Dále jsem slyšel, že XFS nemá rád mnoho souborů. Squid cache a maily jsou daleko rychlejší než při použití ext3 a dokonce i reiserfs (což mě dost překvapilo).

Na LVM se vrhnu, až budu mít pořádný RAID řadič. Vytvořit 300GB oddíl přes dva obyčejné ATA disky opravdu nechci. Na jednom kanálu to mám z důvodu nemožnosti jiného uspořádání v case (během 14 dnů si koupím nový).

Abych to celé srhnul: Překvapilo mě jak disk seekoval na ext3; vysoká fragmentace na čistém JFS; pomalá práce se statisíci soubory u ext3 reiserfs.

Stroj: Athlon XP 2400+, 1GB 333DDR, VIA KT400.

Nastavení ext3: dir_index, writeback, noatime, commit=60. Ostatní FS default + noatime.

Příspěvek byl publikován v rubrice Fedora, Hardware, Linux, Systémy souborů. Můžete si uložit jeho odkaz mezi své oblíbené záložky.